-
-
[求助]inline hook遇到的一个问题Access violation
-
发表于:
2009-11-13 02:05
4228
-
[求助]inline hook遇到的一个问题Access violation
inline hook遇到的一个问题Access violation
我把函数的前几个字节保存到一个static类实例的成员变量里面,作为蹦床
确保了它是完整的指令不会有截断问题
现在问题是我进去hook之后,再跳到蹦床代码上面去执行,
提示:
exe 中的 0x0b80a4d8 (hook.dll) 处未处理的异常: 0xC0000005: Access violation
位置正好是蹦床的第一个指令的位置,蹦床内容如下:
---------------------------------------------
0B674BA4 FF D0 call eax ; hook内调用点
.......
--------------------------------------------- ; 以下为保存的原函数几条指令
0B86A4D8 8B FF mov edi,edi
0B86A4DA 55 push ebp
0B86A4DB 8B EC mov ebp,esp
0B86A4DD 51 push ecx
0B86A4DE 51 push ecx
0B86A4DF EA 77 2E A4 71 1B 00 jmp 001B:71A42E77 // 原函数继续运行的偏移位置
错误在第一行 mov edi, edi
寄存器
EAX = 0B80A4D8 EBX = 000005A8 ECX = 0B80A4CC EDX = 06928284 ESI = 047FFD28
EDI = 047FFDF4 EIP = 0B80A4D8 ESP = 047FFD14 EBP = 047FFDF4 EFL = 00000216
怪异之处在于。。今天白天的时候我用的好好的这个hook,晚上突然就不行了 -_-
hook部分代码都没动过。
[课程]Linux pwn 探索篇!