cnthigu/iat-hook-cpp
GitHub: cnthigu/iat-hook-cpp
一个手动修补导入地址表来拦截 Win32 API 的 C++ 教程项目,不依赖任何第三方库。
Stars: 1 | Forks: 0
# Windows IAT Hooking
通过修补导入地址表来拦截 Win32 API 调用
## 工作原理是什么?
本项目演示了 IAT(导入地址表)钩子,通过拦截从 `USER32.dll` 对 `MessageBoxW` 的调用来实现。该 DLL 将目标可执行文件 IAT 中的函数指针替换为自定义处理程序,将所有调用重定向到我们的代码。
该项目还包含了 `GetModuleHandle`(通过 PEB 遍历)和 `GetProcAddress`(通过导出目录解析)的手动重新实现,完全基于 Windows SDK 从零构建,无需 Detours 或 MinHook。
## 演示

有关 PE 格式和 IAT 钩子更详细的技术分析与学习笔记,请查看我的个人学习博客:
[理解 PE 结构 — 第一部分](https://cnthigu.github.io/estrutura-pe-parte1/)
注意:这是我的个人学习博客,包含技术笔记。如果对你的学习有帮助,请随意使用!
标签:API拦截, C++, IAT Hooking, MessageBoxW拦截, PEB, PE格式, Win32 API, Windows, Windows SDK, Windows系统编程, 云资产清单, 函数钩子, 安全技术, 导入地址表钩子, 手工实现, 数据擦除, 无依赖, 进程遍历, 逆向工程