-
-
[求助]关于堕落天才sysenter Hook代码在双核下运行的问题
-
发表于:
2008-12-11 16:19
5751
-
[求助]关于堕落天才sysenter Hook代码在双核下运行的问题
小弟初学驱动编程,在SSDT表后加入了几个自己定义的函数,然后想在sysenter处改变内核函数的索引值使之指向自己定义的函数,sysenter Hook使用的是堕落天才大大的代码,在其中MyKiFastCallEntry中修改eax的值为自己函数的索引值。代码在XP SP2单核机器上运行正常,但是在双核机器上会出现参数表地址被修改的情况,小弟认为可能是双核内核抢占造成的,但是应该怎样处理呢??期望各位达人的指点。
其中MyKiFastCallEntry处理代码如下:
__declspec(naked) void MyKiFastCallEntry(void)
{
__asm{
pop edi
mov SysEnter_OffSet, eax
}
__asm{
pushad
push fs
push 0x30
pop fs
}
if(SysEnter_OffSet == NtClosePos)//NtClosePos为内核函数NtClose的索引值
{
__asm{
pop fs
popad
push New_NtClosePos //New_NtClosePos为自己定义函数索引值
pop eax
pushad
push fs
}
}
__asm{
pop fs
popad
jmp pMovedSysenterCode
}
}
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)