首页
社区
课程
招聘
[原创][分享] VMP源码编译之Debug_x64模式(新)
发表于: 2023-12-14 20:00 23203

[原创][分享] VMP源码编译之Debug_x64模式(新)

2023-12-14 20:00
23203

最终依赖环境:Windows 7 x64 Ultimate、Visual Studio 2019、Windows SDK8.1、qt-opensource-windows-x86-msvc2015_64-5.6.0、.NET Framework 4.8、QT Visual Studio Tools(v3.0.2最新版)

https://bbs.kanxue.com/thread-279796.htm

链接: 450K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3j5h3&6Q4x3X3g2T1j5h3W2V1N6g2)9J5k6h3y4G2L8g2)9J5c8Y4y4Q4x3V1j5I4c8%4l9@1y4i4u0q4P5h3#2b7N6U0V1@1c8W2W2H3N6h3q4%4K9$3#2u0k6H3`.`. 提取码: 947c

windows 7 x64 sp1 环境搭建(虚拟机)

d55K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2S2L8r3W2H3j5h3&6Q4x3X3g2U0L8$3#2Q4x3V1k6K6i4K6u0r3k6g2k6t1P5r3D9&6M7q4k6h3e0q4p5`.

提取码: tt80

双击vs2019安装包后,提示如下错误

解决:按照上面操作的提示先安装一个 .NET Framework 4.6.2

1edK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6V1L8%4c8F1k6i4c8Q4x3X3g2E0K9h3y4J5L8%4y4G2k6Y4c8Q4x3X3g2U0L8$3#2Q4x3V1k6W2L8W2)9J5k6s2g2K6i4K6u0r3k6r3!0%4L8X3I4G2j5h3c8Q4x3V1k6V1L8%4c8F1k6i4c8Q4x3X3c8X3M7X3q4E0k6i4N6G2M7X3E0Q4x3V1k6F1k6i4b7@1y4R3`.`.

下载离线版

当运行安装时,出现如下错误:

修复:下载适应操作系统补丁

6ddK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2U0j5i4c8S2L8r3!0Y4i4K6u0W2N6i4m8V1j5i4c8W2i4K6u0W2L8h3W2U0M7X3!0K6L8$3k6@1i4K6u0W2j5$3!0E0i4K6u0r3M7$3g2S2M7X3y4Z5i4K6u0W2j5i4y4H3P5q4)9K6c8Y4q4Q4x3@1c8C8j5U0b7@1y4K6b7@1x3e0V1`.

进行安装,然后根据提示重启计算机

接着安装 .NET Framework 4.6.2

2.3 .NET Framework 4.8

409K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6V1L8%4c8F1k6i4c8Q4x3X3g2E0K9h3y4J5L8%4y4G2k6Y4c8Q4x3X3g2U0L8$3#2Q4x3V1k6W2L8W2)9J5k6s2g2K6i4K6u0r3k6r3!0%4L8X3I4G2j5h3c8Q4x3V1k6V1L8%4c8F1k6i4c8Q4x3X3c8X3M7X3q4E0k6i4N6G2M7X3E0Q4x3V1k6F1k6i4b7@1z5l9`.`.

下载后直接安装即可

安装成功

重新再安装VS2019,选项勾选如下


勾选以上,选择安装位置后,点击安装即可

VS2019安装成功

VS2019 Pro激活码:NYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y

2.4 QT 5.6.0

安装QT,下载地址:55cK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6V1L8%4N6F1L8r3!0S2k6q4)9J5k6i4q4@1i4K6u0W2K9h3!0Q4x3V1k6F1k6i4N6Q4y4h3k6S2M7X3y4Z5K9i4k6W2i4K6u0r3M7i4c8Q4x3V1j5#2i4K6u0W2y4W2)9J5c8U0g2Q4x3X3f1$3i4K6u0W2x3q4)9J5c8R3`.`.

安装时,这里直接默认,没做任何修改,直接下一步安装即可

2.5 SDK 8.1

下载地址:249K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6V1k6i4k6W2L8r3!0H3k6i4u0Q4x3X3g2E0K9h3y4J5L8%4y4G2k6Y4c8Q4x3X3g2U0L8$3#2Q4x3V1k6*7K9q4)9J5k6r3y4F1i4K6u0r3N6$3W2F1k6r3!0%4M7#2)9J5c8X3c8G2N6$3&6D9L8$3q4V1M7#2)9J5c8Y4y4V1K9#2)9J5k6r3q4J5j5$3S2A6N6X3g2Q4x3V1j5`.

下载完成后,无需做任何修改,直接安装即可

**2.6 Notepad++

下载地址:6e1K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6F1L8%4c8W2M7r3q4V1i4K6u0V1M7r3I4#2M7#2)9J5k6s2m8D9N6i4y4Q4x3X3g2G2M7X3N6Q4x3V1k6V1L8%4N6F1L8r3!0S2k6s2y4Q4x3V1j5`.

后续会用作配置文件等修改

2.7 QT Visual Studio Tools

这里直接在VS中安装(选择“扩展”>“管理扩展”>“在线”,搜索 Qt Visual Studio 工具)

或者直接下载v3.0.2版本

c27K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6V1L8%4N6F1L8r3!0S2k6q4)9J5k6i4q4@1i4K6u0W2K9h3!0Q4x3V1k6G2k6X3k6A6j5$3W2S2L8q4)9#2k6Y4u0W2L8r3g2S2M7$3g2K6i4K6u0r3N6Y4y4S2k6r3c8A6L8W2)9J5c8R3`.`.

安装成功后,退出VS2019,提示如下,点击 Modify 等待完成即可

解压源码

找到vmprotect.sln,用vs2019加载后弹出如下界面,全部选择 【无升级】后点击确定即可

设置VS属性管理器,方便设置项目属性

切换到属性管理器,将每个项目属性设置为:

1. Windows SDK 版本:8.1

2. 平台工具集:Visual Studio 2015 – Windows XP (v140_xp)

修改编译模式:Debug _ x64

确定QT插件是否识别

如果没有识别到,手动指定即可

转化 VMProtect 项目

转化完成后,继续右键该项目,选择属性设置

遵循下面顺序编译原则:每个模块单独编译,修复所有报错

5.1 Common模块

Intel.cc:修复 Mutate函数

Intel.cc:修复 Compile函数

5.2 Misc模块

通过Notepad++将 /vmp/unit-tests/core_tests.cc 编码格式转换为 UTF-8 后保存

这个模块重新生成后,还遗留4个错误,暂时不管,先编译其它模块

5.3 MiniDumpFixer

无需修复

5.4 VMProtect.Runtime

单击VMProtect.Netcore模块进入csproj文件,修改如下内容:

5.5 VMProtect.SDK

无需修复

5.6 VMProtectSDK

无需修复

5.7 VMProtectCon

无需修复

5.8 Win_runtime

无需修复

5.9 VMProtect

查看报错信息,显示res.bat存在问题


当点击 *本地Windows调试器 *执行时,弹出如下错误

将VMProtect模块右键设置为启动项目,重新执行则正常运行

经测试,这个QT模块中的错误全部来源于没有相应的头文件导致

相关开源代码可参考 notepad-plus-plus

d80K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6F1L8%4c8W2M7r3q4V1i4K6u0V1M7r3I4#2M7#2)9J5k6s2m8D9N6i4y4Q4x3V1k6F1L8%4c8W2M7r3q4V1i4K6u0V1M7r3I4#2M7#2)9J5k6s2m8D9N6i4y4Q4x3V1k6@1M7X3g2W2i4K6u0r3L8h3q4K6N6r3g2J5i4K6u0r3M7$3y4A6L8Y4c8A6L8r3I4S2i4K6u0r3M7i4c8Q4x3V1k6e0j5$3W2F1N6r3W2D9L8r3q4q4k6r3W2@1b7X3q4K6k6b7`.`.

7.1 PlatQT.h

保持和如下头文件一致即可。

7.2 PlatQT.cc

7.3 ScintillaEditBase.h

7.4 ScintillaEditBase.cc

7.5 ScintillaQt.h

7.6 ScintillaQt.cc

关于编码告警告处理

将以下源码文件通过Notepad++转换编码格式为:UTF-8

将gmock-matchers.cc源码文件通过记事本另存的方式转换为unicode格式进行替换

关于C4996警告处理

涉及该警告的主要是Misc模块下面的gtest/unit-tests/win_runtime.Tests三个文件

相应的模块上右键->属性->C/C++->预处理器->预处理器定义

添加宏:_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING

关于 目标框架“netcoreapp3.0”不受支持,将来不会收到安全更新 警告处理

单击VMProtect.Netcore模块,增加如下内容

关于 MSB8051 面向 Windows XP 的支持已被弃用,将来的 Visual Studio 版本不再提供该支持 警告处理

关于 D9030 “/Gm”与多处理不兼容;忽略 /MP 开关 警告处理

启用最小重新生成 修改为 否(/Gm-)

将/vmp/core/VMProtectLicense.ini 拷贝至/vmp/bin/64/Debug/目录

测试功能,加壳保护后程序依然正常运行

void IntelFunction::Mutate(const CompileContext &ctx, bool for_virtualization, int index)
void IntelFunction::Mutate(const CompileContext &ctx, bool for_virtualization, int index)
void IntelObfuscation::Compile(IntelFunction *func, size_t index, size_t end_index, bool for_virtualization)
void IntelObfuscation::Compile(IntelFunction *func, size_t index, size_t end_index, bool for_virtualization)
<TargetFrameworks>netstandard2.1;netcoreapp3.0;net20;net40;net48</TargetFrameworks>
 
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
<TargetFrameworks>netstandard2.1;netcoreapp3.0;net20;net40;net48</TargetFrameworks>
 
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
修复:
在源码 /vmp/VMProtect/res.bat 文件中
将相对路径:%QTDIR%/msvc2015_64/bin/rcc.exe %RC_DIR%application.qrc -o %rc_out%
修改为绝对路径:
E:/Qt/Qt5.6.0/5.6/msvc2015_64/bin/rcc.exe %RC_DIR%application.qrc -o %rc_out%
修复:
在源码 /vmp/VMProtect/res.bat 文件中
将相对路径:%QTDIR%/msvc2015_64/bin/rcc.exe %RC_DIR%application.qrc -o %rc_out%
修改为绝对路径:

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 17
支持
分享
最新回复 (22)
雪    币: 24
活跃值: (105)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
沙发~
2023-12-15 00:58
0
雪    币: 3512
活跃值: (2224)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
整到一个网盘里呗,这样就方便了
2023-12-15 03:15
0
雪    币: 7146
活跃值: (5238)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
4
感谢分享 期待0x10 静态编译(续)
2023-12-15 08:05
0
雪    币: 293
活跃值: (280)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
nice
2023-12-15 08:35
0
雪    币: 2222
活跃值: (759)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
6
所需环境网盘可下载。
链接: f99K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3j5h3&6Q4x3X3g2T1j5h3W2V1N6g2)9J5k6h3y4G2L8g2)9J5c8Y4y4Q4x3V1j5I4c8V1A6y4e0o6k6Z5L8f1W2y4P5p5q4F1y4Y4q4c8k6h3g2p5d9X3k6C8b7g2)9K6c8Y4m8%4k6q4)9K6c8r3c8J5P5r3c8Q4x3U0k6F1j5Y4y4H3i4K6y4n7i4@1f1$3i4K6S2r3i4K6V1H3i4@1f1#2i4K6S2r3i4K6V1$3i4@1f1%4i4@1p5H3i4K6R3I4i4K6y4m8i4K6t1$3L8X3u0K6M7q4)9K6b7X3c8J5P5r3b7`.
2023-12-15 09:05
1
雪    币: 1515
活跃值: (5967)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
7
支持一下。保姆级别的了
2023-12-15 09:27
0
雪    币: 9185
活跃值: (2622)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
支持~
2023-12-15 10:04
0
雪    币: 58
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9
感谢,如果有精力,直接吧虚拟机也上传吧,来个阿里云吧,度盘下载恶心死人了
2023-12-15 10:43
0
雪    币: 1636
活跃值: (2791)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
很牛哇!
2023-12-15 11:20
0
雪    币: 2222
活跃值: (3116)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
期待静态编译教程,试了几天没成功。
2023-12-15 21:48
0
雪    币: 5531
活跃值: (31866)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
感谢分享
2023-12-15 23:36
1
雪    币: 7146
活跃值: (5238)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
13
QT好难编译啊!静态更难
2023-12-16 10:46
0
雪    币: 2646
活跃值: (3638)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
14
我也尝试搭编译环境了,卡在了qt,本来就是是来学习核心的,感觉界面这块用不到就放弃了,能编译核心就行。没用虚拟机,感觉用来了虚拟机,阅读代码时没法使用多屏。建议楼主直接把vm镜像贴出来,可以帮大家省很多麻烦
2023-12-17 11:24
0
雪    币: 2343
活跃值: (3316)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
多谢分享
2023-12-18 14:50
0
雪    币: 279
活跃值: (3344)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
+1 希望楼主直接分析编译好的vm虚拟机
2023-12-18 17:17
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
17
错误        MSB4181        “QtRunWork”任务返回了 false,但未记录错误。        VMProtect        C:\Users\chen\AppData\Local\QtMsBuild\qt_globals.targets        272        
2023-12-18 21:38
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
18
俺也编译出来了
2023-12-20 20:01
0
雪    币: 32
活跃值: (552)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
俺也编译出来了
2023-12-21 15:58
0
雪    币: 460
活跃值: (220)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
20
感谢分享
2024-2-22 15:28
0
雪    币: 38
活跃值: (1119)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
感谢分享,必须收藏!
2024-2-28 09:30
0
雪    币: 2222
活跃值: (759)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
22
有兄弟反馈资源失效,重新补充:

链接: f18K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3j5h3&6Q4x3X3g2T1j5h3W2V1N6g2)9J5k6h3y4G2L8g2)9J5c8Y4y4Q4x3V1j5I4h3X3q4B7y4s2g2F1d9h3A6t1N6s2k6G2P5f1H3K6x3#2g2u0b7V1c8D9b7g2)9K6c8Y4m8%4k6q4)9K6c8o6S2B7N6$3k6Q4x3U0k6F1j5Y4y4H3i4K6y4n7i4@1f1$3i4K6S2r3i4K6V1H3i4@1f1#2i4K6S2r3i4K6V1$3i4@1f1%4i4@1p5H3i4K6R3I4i4K6y4m8i4K6t1$3L8X3u0K6M7q4)9K6b7U0S2B7N6$3j5`.
2024-3-5 18:07
0
雪    币: 56
活跃值: (170)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
网盘失效了,可以重新分享一个吗?
2024-6-14 11:05
0
游客
登录 | 注册 方可回帖
返回