-
-
[原创] vmp3.5.1 win32 runtime.inc 编译替换注意
-
发表于:
2025-11-17 09:16
3313
-
[原创] vmp3.5.1 win32 runtime.inc 编译替换注意
之前问过几次,没什么人解答,后来还是自己抽空研究了一下,win32 runtime编译问题。
有不少人按照教程编译,无论是vs2010 vs2008 ,win32runtime编译,生成Inc文件后,加密出来的vmp程序都无法跑。
我之前也提问过,当时时间太仓促 ,没空研究一下。最近回头又碰到了一次,还是自己抽空看了一下。
实际上确实是编译优化的影响。 (当然按文章修改后,还是用vs2010编译 release 32 。其他的我没试过是否OK)
在loader.cc中 有连续的两个 tNtQueryInformationProcess
即使在vs2010/2008下,由于优化被编译成了
mov eax,fake_func_addr
mov [ebp+xxx] ,eax
....
call [ebp+xxx] 这样的形式。
这部分runtime地址在最后的代码中是需要重新填充真实的地址的。
在intel.cc
IntelFunction::ReadFromBuffer
中 有对这个call 进行替换。
vmp期望遇到
MOV EAX,0XFACE_ID
CALL EAX 这种形式
[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!
最后于 2025-11-17 09:29
被IamHuskar编辑
,原因: