API Hook基本原理和实现[VC/C++编程]
本文“API Hook基本原理和实现[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
hook是什么?
windows系统下的编程,消息message的传送是贯串其始终的.这个消息我们可以简单理解为一个有特定意义的整数,正如我们看过的老故事片中的“长江长江,我是黄河”一个含义.windows中定义的消息给初学者的印象仿佛是“不可胜数”的,常见的一部份消息在winuser.h头文件中定义.hook与消息有着非常密切的接洽,它的中文含义是“钩子”,这样理解起来我们不可贵出“hook是消息处理中的一个环节,用于监控消息在系统中的传送,并在这些消息到达终究的消息处理历程前,处 理某些特定的消息”.这也是hook分为差别种类的缘由.
hook的这个本领,使它可以将自身的代码“融入”被hook住的程序的进程中,成为目标进程的一个部份.我们也知道,在windows2000今后的系统中,普通用户程序的进程空间都是独立的,程序的运行彼此间都不受干扰.这就使我们但愿通过一个程序改变其他程序的某些行为的设法不能直接实现,但是hook的呈现给我们开辟了办理此类问题的道路.
api hook是什么?
在windows系统下编程,应当会接触到api函数的利用,常用的api函数大约有2000个左右.本日随着控件,stl等高效编程技术的呈现,api的利用概率在普通的用户程序上就变得越来越小了.当诸如控件这些现成的手段不能实现的功效时,我们还需求借助api.最初有些人对某些api函数的功效不太称心,就产生了若何改正这些api,使之更好的服务于程序的设法,这样api hook就自但是然的呈现了.我们可以通过api hook,改变一个系统api的原有功效.基本的办法就是通过hook“接触”到需求改正的api函数进口点,改变它的地址指向新的自定义的函数.api hook并不属于msdn上介绍的13类hook中的任何一种.所以说,api hook并非什么分外差别的hook,它也需求通过基本的hook提高自己的权限,超越差别进程间拜候的限制,到达改正api函数地址的目的.关于自身进程空间下利用到的api函数地址的改正,是不需求用到api hook技术便可以实现的.
以上是“API Hook基本原理和实现[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |