第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的函数一样.同样需要自己理解传入的参数是怎么样的,是如何使用这个参数的.
此实验中,将缓冲区地址修改后再调用原来的函数.