钩取流程
- 反汇编/调试器理清程序结构和工作原理
- 开发钩子代码, 修改/改进程序功能
- 操作可执行文件和进程内存, 设置钩子
机制
对于Windows OS, 用户程序需要使用资源时, 需向内核申请使用API. 具体则是通过DLL文件一层层向下调用, 最后通过SYSENTER进入内核模式.
示意图(notepad.exe打开一个文件的过程)
API钩取
完全技术图表(摘自ReverseCore29章)
位置分类
- IAT 修改IAT地址为钩取函数地址
- EAT 修改EAT地址为钩取函数地址
- Code 从内存查找API, 直接修改代码
技术分类