彩票走势图

加密软件VMProtect教程:使用脚本Core

翻译|行业资讯|编辑:胡涛|2024-03-13 09:38:27.927|阅读 40 次

概述:本文将向您介绍加密软件VMProtect中有关脚本部分的教程,欢迎查阅~

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C++、Visual Basic(本机)、Virtual Pascal和XCode编译器。

同时,VMProtect有一个内置的反汇编程序,可以与Windows和Mac OS X可执行文件一起使用,并且还可以链接编译器创建的MAP文件,以快速选择要保护的代码片段。

为了轻松实现应用程序保护任务的自动化,VMProtect实现了内置脚本语言。VMProtect完全支持Windows系列的32/64位操作系统(从Windows 2000开始)和Mac OSX(从版本10.6开始)。重要的是,无论目标平台如何,VMProtect都支持所有范围的可执行文件,即Windows版本可以处理Mac OS X版本的文件,反之亦然。

VMProtect最新版下载

使用脚本
  • VMProtect 有一个内置的强大脚本语言 LUA,大大增强了 VMProtect 在每个保护阶段的默认保护能力。
  • LUA 的语法与 JavaScript 非常相似,差异是LUA 不包含显式类。但该脚本语言可以轻松实现类、继承和事件等面向对象的编程机制。
  • 脚本的使用实例可以在 "VMProtect/Examples/Scripts "文件夹中找到。
Core

项目选择:

enum ProjectOption {
None,
Pack,
ImportProtection,
MemoryProtection,
ResourceProtection,
CheckDebugger,
CheckKernelDebugger,
CheckVirtualMachine,
StripFixups,
StripDebugInfo,
DebugMode
}

与 VMProtect 核心一起使用的类:

class Core {
public:
string projectFileName(); // returns the name of the project
void saveProject(); // saves the project
string inputFileName(); // returns the name of the source file for the current project
string outputFileName(); // returns the name of the output file for the current project
void setOutputFileName(string name); // sets the name of the output file for the current project
string watermarkName(); // returns the name of the watermark of the current project
void setWatermarkName(string name); // sets the name of the watermark for the current project
int options(); // returns options of the current project
void setOptions(int options); // sets options of the current project
string vmSectionName(); // returns VM segment name for the current project
void setVMSectionName(); // sets VM segment name for the current project
Licenses licenses(); // returns the list of licenses for the current project
Files files(); // returns the list of files for the current project
Watermarks watermarks(); // returns the list of watermarks
PEFile/MacFile inputFile(); // returns source file
PEFile/MacFile outputFile(); // returns output file
PEArchitecture/MacArchitecture inputArchitecture(); // returns source architecture
PEArchitecture/MacArchitecture outputArchitecture(); // returns output architecture
};
水印

处理水印列表的类:

class Watermarks {
public:
Watermark item(int index); // returns a watermark with the given index
int count(); // returns a number of watermarks in the list
Watermark itemByName(string name); // returns a watermark with the given name
}

使用水印的类:

class Watermark {
public:
string name(); // returns the name of the watermark
string value(); // returns the value of the watermarks
bool blocked(); // returns the "Blocked" property
void setBlocked(bool value); // sets the "Blocked" property
}
许可证

一个用于处理许可证列表的类:

class Licenses {
public:
int keyLength(); // returns the length of the key
string publicExp(); // returns the public exponent
string privateExp(); // returns the private exponent
string modulus(); // returns modulus
License item(int index); // returns a license with the given index
int count(); // returns the number of licenses in the list
}

一个带着许可证工作的类:

class License {
public:
string date(string format = "%c"); // returns the date of the license
string customerName(); // returns the name of the license owner
string customerEmail(); // returns an e-mail of the license owner
string orderRef(); // returns the order id the license was purchased
string comments(); // returns comments to the license
string serialNumber(); // returns the serial number of the license
bool blocked(); // returns the "Blocked" property
void setBlocked(bool value); // sets the "Blocked" property
}
文件

一个用于处理文件列表的类:

class Files {
public:
File item(int index); // returns a file with the given index
int count(); // returns the number of files in the list
}

一个用于处理文件的类:

class File {
public:
string name(); // returns the name of the file
string fileName(); // returns the filename
int options(); // returns options
void setName(string name); // sets the name of the file
void setFileName(string name); // sets the filename of the file
void setOptions(); // sets options
}
文件夹

一个处理自定义文件夹的类:

class Folders {
public:
int count(); // returns the number of folders in the list
Folder item(int index); // returns a folder with the given index
Folder add(string name); // adds a new folder
void clear(); // clears the list
};

一个使用自定义文件夹的类:

class Folder {
public:
int count(); // returns the number of subfolders
Folder item(int index); // returns a subfolder with the given index
Folder add(string name); // adds a new subfolder
string name(); // returns the name of the folder
void clear(); // clears the list of subfolders
void destroy(); // destroys the folder an all child subfolders
};

获取完整>>>vmprotect 中文支持手册

以上便是关于几个秘钥生成器的分享,如果您有任何疑问或者想获取更多产品试用/授权/价格信息,可以咨询我们的了解~


欢迎体验更多加密解密相关软件或者加入我们技术交流群(766135708)


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP