Inline Hook
jmp 到没用的地方
pushad,pushfd,
做自己的事
popfd,popad.
加上被覆盖的代码
jmp 到被覆盖代码的下一行
注意点
位置的选择:
<1> JMP/CALL指令至少占用5个字节
<2> 绕开全局变量,因为全局变量的硬编码会随着指令变
<3> 根据业务来决定在哪里HOOK:过滤参数?修改返回结果?
inline hook本质是改硬编码,改成
E9 +Code
Code = 要跳转的地址 - 补丁地址 - 5
比如从4183D7调到418221code就是285,采用小端存储就是
85 02 00 00