-
-
[求助]关于inline hook 的平栈问题
-
发表于:
2011-7-12 11:52
4905
-
大家好,
我是一名inline hook的初学者,有个问题请教:
比如说,我先hook了KeStackAttachProcess,
代理函数为:
__declspec (naked)
VOID
Proxy_KeStackAttachProcess(
PKPROCESS pKProcess,
PVOID APCState
)
{
{
__asm { // 共字节
_emit 0x90
_emit 0x90
_emit 0x90
_emit 0x90
_emit 0x90 // 前字节实现原函数的头字节功能
_emit 0x90 // 这个填充jmp
_emit 0x90
_emit 0x90
_emit 0x90
_emit 0x90 // 这字节保存原函数+5处的地址
_emit 0x90
_emit 0x90 // 因为是长转移,所以必须是0x0080
}
}
而我处理的函数是:
__declspec (naked)
VOID
fake_KeStackAttachProcess (
PKPROCESS pKProcess,
PVOID APCState
)
{
__asm{ pushad
pushfd
}
//做了我自己的处理
......
__asm{ popfd
popad
}
Proxy_KeStackAttachProcess(pKProcess,APCState);
}
这样处理对吗?
假设:
内联钩子的处理都已经处理完毕了。
请大侠不吝赐教!
[课程]FART 脱壳王!加量不加价!FART作者讲授!