VMProtect是一款全新的软件保护工具。与其它大部分的保护程序不一样,VMProtect可修改程序的源代码。VMProtect可将被保护文件中的部分代码转化到在虚拟机(如下称做VM)上运行的程序(如下称做bytecode)中。您一样可把VM想象为具有命令系统的虚拟处理器,该命令系统与Intel 8086处理器所使用的彻底不一样。例如,VM没有负责比较2个操做数的命令,也没有有条件与无条件的移转等。就象您如今看到的,黑客必须开发一款特定的工具以分析与反编译bytecode,并且还至关地耗时。但是,咱们知道没有没法破解的保护程序,这也是咱们为何会将保护级别达到破解费用与购买费用至关(或破解费用甚至超过购买费用)的程度。无论怎么样,请您记住VMProtect是惟一一款能帮助您“隐藏”主要软件保护机制的工具。html
具体功能:web
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)。指定的程序将在虚拟机的该文件中运行。工具
软件安全加解密软件安全加解密软件安全加解密软件安全加解密软件安全加解密spa
原文来自 http://www.fanganwang.com/product/3178,欢迎转载。操作系统
VMProtect 相关文章