武威信息网
国内新闻
当前位置: 首页 >> 国内新闻 >> 正文

代码保护软件VMProtect用户手册之内置脚本的使用(1)


文章作者:www.telehotels.net.cn 发布时间:2019-09-28 点击:1525



VMProtect是一个非常可靠的工具,用于保护应用程序代码免受分析和破解,但只有正确构建应用程序内保护机制并且没有可能损害整个保护的严重错误,才能实现最佳结果。

在我们介绍主窗口之前,我们将介绍在VMProtect中使用强大的内置脚本,我希望对您有所帮助。

VMProtect具有内置的强大脚本语言LUA,可在每个保护阶段大大增强VMProtect的默认保护。 LUA语法与JavaScript非常相似,但与LUA不同,它不包含显式类。但是,脚本语言允许轻松实现面向对象的编程机制,例如类,继承和事件。

有关如何使用脚本语言,您可以介绍以下三个类别:

类内置功能事件

第1部分:类

VMProtect中内置的脚本语言LUA是面向对象的:它在语法,意识形态和实现方面与JavaScript非常相似。脚本语言包括提供基本功能的标准类和提供对应用程序保护功能的访问的专用类。

▲核心

项目选择:

Enum ProjectOption {

\ tNone,

\ TPACK,

\ tImportProtection,

\ tMemoryProtection,

\ tResourceProtection,

\ tCheckDebugger,

\ tCheckKernelDebugger,

\ tCheckVirtualMachine,

\ tStripFixups,

\ tStripDebugInfo,

\ tDebugMode

}

使用VMProtect核心类:

类核心{

公共:

\ tstring projectFileName(); //返回项目名称

\ tvoid saveProject(); //保存项目

\ tstring inputFileName(); //返回当前项目源文件的名称

\ tstring outputFileName(); //返回当前项目输出文件的名称

\ tvoid setOutputFileName(string name); //设置当前项目输出文件的名称

\ tstring watermarkName(); //返回当前项目水印的名称

\ tvoid setWatermarkName(string name); //设置当前项目的水印名称

\ tint options(); //返回当前项目的选项

\ tvoid setOptions(int options); //设置当前项目的选项

\ tstring vmSectionName(); //返回当前项目的VM段名称

\ tvoid setVMSectionName(); //设置当前项目的VM段名称

\ tLicenses licenses(); //返回当前项目的许可证列表

\ t文件文件(); //返回当前项目的文件列表

\ tWatermarks watermarks(); //返回水印列表

\ tPEFile/MacFile inputFile(); //返回源文件

\ tPEFile/MacFile outputFile(); //返回输出文件

\ tPEA架构/MacArchitecture inputArchitecture(); //返回源架构

\ tPEA架构/MacArchitecture outputArchitecture(); //返回输出架构

};

▲水印

处理水印清单的类别:

类别水印{

公共:

\ tWatermark item(int index); //返回具有给定索引的水印

\ tint count(); //返回列表中的一些水印

\ tWatermark itemByName(string name); //返回具有给定名称的水印

}

使用水印的类:

类Watermark {public: \ tstring name(); //返回watermark的名称\ tstring value(); //返回watermark的值\ tbool blocked(); //返回“Blocked”属性\ tvoid setBlocked(bool value); //设置“已阻止”属性}

▲许可

处理许可证清单的类别:

类许可证{

公共:

Int keyLength(); //返回键的长度

String publicExp(); //返回公共索引

String privateExp(); //返回私人索引

String modulus(); //返回模数

许可证项目(int index); //返回具有给定索引的许可证

Int count(); //返回列表中的许可证数量

}

使用许可证的类:

类别许可证{

公共:

字符串日期(字符串格式='%c'); //返回许可证的日期

String customerName(); //返回许可证所有者的名称

String customerEmail(); //返回许可证所有者的电子邮件

String orderRef(); //返回购买的许可证的订单ID

String comments(); //返回权限注释

String serialNumber(); //返回许可证的序列号

布尔阻止了(); //返回“已阻止”属性

Void setBlocked(bool value); //设置“已阻止”属性

}

▲文件

使用文件列表的类:

类文件{

公共:

文件项(int index); //返回具有给定索引的文件

Int count(); //返回列表中的文件数

}

使用文件的类:

类文件{

公共:

字符串名称(); //返回文件名

String fileName(); //返回文件名

Int选项(); //返回选项

Void setName(string name); //设置文件名

Void setFileName(string name); //设置文件名

Void setOptions(); //设置选项

}

要下载VMProtect的最新试用版,请单击下面的“了解详情”。

_

下一条: “我在马路边捡起一块钱”儿歌居然涨价了!