解读:软件保护工具VMProtect如何调用保护文件的各个阶段过程和函数?

VMProtect是一种很可靠的工具,可以保护应用程序代码免受分析和破解,但只有在应用程序内保护机制正确构建且没有可能破坏整个保护的严重错误的情况下,才能实现最好的效果。

VMProtect(点击下载)具有内置的强大脚本语言LUA,极大地增强了VMProtect在每个保护阶段的默认保护功能。LUA语法非常类似于JavaScript,但与之不同的是,LUA不包含显式类。不过,脚本语言允许轻松地实现类、继承和事件等面向对象的编程机制。

对于如何使用脚本语言,可以进行以下三类的介绍:

  • 内置功能
  • 事件

核心处理的事件设置

内置脚本语言是使用VMProtect自动创建受保护应用程序的有效方法。在VMProtect核心处理的某些事件中,将调用构建受保护文件的各个阶段所需的过程和函数,可以按以下顺序为VMProtect核心调用的5个事件设置自己的处理程序:

  • OnBeforeCompilation
  • OnBeforeSaveFile
  • OnBeforePackFile
  • OnAfterSaveFile
  • OnAfterCompilation

创建保护对象列表时,将调用下述事件。在OnBeforeCompilation处理程序中,可以向项目添加新过程,或修改或删除现有过程。

function OnBeforeCompilation()

end

在将编译期间创建的所有对象写入输出文件之前调用下述事件。在OnBeforeSaveFile事件处理程序中,您可以更改自动写入输出文件的文件及其属性(例如资源列表,导出函数列表,节名称等)。

function OnBeforeSaveFile()

end

在打包应用程序的受保护文件之前调用下述事件。使用OnBeforePackFile,您可以修改要打包的文件。 仅在启用“包输出文件”选项时调用此事件。

function OnBeforePackFile()

end

将编译期间创建的所有对象写入输出文件后调用下述事件。事件处理程序可以将新数据添加到输出文件或更改以前写入的数据。

function OnAfterSaveFile()

end

在编译项目的所有对象后调用下述事件。在此阶段,用户可以访问已编译的项目,并可以使用它执行任何操作,例如添加数字签名(证书)。

function OnAfterCompilation()

end

转载于:https://my.oschina.net/u/4087915/blog/3100832

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值