-
-
[讨论]NtReadVirtualMemory和NtWriteVirtualMemory HOOK之后出现的怪异情况
-
发表于:
2013-9-13 10:34
6677
-
[讨论]NtReadVirtualMemory和NtWriteVirtualMemory HOOK之后出现的怪异情况
某P hook的数据:
Read
805aa85a b824ad41b0 mov eax,offset TesSafe+0xfd24 (b041ad24)
805aa85f ffe0 jmp eax
Write
805aa964 b802ae41b0 mov eax,offset TesSafe+0xfe02 (b041ae02)
805aa969 ffe0 jmp eax
这两个读写内存都被HOOK了前面的7个字节
我用SSDT HOOK
跳转到自己函数实现了前面几个字节
#pragma PAGECODE
__declspec (naked) void Nake_ReadNtVirtualMemory()
{
_asm
{
push 0x1C
push 0x804da4e0
jmp uJmpNtReadOldAddr//这里跳转到readAddr+7
}
}
#pragma PAGECODE
__declspec (naked) void Nake_WriteNtVirtualMemory()
{
_asm
{
push 0x1C
push 0x804da4f8
jmp uJmpNtWriteOldAddr//这里跳转到WriteAddr+7
}
}
当实现了HOOK之后,但奇怪的出现了虚拟机中所有程序都启动失败的情况;
打开任何程序都会提示参数不正确的情况
[课程]Android-CTF解题方法汇总!