原文:https://www.pediy.com/kssd/pediy11/125264.html
本文使用注入DLL设置硬件断点以及模拟执行指令的方式来记录API调用。流程如下:
1,将EXE自身复制一份,修改入口点和DLL标志,变成xixihaha.dll。
2,将xixihaha.dll注入目标进程。
3,DLL会挂钩以下5个函数:
VOID HookLdrLoadDll(); //分析新载入模块的导出表 VOID HookCsrNewThread(); //对新创建的线程下硬件断点 VOID HookKiUserExceptionDispatcher(VOID); //处理异常 VOID HookZwGetContextThread(); //防止硬件断点检测1 VOID HookZwSetContextThread(); //防止清除硬件断点