Quantcast
Channel: 看雪安全论坛
Viewing all articles
Browse latest Browse all 9556

调试逆向 【讨论】NtReadVirtualMemory和NtWriteVirtualMemory HOOK之后出现的怪异情况

$
0
0
某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之后,但奇怪的出现了虚拟机中所有程序都启动失败的情况;

打开任何程序都会提示参数不正确的情况

Viewing all articles
Browse latest Browse all 9556

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>