(图片来源网络,侵删)
VMProtect是一种很可靠的工具,可以保护应用程序代码免受分析和破解,但只有在应用程序内保护机制正确构建且没有可能破坏整个保护的严重错误的情况下,才能实现最好的效果之前对主窗口进行了介绍,接下来我们将对VMProtect中强大的内置脚本的使用进行介绍,希望对您有所帮助VMProtect具有内置的强大脚本语言LUA,极大地增强了VMProtect在每个保护阶段的默认保护功能LUA语法非常类似于JavaScript,但与之不同的是,LUA不包含显式类不过,脚本语言允许轻松地实现类、继承和事件等面向对象的编程机制对于如何使用脚本语言,可以进行以下三类的介绍:类内置功能事件第一部分:类VMProtect中内置的脚本语言LUA是面向对象的:它在语法,意识形态和实现方面与JavaScript非常相似脚本语言包括提供基本功能的标准类和提供对应用程序保护功能的访问的专用类▲核心项目选择:enum ProjectOption {None,Pack,ImportProtection,MemoryProtection,ResourceProtection,CheckDebugger,CheckKernelDebugger,CheckVirtualMachine,StripFixups,StripDebugInfo,DebugMode}使用VMProtect核心的类:class Core {public:string projectFileName();//返回项目的名称void saveProject(); //保存项目string inputFileName(); //返回当前项目的源文件的名称string outputFileName(); //返回当前项目的输出文件的名称void setOutputFileName(string name); //设置当前项目的输出文件的名称string watermarkName(); //返回当前项目水印的名称void setWatermarkName(string name); //设置当前项目的水印名称int options(); //返回当前项目的选项 void setOptions(int options); //设置当前项目的选项string vmSectionName(); //返回当前项目的VM段名称void setVMSectionName(); //设置当前项目的VM段名称Licenses licenses(); //返回当前项目的许可证列表Files files(); //返回当前项目的文件列表Watermarks watermarks(); //返回水印列表PEFile/MacFile inputFile(); //返回源文件PEFile/MacFile outputFile();//返回输出文件PEArchitecture/MacArchitecture inputArchitecture(); //返回源架构PEArchitecture/MacArchitecture outputArchitecture();//返回输出架构};▲水印用于处理水印列表的类:class Watermarks {public:Watermark item(int index); //返回带有给定索引的水印int count(); //返回列表中的一些水印Watermark itemByName(string name);//返回带有给定名称的水印}使用水印的类:class Watermark {public:string name(); //返回水印的名称string value();//返回水印的值bool blocked();//返回“Blocked”属性void setBlocked(bool value); //设置“Blocked”属性}▲许可证用于处理许可证列表的类:class Licenses {public:int keyLength(); //返回键的长度string publicExp(); //返回公共指数string privateExp(); //返回私有指数string modulus(); //返回模量License item(int index); // 返回具有给定索引的许可证int count(); //返回列表中的许可证数量}使用许可证的类:class License {public:string date(string format = \"%c\"); //返回许可证的日期string customerName(); //返回许可证所有者的名称string customerEmail(); //返回许可证所有者的电子邮件string orderRef();//返回购买许可证的订单idstring comments();//返回许可的注释string serialNumber(); //返回许可证的序列号bool blocked(); //返回“Blocked”属性void setBlocked(bool value); //设置“Blocked”属性}▲文件用于处理文件列表的类:class Files {public:File item(int index); // 返回具有给定索引的文件int count(); //返回列表中的文件数量}使用文件的类:class File {public:string name(); //返回文件的名称string fileName(); //返回文件名int options(); //返回选项void setName(string name);//设置文件的名称void setFileName(string name);//设置文件的文件名void setOptions();//设置选项}>>下载VMProtect最新试用版可点击下方“了解更多”查看↓↓↓
0 评论