首页
社区
课程
招聘
[求助]泄露的VMP源码中runtime如果重新编译并嵌入vmp主程序?
发表于: 2023-12-19 20:13 15669

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

2023-12-19 20:13
15669

vmp主程序调用的壳runtime是core文件夹里面的几个inc,例如win_runtime64_dll.inc,这个inc文件是vmp加壳 win_runtime.dll(64位)的时候自动生成的。但是我测试了下,vs编译出win_runtime.dll(64位),然后用vmp加壳生成inc,再编译进vmp壳。vmp壳直接无法运行。。。。,要不就是vmp主程序加壳生成的文件无法运行。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 5
支持
分享
最新回复 (25)
雪    币: 1790
活跃值: (3904)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
总算有人摸到关键点了。我只试验了32位的运行时库版本,用自己编译的win_runtime32.dll用core目录下的runtime.vmp生成对应的win_runtime32_dll.inc后编译VMPROTECT后对软件加壳会遇到一些问题。我这边遇到的最大问题是
一些类的函数体代码不超过5字节,导致进行保护时提示函数长度不够(用VS2015编译,原编译环境是VS2008,不知道是不是这个差别),跳过运行时库函数体代码不超过5字节的就可以编译通过,且运行
正常。
2023-12-20 08:38
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
3
拍拖 总算有人摸到关键点了。我只试验了32位的运行时库版本,用自己编译的win_runtime32.dll用core目录下的runtime.vmp生成对应的win_runtime32_dll.inc后编译V ...
是VS2015过度优化的问题——哈哈哈
2023-12-20 13:14
0
雪    币: 107
活跃值: (2414)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
拍拖 总算有人摸到关键点了。我只试验了32位的运行时库版本,用自己编译的win_runtime32.dll用core目录下的runtime.vmp生成对应的win_runtime32_dll.inc后编译V ...
函数长度不够的从保护列表里删掉即可。编译出来的vmprotect主程序可以运行,这个主程序加壳别的exe出来的成品文件能运行吗?那个才和runtime有真正关系,我是主程序加壳别人,被加壳的成品文件无法运行。
2023-12-20 13:18
0
雪    币: 1372
活跃值: (5368)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
5
cvcvxk 是VS2015过度优化的问题——哈哈哈
以为你已经消失了呢。好久没看到回复了
2023-12-20 16:09
0
雪    币: 498
活跃值: (47976)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
厉害 
2023-12-20 17:51
0
雪    币: 107
活跃值: (2414)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7


我这测试,发现替换win_runtime32.dll.inc后,编译出来的vmp主程序,加壳的其他程序,都不能运行。V141forXP编译的。



2023-12-21 16:22
0
雪    币: 107
活跃值: (2414)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8

用自带的unit-tests测试了下,替换成自己编译的win_runtimexx.dll.inc后,对应的SEH的测试会出问题。


用回自带的inc文件就没事。所以看来还是有啥事。目前还没找到具体的原因。


PS:用的vs2022+qt5.6


PS2: 换vs2015测试了,一样不行。看来是其他地方的问题。


最后于 2023-12-21 20:24 被coolspace编辑 ,原因:
2023-12-21 18:25
0
雪    币: 45
活跃值: (2862)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
coolspace 用自带的unit-tests测试了下,替换成自己编译的win_runtimexx.dll.inc后,对应的SEH的测试会出问题。用回自带的inc文件就没事。所以看来还是有啥事。目前还没找到具体的原因。 ...

我这是替换win_runtime32.dll.inc后,编译出来的vmp主程序,加密其他软件时,编译选项都不勾,只虚拟化函数可以运行,勾一个都运行不了,感觉还是runtime编译出来的函数有问题。

