阅读:1513回复:4
神奇的CPU???还是我人品问题__declspec(naked) VOID SsdtHookFunction() /* * 通用hook函数 */ { PUSER_SSDT_HOOK_ITEM userHook; //ULONG params; ULONG orgFunction; __asm { int 3; push ebp; mov ebp, esp; mov eax, [ebp + 8]; //inlinehook原始调用地址[参数1] mov orgFunction, eax; //??????????? xor eax, eax; int 3; mov eax, orgFunction; //??????????? push eax; call GetUserSsdtItem; //查表获取函数调用参数 int 3; mov eax, orgFunction; mov userHook, eax; } 在Windbg跟踪 mov orgFunction, eax; //??????????? xor eax, eax; int 3; mov eax, orgFunction; //??????????? 执行mov orgFunction, eax;后 dd ebp-4 居然和eax不同,晕倒 然后清0 eax,再写回刚才的值,居然不一样了 我郁闷啊?莫非我人品有问题 |
|
沙发#
发布于:2008-08-13 22:47
经多方验证确实表明我人品问题,CPU是没有问题的
在于忘了开辟堆栈空间了 晕 sub esp,0x10 |
|