Code Virtualizer 是一个强大的 Windows 应用程序代码混淆系统,它可以帮助开发人员保护他们的敏感代码区域免受逆向工程的影响,基于代码虚拟化的非常强大的混淆代码。
Code Virtualizer 会将您的原始代码(Intel x86/x64 指令)转换为只有内部虚拟机才能理解的虚拟操作码。这些虚拟操作码和虚拟机本身对于每个受保护的应用程序都是独一无二的,避免了对 Code Virtualizer 的一般攻击。
Code Virtualizer 可以保护任何 x32 和 x64 本机 PE/ELF/Mach-O 文件(如可执行文件/EXE、系统服务、DLL、OCX、ActiveX控件、共享对象、屏幕保护程序和设备驱动程序)中的敏感代码区域。
逆向工程基础知识
在创建应用程序时,编译器会将应用程序源代码编译成多个由机器语言代码组成的目标文件。之后,将目标文件链接在一起以创建最终的可执行文件。
图 1:源代码的编译
当攻击者试图破解已编译的应用程序时,他会使用反编译工具将机器语言代码反编译成更全面的代码(如汇编代码或高级编程语言),并对反编译的代码进行研究。
图 2:应用程序的反编译
当攻击者对目标应用程序有很好的了解时,他可以修改编译后的应用程序以改变其行为。例如,攻击者可以绕过检查应用程序试用期的例程并使其永久运行,或者更糟糕的是,使应用程序表现得好像它已注册一样。
针对逆向工程的代码虚拟化
代码虚拟化包括将二进制代码从特定机器转换为另一台机器可以理解的不同二进制代码。也就是说,来自特定机器的指令集被转换为不同机器可以理解的新指令集。下图表示从一块 Intel x86 指令到另一台机器(特别是 RISC 32 位 CPU)的新指令集的转换:
图 3:从 x86 到 RISC 32 位 CPU 的转换
Code Virtualizer 可以生成多种类型的虚拟机,每种虚拟机具有不同的指令集。这意味着可以将特定的 Intel x86 指令块转换为每台机器的不同指令集,从而防止攻击者识别从 x86 指令转换后生成的任何虚拟操作码。下图展示了一个 Intel x86 指令块是如何转换成不同种类的虚拟操作码的,这些虚拟操作码可以被不同的虚拟机模拟。
图 4:从 x86 到多个 Imaginary CPU 的转换
当攻击者试图反编译受 Code Virtualizer 保护的代码块时,他将找不到原始的 x86 指令。相反,他会发现一个他或任何其他特殊反编译器都无法识别的全新指令集。这将迫使攻击者通过极其艰苦的工作来识别每个操作码的执行方式以及特定虚拟机如何为每个受保护的应用程序工作。Code Virtualizer 完全混淆了虚拟操作码的执行和每个唯一虚拟机的研究,以防止有人研究虚拟操作码是如何执行的。
现实生活中的代码虚拟化
Code Virtualizer 可以轻松嵌入到您的 Win32 和 Win64 应用程序和设备驱动程序中。您只需选择源代码中的哪些区域将受 Code Virtualizer 保护。以下示例显示了如何保护 C 应用程序中的代码块。
VIRTUALIZER_START/VIRTUALIZER_END 宏是虚拟宏,不会干扰原始应用程序的执行。只有在保护时间,Code Virtualizer 才会识别这些代码区域并将它们转换为唯一的虚拟操作码,然后在受保护的应用程序运行时由虚拟机模拟。
下图表示一个原始编译应用程序(在被保护之前)的图像,以及它在受 Code Virtualizer 保护时是如何转换的:
图 5:原始应用程序与受保护应用程序
如图所示,Code Virtualizer 需要将生成的虚拟机嵌入到受保护应用程序的末尾,以便在它们将要执行时模拟虚拟操作码。
Code Virtualizer 是一项强大的技术,可以防止他人检查您的敏感代码,例如验证输入的序列号以注册应用程序的例程。此外,Code Virtualizer 稍微修改了受保护应用程序的标头,这意味着您可以在 Code Virtualizer 之上放置一个压缩器或其他软件保护器,而不会出现任何问题。
如果您是 Windows 设备驱动程序开发人员并且在没有解决方案来保护您的设备驱动程序时感到被忽视,Code Virtualizer 为您提供了与您的设备驱动程序相同的技术(对于 32 位和 64 位驱动程序)应用程序和 DLL。
立即试用 Code Virtualizer,开始将最新的软件保护插入您的应用程序和设备驱动程序!
特征
这些是 Code Virtualizer® 的主要功能:
-
通过多个虚拟机进行混淆
-
为每个受保护的应用程序提供独特的保护
-
保护任何 x32 和 x64 应用程序和设备驱动程序
-
高级突变引擎
-
代码重定位以保护 DLL 和设备驱动程序
-
在独特的虚拟机中模拟任何 Intel x86 操作码
-
每个受保护应用程序的唯一虚拟操作码
-
完全兼容任何压缩机/保护器
-
命令行保护
-
-
内容介绍编辑
它可以帮助软件开发者保护他们软件内重要和敏感的代码区,防止他人使用逆向工程,而且它只消耗最小的系统资源。
Code Virtualizer 将你源代码(Intel x86 指令)转化成虚拟的指令,只有内部的虚拟机器可以明白这些指令。对于每一个所保护的程式,这些所产生的虚拟指令以及虚拟机器本身都是独特的,以防止他人对 Code Virtualizer 采用广泛的攻击。
Code Virtualizer 可以在任何 x32 或 x64 原生 PE 文档中(例如可执行文档(EXEs),system services,DLLs,OCXs,ActiveX 控制档,荧幕保护程式以及 装置驱动程序 )保护你重要和敏感的代码区。
特征综述编辑
声明:本产品中文介绍为慧都控件网版权所有,未经慧都公司书面许可,严禁拷贝、转载!
以下是 Code Virtualizer® 的主要特点:
* 使用多个虚拟机器进行搅乱
* 对每个受保护程式进行独特的保护
* 保护任何的 x32 和 x64 程式以及 驱动程序
* 先进的变异引擎
* 代码重组来保护 DLLs 和 驱动程序
* 在独特的虚拟机器里模拟任何 Intel x86 代码
* 完全兼容于任何的 压缩器 / 软件保护层
* 由指令列加载 的保护
* 另由于最近对CV的研究,有些人已经能够完全还原被CV保护过的代码 -