最后于 2023-12-21 20:38 被Olii编辑 ,原因: 补充
2023-12-21 20:37
0
雪    币: 1372
活跃值: (5368)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
10
coolspace 用自带的unit-tests测试了下,替换成自己编译的win_runtimexx.dll.inc后,对应的SEH的测试会出问题。用回自带的inc文件就没事。所以看来还是有啥事。目前还没找到具体的原因。 ...
解决了大佬记得更新一下方案
2023-12-21 21:56
0
雪    币: 3439
活跃值: (2124)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
感觉这事不简单?
2023-12-22 07:14
0
雪    币: 107
活跃值: (2414)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
还是没找到具体原因,不知有没有大牛已经发现解决方案了?
2023-12-22 18:44
0
雪    币: 15
活跃值: (403)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
我用debug编译的,默认是禁用代码优化的,64试过了没问题啊
2023-12-23 09:16
0
雪    币: 107
活跃值: (2414)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
vaguem 我用debug编译的,默认是禁用代码优化的,64试过了没问题啊

编译出来的win_runtime.dll,更新成win_runtime64.dll.inc,覆盖到core目录里面,之后再重编译vmprotect.exe,用这个vmprotect.exe加壳其他程序,,加壳出来的成品文件运行没问题?

最后于 2023-12-23 10:38 被coolspace编辑 ,原因:
2023-12-23 10:35
0
雪    币: 185
活跃值: (506)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
runtime 和 vmprotect主程序 优化选项设置一致即可
2023-12-23 10:47
0
雪    币: 45
活跃值: (2862)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
vaguem 我用debug编译的,默认是禁用代码优化的,64试过了没问题啊
我用vs2015和2022都不行
2023-12-23 11:03
0
雪    币: 45
活跃值: (2862)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
破案了,兄弟们,啥都不用改,用vs2010打开 win_runtime.vcxproj,单独生成一个sln,我看win_runtime会依赖sdk,把sdk项目也加进去,修改两个项目平台工具集v100,,然后直接32 release 生成dll 再用runtime.vmp生成inc,最后编译vmp( debug x64 Visual Studio 2017 - Windows XP (v141_xp))  加壳其他软件,选项全开,完美运行
2023-12-23 12:26
0
雪    币: 15
活跃值: (403)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
coolspace vaguem 我用debug编译的,默认是禁用代码优化的,64试过了没问题啊 编译出来的win_runtime.dll,更新成win_runti ...
是的,特意试过了,没半点问题,可能和上面兄弟说的,需要“优化选项设置一致”
2023-12-23 13:53
0
雪    币: 107
活跃值: (2414)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
vaguem 是的,特意试过了,没半点问题,可能和上面兄弟说的,需要“优化选项设置一致”
必须用vs2010?2015不行?  
winruntime 这个工程默认打开了whole program optimization。关闭了不行
2023-12-23 14:21
0
雪    币: 107
活跃值: (2414)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
见了鬼了,vs2015同样参数编译的就不行,换vs2010嘛事没有。
2023-12-23 15:08
0
雪    币: 107
活跃值: (2414)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21

用老板vs2010编译dll,再用新版编译exe。

最后于 2023-12-23 15:18 被coolspace编辑 ,原因:
2023-12-23 15:17
0
雪    币: 107
活跃值: (2414)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22

使用v100 toolset编译就没事,用其他更高版本的toolset如v141_xp编译就不行,还没发现设置选项差别在哪。


不知有谁通过调整vs2015或者vs2022里面的编译选项,使用v141_xp及以上的toolset能成功编译win_runtime并成功替换的?

最后于 2023-12-24 11:24 被coolspace编辑 ,原因:
2023-12-24 10:57
0
雪    币: 58
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
23
Olii 破案了,兄弟们,啥都不用改,用vs2010打开 win_runtime.vcxproj,单独生成一个sln,我看win_runtime会依赖sdk,把sdk项目也加进去,修改两个项目平台工具集v100 ...
牛叉,感谢分享
2023-12-25 09:54
0
雪    币: 6366
活跃值: (4404)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
24
大佬们 请问.inc文件怎么生成的?
2023-12-25 12:10
0
雪    币: 107
活跃值: (2414)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
用runtime.vmp加壳win_runtime_32.dll自然就生成了inc
2024-1-3 08:09
0
游客
登录 | 注册 方可回帖
返回
//