论坛首页 逆向工程技术区 阅读主题

[求助]泄露的VMP源码中runtime如果重新编译并嵌入vmp主程序?

132 浏览 23 回复
#1 楼主 2026-06-01 21:09:00
总算有人摸到关键点了。我只试验了32位的运行时库版本,用自己编译的win_runtime32.dll用core目录下的runtime.vmp生成对应的win_runtime32_dll.inc后编译VMPROTECT后对软件加壳会遇到一些问题。我这边遇到的最大问题是
一些类的函数体代码不超过5字节,导致进行保护时提示函数长度不够(用VS2015编译,原编译环境是VS2008,不知道是不是这个差别),跳过运行时库函数体代码不超过5字节的就可以编译通过,且运行
正常。

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-279937.htm
#17 2026-06-01 21:09:00
感觉这事不简单?
#18 2026-06-01 21:09:00
coolspace


用自带的unit-tests测试了下,替换成自己编译的win_runtimexx.dll.inc后,对应的SEH的测试会出问题。用回自带的inc文件就没事。所以看来还是有啥事。目前还没找到具体的原因。 ...

解决了大佬记得更新一下方案
#19 2026-06-01 21:09:00
coolspace

用自带的unit-tests测试了下,替换成自己编译的win_runtimexx.dll.inc后,对应的SEH的测试会出问题。用回自带的inc文件就没事。所以看来还是有啥事。目前还没找到具体的原因。 ... 我这是替换win_runtime32.dll.inc后,编译出来的vmp主程序,加密其他软件时,编译选项都不勾,只虚拟化函数可以运行,勾一个都运行不了,感觉还是runtime编译出来的函数有问题。

最后于 2023-12-21 20:38
被Olii编辑

,原因: 补充
#20 2026-06-01 21:09:00
用自带的unit-tests测试了下,替换成自己编译的win_runtimexx.dll.inc后,对应的SEH的测试会出问题。
用回自带的inc文件就没事。所以看来还是有啥事。目前还没找到具体的原因。
PS:用的vs2022+qt5.6
PS2: 换vs2015测试了,一样不行。看来是其他地方的问题。


最后于 2023-12-21 20:24
被coolspace编辑

,原因:
#21 2026-06-01 21:09:00
我这测试,发现替换win_runtime32.dll.inc后,编译出来的vmp主程序,加壳的其他程序,都不能运行。V141forXP编译的。
#22 2026-06-01 21:09:00
厉害
#23 2026-06-01 21:09:00
cvcvxk


是VS2015过度优化的问题——哈哈哈

以为你已经消失了呢。好久没看到回复了
#24 2026-06-01 21:09:00
拍拖


总算有人摸到关键点了。我只试验了32位的运行时库版本,用自己编译的win_runtime32.dll用core目录下的runtime.vmp生成对应的win_runtime32_dll.inc后编译V ...

函数长度不够的从保护列表里删掉即可。编译出来的vmprotect主程序可以运行,这个主程序加壳别的exe出来的成品文件能运行吗?那个才和runtime有真正关系,我是主程序加壳别人,被加壳的成品文件无法运行。
‹ 上一页 1 2 下一页 ›

请登录后参与讨论

立即登录 注册账号