提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:李显亮|2019-07-15 10:29:13.947|阅读 555 次
概述:VMProtect具有内置的强大脚本语言LUA,极大地增强了VMProtect在每个保护阶段的默认保护功能。之前对主窗口进行了介绍,接下来我们将对VMProtect中强大的内置脚本的使用进行介绍,希望对您有所帮助。
#慧都22周年庆大促·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>
相关链接:
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();//返回购买许可证的订单id
string 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正版授权专享在线订购特享超低价格!还不赶紧加入你的订购清单?>>更多详情可点击咨询购买
扫描关注“慧聚IT”微信公众号,及时获取最新动态及最新资讯

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



在嵌入式软件测试领域,对交叉编译代码进行单元测试是一大挑战。Parasoft C/C++test作为专业的C/C++测试工具,能够与劳特巴赫Trace32调试器深度集成。下面会详细介绍如何在C++test中配置Trace32调试器,实现对PowerPC架构程序的单元测试,涵盖环境设置、项目导入到测试执行的全过程。
本文将为大家介绍如何使用DevExpress WinForms数据网格控件实现摘要文本的格式化,欢迎下载最新版组件体验!
Parasoft C/C++test作为一款功能强大的自动化测试工具,为嵌入式开发提供了全面的测试解决方案。特别是在CCS开发环境中,C++test能够无缝集成,为F2812等DSP项目提供专业的单元测试支持。下面将介绍如何在CCS3环境下配置和使用C++test进行F2812项目的单元测试。
在嵌入式开发中,尤其是基于ARM架构的安全关键领域,单元测试是验证代码在目标硬件上运行时行为正确性的关键环节,对于保障最终产品的可靠性至关重要。下面将介绍如何利用Parasoft C/C++test开展单元测试,包括配置、执行及解决可能遇到的许可证问题,完成从静态检查到动态运行的完整测试闭环。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@hmdbvip.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
永利最大(官方)网站