主页 » 支持 » 用户手册 » 介绍 » 词汇表

词汇表

如果您不知道特定于相应主题的术语,就无法有效地使用工具。以下词汇表解释了 VMProtect 中使用的术语。词汇表并非详尽无遗,因此某些术语可能提供与经典术语不同的含义。

字节码 – 将真实处理器的指令转码为虚拟机指令后接收到的代码。

虚拟化 – 将应用程序的部分可执行代码转换为具有潜在破解者未知的命令系统、架构和操作逻辑的虚拟机命令的过程。虚拟化的代码片段由虚拟机的解释器执行,无需将它们转换为物理处理器的机器语言代码。通常,虚拟化片段的逆向工程归结为构建与虚拟机模仿的处理器具有相同架构的反汇编器,并分析生成的反汇编代码。

虚拟机 – 在受保护的应用程序中直接执行字节码的程序代码。

水印 – 每个用户的唯一字节数组,可以明确识别程序被黑副本的合法所有者。

变异 – 用模拟或一组产生相同结果的命令替换原始命令

混淆– 一组旨在使程序代码分析复杂化的方法和技术。根据编写受保护程序的编程语言,使用不同的混淆类型。用解释语言(Perl、PHP 和其他语言)编写的应用程序的混淆是通过修改源代码来实现的:删除注释、给变量赋予毫无意义的名称、加密字符串常量等等。Java/.NET 应用程序的混淆是通过转换虚拟机处理的字节码来执行的。编译程序的混淆依赖于修改机器语言代码:混淆器添加各种 “垃圾” 命令、 “死代码” 、随机跳转。此外,原始命令发生变异,部分操作被移动到堆栈中,并进行了许多结构(或不太常见的数学)转换。对混淆的代码片段进行逆向工程会尝试将片段恢复到其原始状态,只要正确完成混淆,这是一项耗时的任务。

软件保护程序 – 旨在保护其他程序免受破解者攻击的软件。今天的大多数保护者不会修改应用程序的源代码,而是压缩或加密应用程序。主要重点是保护解包/解密程序或过程。

EntryPoint 入口点 – 加载到内存中的应用程序的初始地址执行开始。

压缩 – 一种通过使用非典型算法压缩程序和/或库的可执行文件来保护程序代码的方法。受保护的代码片段由压缩程序压缩,并在应用程序执行时在用户端完全或部分解包。

加密使用强大的加密算法保护应用程序代码的一部分。受加密保护的软件要求最终用户输入激活码,以消除开发人员为未注册版本的程序设置的限制。