软件保护机制的工具VMProtect

VMProtect是一款全新的软件保护工具。与其它大部分的保护程序不同,VMProtect可修改程序的源代码。VMProtect可将被保护文件中的部分代码转化到在虚拟机(以下称作VM)上运行的程序(以下称作bytecode)中。您同样可把VM想象为具备命令系统的虚拟处理器,该命令系统与Intel 8086处理器所使用的完全不同。例如,VM没有负责比较2个操作数的命令,也没有有条件与无条件的移转等。就象您现在看到的,黑客必须开发一款特定的工具以分析与反编译bytecode,而且还相当地耗时。可是,我们知道没有无法破解的保护程序,这也是我们为什么会将保护级别达到破解费用与购买费用相当(或破解费用甚至超过购买费用)的程度。不管怎么样,请您记住VMProtect是唯一一款能帮助您“隐藏”主要软件保护机制的工具。

具体功能:

VMProtect能根据所选的编译类型以不同的方式处理被保护的代码。让我们来详细了软件安全加解密解每个不同的编译类型:

  • Mutation:在处理器命令的程度上修改了执行文件(修改了现有的命令,添加了所有类型的垃圾命令等)。该编译类型无法充分地保护代码。它只能避免破解、解析以及避免进行中的功能由签名解析器确定(PEiD+KANAL、IDA+FLIRT等)。作为固定规则,我们并不需要保护库功能不受破解以及解析,只需要更改它们的签名就足够保护在您应用程序中应用的库(对破解与解析的保护程度不高,代码的执行率很高)。
  • 虚拟化:可执行代码被转化为由虚拟机执行的bytecode。该编译类型应该应用到所有执行率非常重要的代码的关键部分以防止破解与解析(对破解与解析的保护程度中等,代码的执行率中等)
  • Ultra(mutation+虚拟化):以处理器命令的程度修改可执行代码,然后将它转化为由虚拟机执行的bytecode。该编译类型应该应用到执行率不重要的代码(对破解与解析的保护程度高,代码的执行率低)。 

在您将所有软件安全加解密必要的程序添加到工程中后,切换到“选项”:

  • 调试模式(确认外部地址):用来寻找外部代码参考的地址。
  • 隐藏衡量:如果启用该选项,就不能在打开的表格中找到变量地址或调用的功能。
  • 动态创建在线命令:VM解释程序不能执行所有的Intel 8086命令,这就是为什么这些命令会以它们在保护部分中展现的形式执行的原因。动态创建在线命令同样让针对bytecode的破解变得艰难。
  • 检查VM对象的完整性:当执行程序的时候,VM解释程序会自动读取当执行命令时被运用的程序、bytecode以及水印中任意部分的检查结果。VM对象的完整性检查可保护解释程序、bytecode以及水印免遭修改。
  • 水印:选择您希望内置到被保护文件中的水印。
  • VM项目名称:您能为即将被写入VM解释程序与bytecode的新项目指定名称
  • 移除fixup元素(只针对EXE文件):编译程序(尤其象Delphi)会为EXE文件创建一个fixup元软件安全加解密素列表。当加载EXE文件时,操作系统不会使用这些元素。如果您启用该选项,VM将使用被fixup元素列表所包含的部分。

在指定完所有必要的选项后,开始编译工程。在编译完成后,在工程文件(例如,TEST.EXE)旁边会创建一个新文件(例如,TEST.VMP.EXE)。指定的程序将在虚拟机的该文件中运行。

软件安全加解密软件安全加解密软件安全加解密软件安全加解密软件安全加解密

 

























原文来自 http://www.fanganwang.com/product/3178

你可能感兴趣的:(工具)