说明
VMProtect的功能我就不说了,详情大家可以去看这个百科。
VMProtect 自带有例子,目录在
安装目录\VMProtect Ultimate\Examples\
VMProtect V2.12.3 破解版
链接: http://pan.baidu.com/s/1gdvd11h 密码: t8m2
解压密码:http://www.sollyu.com/
新建工程
我这里使用的是VS2008
,新建一个win32工程,这里需要使用MFC
,名称为:VMProtectDemo1
复制所需环境
打开 VMProtect 的安装目录,找到Include
和Lib
两个目录,引用到工程目录。
复制nclude\C\VMProtectSDK.h
和Lib\COFF\VMProtectSDK32.lib
两个文件到工程目录
工程编写
在VMProtectDemo1.cpp
中添加VMProtect SDK的头文件
#include "VMProtectSDK.h"
头文件中有自动连接lib库,所以我们必须要手动连接,修改main
函数的代码为
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
VMProtectBegin("VMProtec Tag By Sollyu");
MessageBox(NULL,_T("VMProtect Test."), _T("By:Sollyu"),MB_OK | MB_ICONINFORMATION);
VMProtectEnd();
return nRetCode;
}
编译运行下
1>VMProtectDemo1 – 0 个错误,0 个警告
========== 生成: 成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========
运行的结果为下图所示,发现缺少VMProtectSDK32.dll
,这个文件可以在Lib
目录下找到,找到之后复制到工程的exe目录。
再运行一下,如图,这时候的程序是还没有加过壳的程序,我们需要使用VMProtect
进行保护。
保护程序
打开VMProtect
程序,
加密exe
使用VMProtect
程序打开刚才编译的exe程序。
这里可以看到上面代码的保护区域VMProtec Tag By Sollyu
,默认为虚拟
加密方式,也可以手动选择其他加密方式。
选择这个绿色的播放按钮
,进行编译加密。
编译完成之后会询问是否执行加密过的程序,这里选择是
,看一下运行结果