VMProtect 功能比较表
下表包含 VMProtect 不同版本支持的功能列表。可以单击某些功能以获取其他信息或说明。请确定您需要的版本并前往 订购页面。
保护方法 | 精简版 | 专业版 | 旗舰版 |
---|---|---|---|
变异 | |||
虚拟 | |||
超级 | |||
保护选项 | |||
内存保护 | |||
导入保护 | |||
资源保护 | |||
压缩受保护的文件 | |||
调试器检测 | |||
虚拟机工具检测(VMware/Virtual PC) | |||
序列号 | |||
授权管理 | |||
序列号过期 | |||
免费升级限制 | |||
将序列号锁定到硬件标识符 | |||
将受保护的代码锁定到序列号 | |||
屏蔽序列号(黑名单) | |||
序列号的网络生成器 | |||
其它功能 | |||
“专家” 模式 - 具有全套功能的高级用户界面 | |||
VMProtect 的控制台版本 | |||
水印 | |||
脚本 | |||
虚拟文件 |
上面使用的一些术语的解释
“变异” 保护方法
变异是用它们的模拟(或特定指令序列)替换源代码指令,它给出与源代码相同的结果。这是最快但最简单的软件保护方法。当您需要隐藏代码中使用的第三方库的签名时非常有用。例如,如果破解者知道您使用众所周知的 SHA-1 实现,他可能会攻击它,而不是您的代码。变异允许隐藏库的存在。
“虚拟” 保护方法
虚拟化是将可执行代码转换为具有不同架构的虚拟机指令的过程,这对于潜在的破解者来说是未知的。代码的虚拟化部分由解释器(虚拟机)执行,无需转换为本地机器代码。一般来说,虚拟化代码的重新设计需要首先研究虚拟机架构,然后需要创建一个理解该架构的反汇编程序。这两个过程都非常耗时,并且会阻止大量饼干。每次保护应用程序时,VMProtect 都会生成一组完全不同的虚拟机,因此即使破解者最终了解了特定虚拟机的体系结构,他也必须从头开始进行同一文件的第二个受保护程序。
“超级” 保护方法
结合了虚拟化和变异方法,使保护更加出色。受保护的代码首先被变异,然后结果被虚拟化。
授权管理
您可以轻松地将 以序列号注册的形式 添加到您的应用程序中。 VMProtect 提供了功能强大的 API ,允许将序列号传递给 VMProtect 的内部模块,然后检查其状态。
免费升级的限制
此功能 允许通过例如一年的免费升级来限制客户。如果客户安装稍后发布的版本,他的序列号将被拒绝。鼓励客户购买付费支持服务的一种非常好的方法。
将代码锁定到序列号
此功能 允许通过附加加密来防止执行某些代码。受保护的应用程序中不存在密钥,并且只有在输入序列号时才能对代码进行加密。但是,即使在那之后,代码仍然是虚拟化的,因此在输入有效的序列号后无法转储它。这是创建软件演示版本的基本功能。
水印
水印 是可以添加到受保护文件的唯一字节序列。它允许明确识别破解软件副本的合法所有者。
虚拟文件
虚拟文件 功能允许将文件捆绑在主可执行文件中,因此您的应用程序及其插件成为单个文件。这对于可移植应用程序或如果您想隐藏某些文件或动态加载库的使用非常有用。【此功能只在Windows版本提供,Linux、Mac版本不可用】
各功能版本类型的用户界面截图
VMProtect 具有三种功能版本:精简版、专业版和旗舰版。请参考下面用户界面截图。试用版仅提供旗舰版。