上一篇 下一篇 列表

什么是HOOK技术

观点咨询 DATE:2015-04-13

什么是HOOK技术


问题描述:谢谢,详细点


答:

  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技术是一种用于改变API执行结果的技术,Microsoft 自身也在Windows操作系统里面使用了这个技术,如Windows兼容模式等。 API HOOK 技术并不是计算机病毒专有技术,但是计算机病毒经常使用这个技术来达到隐藏自己的目的。


对于自身进程空间下使用到的api函数地址的修改,使它能够将自身的代码“融入”被hook住的程序的进程中,用于监控消息在系统中的传递,跨越不同进程间访问的限制,达到修改api函数地址的目的。最初有些人对某些api函数的功能不太满意,就产生了如何修改这些api,使之更好的服务于程序的想法,这样api hook就自然而然的出现了。我们可以通过api hook,成为目标进程的一个部分,api hook并不是什么特别不同的hook,它也需要通过基本的hook提高自己的权限,但是hook的出现给我们开拓了解决此类问题的道路。

api hook是什么?

在windows系统下编程,应该会接触到api函数的使用。所以说,程序的运行彼此间都不受干扰://tech.ddvip.com/2008-01/119991954140197.html" target="_blank">http。api hook并不属于msdn上介绍的13类hook中的任何一种。这就使我们希望通过一个程序改变其他程序的某些行为的想法不能直接实现。windows中定义的消息给初学者的印象似乎是“不计其数”的,常见的一部分消息在winuser。当诸如控件这些现成的手段不能实现的功能时,我们还需要借助api。

hook的这个本领。我们也知道,api的使用概率在普通的用户程序上就变得越来越小了,stl等高效编程技术的出现,是不需要用到api hook技术就可以实现的

windows系统下的编程,消息message的传递是贯穿其始终的。这个消息我们可以简单理解为一个有特定意义的整数,正如我们看过的老故事片中的“长江长江

其他答案:


返回
相关阅读