应用层钩子,对于懂编程的人来说应该都了解。他用HOOK API的方式使程序无法正常调用该API! 如果我们一定要用这个API来达到我们的目的呢?只能恢复此 API HOOK! 下面我们开始教程: 准备工具 : XT(网络自行下载),为了方便测试 我自己写了一个 HOOK LoadLibaryExW的小程序 1.打开测试程序,打开XT,点击XT的应用层钩子---选择进程钩子---点击测试程序进程名--右键---检测 2.点击 API钩子---右键---恢复。即可恢复此钩子,使API能正常调用! 我们虽然恢复了,但是利用工具来恢复终究不是王道,怎么用编程写出来呢? 1.首先我们来获取API的头部内存地址(类似CE查找API,我以前的教程有介绍): 我们用这两个API来获取地址:
2.我们获取内存地址(也就是dizhi)然后用 WriteProcessMemory 这个API 来写入数值:88 FF 55 8B EC(XT获取的挂钩处原始值) 代码如下:
这样我们就用代码恢复了API HOOK 是不是很简单呢? |
|