Hook 技术
实验须知
1实验说明
Hook 是在指令的关键位置插入特定代码,以干预程序原有的执行流程,实现拦截目标进程运行过程的关键信息改变目标进程原本执行流程等目的。
2实验目的
本实验使用 Inline Hook 技术,挂钩 TraceMe.exe百度网盘地址(提取码1111)中计算序列号的代码,获取正确的序列号,加深对 Hook 技术的理解。
3实验原理
Hook
-
Hook∶中文译作"挂钩"或"钩子",在指令执行的关键位置插入特定代码,以干预程序原有的执行流程,实现拦截目标进程运行过程的关键信息、改变目标进程原本执行流程等目的
-
从流程上看,原本直接调用函数的过程被修改后,“绕个弯”、经过插入的代码(函数)后,才到达真正的目标函数处,因此该过程也被称为"Detour";插入的函数通常和目标函数有相同的原型,称之为Detour函数
-
根据Hook所修改内容,将其分为Address Hook、Inline Hook(内联钩子)、Message Hook。直接嵌入jmp指令来改变流程的,称为Inline Hook