首页
社区
课程
招聘
[原创]VMP编译的完整笔记
发表于: 2023-12-14 15:21 15638

[原创]VMP编译的完整笔记

2023-12-14 15:21
15638

     很多年没有来论坛了,最近刚好有点时间,编译了VMP,发现对于初学者还是可能会有一点帮助的,记录下编译过程。

     VMP源码泄露了一段时间了,吾爱破解论坛上发表了《VMProtect编译成功过程梳理》文章,过程较为繁琐,我利用最近时间仔细学习了一遍,很快编译成功了,然后自己重新完整尝试没有博文指导下,记录编译过程,发现原来文章其实有些步骤是多余的。

1、查看工程文件

     利用记事本打开vmprotect.sln可以看到:

Microsoft Visual Studio Solution File, Format Version 12.00

# Visual Studio 15

VisualStudioVersion = 15.0.28307.2092

MinimumVisualStudioVersion = 10.0.40219.1

原来的工程是VS2015编译的。

     利用记事本打开VMProtectSDK.vcxproj,可以看到以下信息:

  <PropertyGroup Label="Globals">

<ProjectGuid>{F3B5035B-34E5-4A8A-9B2B-485C3C79B67A}</ProjectGuid>

    <RootNamespace>VMProtectSDK</RootNamespace>

    <Keyword>Win32Proj</Keyword>

    <ProjectName>VMProtectSDK</ProjectName>

<WindowsTargetPlatformVersion>7.0</WindowsTargetPlatformVersion>

  </PropertyGroup>

  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

    <ConfigurationType>DynamicLibrary</ConfigurationType>

    <PlatformToolset>v90</PlatformToolset>

  </PropertyGroup>

7.0指用于构建项目的 Windows SDK 的版本号,实际上是支持winxp的sdk,V90对应着VS2008的编译器和相关C++库。

2、开发环境

根据上面,我电脑配置了开发环境为:VS2022 +QT5.7+Windows SDK10.0+.net4.8

3、编译过程

利用VS2022打开项目文件,自动检查解决方案不匹配的地方,显示如下对话框,允许项目升级(不考虑支持XP系统,之前在安装VS2022是选择安装vs2017 xp支持组件v141_XP),点击确定。

升级完成后,设置工程为X64,直接在VMProtectSDK工程上右键“生成”,很快显示成功。

1>  正在创建库 E:\vmp3\vmp\bin\64\Debug\VMProtectSDK64.lib 和对象 E:\vmp3\vmp\bin\64\Debug\VMProtectSDK64.exp

1>VMProtectSDK.vcxproj -> E:\vmp3\vmp\bin\64\Debug\VMProtectSDK64.dll

========== 生成: 1 成功,0 失败,0 最新,0 已跳过 ==========

========== 生成 下午 3:03 完成,耗时 04.115 ==========

在VMProtect工程上右键“生成”,报错106个,找到第一错误

严重性

代码

说明

项目

文件

禁止显示状态

详细信息

错误

C2511

“void IntelFunction::Mutate(const CompileContext   &,bool)”:“IntelFunction”中没有找到重载的成员函数

core

e:\vmp3\vmp\core\intel.cc

16040

找到该函数声明:

void Mutate(const CompileContext &ctx, bool for_virtualization, int index = 0);

原因是声明中使用默认构造参数,定义中直接缺少了构造参数。

intel.cc将其修改为:

void IntelFunction::Mutate(const CompileContext& ctx, bool for_virtualization, int index )

重新编译,报错38个,找到第一个错误

严重性

代码

说明

项目

文件

禁止显示状态

详细信息

错误

C2511

“void IntelObfuscation::Compile(IntelFunction   *,size_t)”:“IntelObfuscation”中没有找到重载的成员函数

core

e:\vmp3\vmp\core\intel.cc

17335

同样的原因,intel.cc将其修改为:

void IntelObfuscation::Compile(IntelFunction* func, size_t index, size_t end_index, bool for_virtualization)

重新编译,报错1个

res.bat: QT resources 'E:\vmp3\vmp\VMProtect\resources.cc' are up to date

直接在命令行中运行res.bat发现:

E:\vmp3\vmp\VMProtect>D:\DATA\Qt1\5.7\msvc2015_64/msvc2015_64/bin/rcc.exe E:\vmp3\vmp\VMProtect\application.qrc -o E:\vmp3\vmp\VMProtect\resources.cc.tmp


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2023-12-20 15:14 被laowanghai编辑 ,原因: 补充VMP Ultimate版本的编译过程
收藏
免费 17
支持
分享
最新回复 (12)
雪    币: 1166
活跃值: (112)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
大佬,编译好的可以提供下载使用吗?
2023-12-14 20:59
0
雪    币: 2385
活跃值: (2321)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个时候得来个静态编译教程。
2023-12-15 21:44
0
雪    币: 1166
活跃值: (112)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
已经编译好了,关键还是QT
2023-12-16 13:24
0
雪    币: 6357
活跃值: (3887)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
分享下已编译的呀
2023-12-16 14:27
0
雪    币: 156
活跃值: (1662)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
# Visual Studio 15,是VS2017的工程吧
2023-12-16 15:35
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
inline unsigned long __builtin_ctz(unsigned int x) { unsigned long r; _BitScanForward(&r, x); return r; } 无法重载仅按返回类型区分的函数蹲一个解决办法
2023-12-18 20:42
0
雪    币: 6366
活跃值: (4404)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
8
感谢大佬分享 现在都卡在QT静态编译上了
2023-12-18 21:21
0
雪    币: 69
活跃值: (342)
能力值: ( LV9,RANK:550 )
在线值:
发帖
回帖
粉丝
9
补充了QT5.6静态编译想管内容在原贴上了。
2023-12-20 15:15
0
雪    币: 498
活跃值: (47976)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
厉害 
2023-12-20 17:51
0
雪    币: 6366
活跃值: (4404)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
11
大佬 怎么授权呀 ?还有Ultimate版本的帮助能打开吗
2023-12-30 19:46
0
雪    币: 4
活跃值: (327)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
怎么完成授权啊 大佬
2024-1-21 11:13
0
雪    币: 3573
活跃值: (31026)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
感谢分享
2024-1-22 09:53
1
游客
登录 | 注册 方可回帖
返回
//