VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C++、Visual Basic(本机)、Virtual Pascal和XCode编译器。
同时,VMProtect有一个内置的反汇编程序,可以与Windows和Mac OS X可执行文件一起使用,并且还可以链接编译器创建的MAP文件,以快速选择要保护的代码片段。
为了轻松实现应用程序保护任务的自动化,VMProtect实现了内置脚本语言。VMProtect完全支持Windows系列的32/64位操作系统(从Windows 2000开始)和Mac OSX(从版本10.6开始)。重要的是,无论目标平台如何,VMProtect都支持所有范围的可执行文件,即Windows版本可以处理Mac OS X版本的文件,反之亦然。
VMProtect的基本原理是通过使应用程序代码和逻辑以供进一步分析和破解,从而为应用程序代码提供有效的保护。VMProtect应用的主要软件代码保护机制包括:虚拟化、突变和组合保护,其涉及应用代码的突变与后续虚拟化。
在VMProtect中使用的虚拟化方法的关键优点在于,执行虚拟化代码片段的虚拟机被嵌入到受保护应用程序的结果代码中。因此,受VMProtect保护的应用无需第三方库或模块即可运行。VMProtect允许使用多个不同的虚拟机来保护同一应用程序的不同代码片段,从而导致更复杂的破解过程,因为黑客现在必须分析多个虚拟机的架构。
VMProtect中应用的应用程序代码突变的方法基于向应用程序代码添加各种过多的“垃圾”命令、代码的“死”部分、随机条件跳转的过程。它还改变原始命令并将某些操作的执行转移到堆栈。
VMProtect与其他软件保护器的主要区别在于它能够使用不同的方法保护代码的不同部分:代码的一部分可以被虚拟化,另一部分被混淆,并且使用组合方法保护关键片段。
VMProtect的另一个独特功能是嵌入水印应用程序的代码。水印允许明确识别程序的黑客副本的官方所有者,并因此对他或她采取某些措施。
VMProtect有3个版本:
- Lite;
- Professional;
- Ultimate;
下表列出了某些VMProtect版本的功能差异:
技术支持 | VMProtect版本 | ||
Lite | Professional | Ultimate | |
保护方法 | |||
突变 | + | + | + |
虚拟化 | + | + | + |
突变+虚拟化) | + | + | + |
控制台版本 | - | + | + |
保护选项 | |||
内存保护 | + | + | + |
进口保护 | + | + | + |
资源保护 | + | + | + |
包装 | + | + | + |
调试器检测 | + | + | + |
虚拟盒检测 | + | + | + |
服务功能 | |||
水印 | - | + | + |
脚本语言 | - | + | + |
许可证制度 | - | - | + |
许可证管理器 | - | - | + |
文件保护 | - | - | + |
如果你不知道特定于相应主题的术语,你就不能有效地使用工具。以下术语解释了VMProtect中使用的术语。本词汇表并非详尽无遗,因此某些术语的含义可能与经典术语不同。
字节码-在将真实的处理器的命令转码为虚拟机的命令之后接收的代码。
虚拟化-将应用程序的可执行代码的一部分转换为虚拟机的命令的过程,其特征在于潜在黑客未知的命令系统、架构和操作逻辑。虚拟化的代码片段由虚拟机的解释器执行,而不将它们转换为物理处理器的机器语言代码。通常,虚拟化片段的逆向工程归结为构建具有与虚拟机模仿的处理器相同的架构的反汇编器以及分析所得到的反汇编代码。
虚拟机-在受保护的应用程序中直接执行字节码的程序代码。
水印-每个用户唯一的字节数组,允许明确识别程序的黑客副本的法律的所有者。
突变-用一个类似的命令或产生相同结果的一组特定命令替换原始命令。
混淆-一组旨在使程序代码分析复杂化的方法和技术。根据编写受保护程序的编程语言,使用不同的混淆类型。通过修改源代码,对解释语言(Perl、PHP等)编写的应用程序进行混淆:注释被删除,变量被赋予无意义的名称,字符串常量被加密等等。Java / .NET应用程序的混淆是通过转换虚拟机处理的字节码来执行的。编译程序的混淆依赖于修改机器语言代码:混淆器添加各种“垃圾”命令、“死代码”、随机跳转。此外,原始命令会发生变化,一部分操作会移动到堆栈,并且会进行许多结构(或不太常见的数学)转换。代码的混淆片段的逆向工程尝试将片段带回到其原始状态,并且只要混淆正确地完成,这是耗时的任务。
保护器-旨在保护其他程序免受黑客攻击的软件。今天的大多数保护程序不修改应用程序的源代码,而是打包或加密应用程序。主要焦点放在保护解包/解密程序或过程上。
入口点-加载到内存中的应用程序的初始地址执行从开始。
打包-通过使用非典型算法压缩程序和可执行文件来保护程序代码的方式。受保护的代码片段由打包器压缩,并且当执行应用时在用户侧完全或部分地解包。文章来源:https://www.toymoban.com/news/detail-444628.html
加密- 使用强大的加密算法保护应用程序的一部分代码。受加密保护的软件需要最终用户输入激活码,以消除开发人员为未注册版本的程序设置的限制。如有软件下载需求,请私信我~文章来源地址https://www.toymoban.com/news/detail-444628.html
到了这里,关于加密解密软件VMProtect入门使用教程(一):软件及专业术语介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!