选项
VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C++、Visual Basic(本机)、Virtual Pascal和XCode编译器。
“项目”部分的“选项”小节允许您配置各种保护参数:
>文件
内存保护——此选项允许您保护内存中的文件映像免受任何更改(检查所有不具有 WRITABLE 属性的部分的数据完整性)。在将控制传递给程序的原始入口点之前执行图像完整性检查。如果违反了完整性,则会显示相应的消息并且程序会停止执行。
导入保护——此选项允许隐藏受保护程序使用的 API 列表以防止黑客攻击。我们建议将此选项与输出文件的打包一起使用。
资源保护——该选项加密程序资源(图标、清单和其他服务资源除外)。
打包输出文件——此选项允许您打包受保护的文件以减小其大小。执行受保护文件时,应用程序会自动解压缩。整个解包过程没有任何磁盘写入,完全在 RAM 中。
使用此选项时,我们还建议将EntryPoint包含到受保护对象列表中。
重要提示:
当程序启动时,在解压缩代码后,控件将传递给 。如果 EntryPoint 的代码被虚拟化,那么这段代码将在与解包程序本身的代码相同的 VM 解释器上执行。EntryPoint 的虚拟化与受保护文件的打包相结合,可防止手动解压受保护文件,因为在这种情况下,入侵者必须恢复 EntryPoint 代码才能获得工作文件映像。
附加——额外的保护级别:
水印- 允许向项目添加水印。
VM Segments——编译文件时,新的段将被添加到存储各种系统数据的地方(虚拟化和变异代码、VM 解释器、水印等)。此选项允许您为这些新段指定名称。我们建议将段的标准“.vmp”名称更改为其他名称(例如“.UPX”)。
剥离调试信息——删除调试信息会阻碍破解者对代码的分析。
Strip Relocations——一些编译器(即Delphi)为操作系统不使用的EXE文件创建一个重定位表来加载EXE文件。如果启用该选项,则重定位表占用的空间将用于 VM 需要。
>检测
调试器——此选项可防止调试受保护的文件。调试器有两种类型:用户模式调试器(OllyDBG、WinDBG 等)和内核模式调试器(SoftICE、Syser 等)。调试器检测是在将控制权传递给程序的入口点之前执行的。如果检测到调试器,则会显示相应的消息并且程序会停止执行。
Virtualiztion Tools——此选项禁止在各种虚拟环境中执行受保护的文件:VMware、Virtual PC、VirtualBox、Sandboxie。在将控制权传递给程序的入口点之前执行虚拟化检测。如果检测到虚拟环境,则会显示相应的消息并且程序会停止执行。
>信息
在这里,您可以自定义程序在检测到调试器、虚拟化工具、文件已损坏或试图执行受序列号保护的代码时显示的消息。
>许可参数
选择在许可管理器中创建的项目文件作为许可参数文件。默认情况下,使用当前项目文件。