-
-
[求助]hook sysenter
-
发表于:
2009-3-30 15:45
4202
-
借用大牛的源代码hook sysenter,能成功在虚机和真正的机器里都能成功.
我想绕过SSDT的hook,在中间加了几句代码后,在虚机了能成功,在真正的机器里面就不能,请大牛指点一二.
下面是部分的关键代码部分:
ULONG i;
__declspec(naked) void MyKiFastCallEntry(void)
{
__asm{
pop edi //因为用到了edi来跳转 这里恢复
mov i, eax //得到服务ID
}
__asm{
pushad
push fs
push 0x30
pop fs
}
// DbgPrint("sysenter was hooked! Get service ID:%X",i); //证明自己存在
__asm{
pop fs
popad
// mov eax,i 这句加上就不行,不加就 OK
jmp pMovedSysenterCode //第二跳,跳转到原来的函数头代码
}
}
注:mov eax,i 这句我想把拦截的服务号,处理后重新放回去.
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)