第32章:计算器显示中文数字-修改IAT(略)

需要明确自己要修改的功能对应的API函数,这个需要经验积累.

IAT钩取通过修改IAT中保存的API地址来钩取某个API.

大致流程如下:

1. 通过InjectDll 将自己写的DLL文件注入目标进程.

2. 在自己写的Dll Main函数中获取本进程中的 SetWindowTextW 的函数地址,再调用 hook_iat 函数.

3. hook_iat 首先找到目标进程的IDT,通过比较,使用IID结构体的Name字段找到对应的DLL.

4. 从对应的DLL中找到IAT地址,依次遍历IAT,从中找到 SetWindowTextW 的函数地址,修改内存节区属性为可读写后,修改其地址为自己的DLL中的函数地址.

注意:自己DLL中函数的参数类型和个数需要和Hook的函数一样.同样需要自己理解传入的参数是怎么样的,是如何使用这个参数的.

此实验中,将缓冲区地址修改后再调用原来的函数.

原文地址:https://www.cnblogs.com/Rev-omi/p/13423324.html