Code Virtualizer 是一个强大的代码搅乱控件系统。它可以帮助软件开发者保护他们软件内重要和敏感的代码区,防止他人使用逆向工程,而且它只消耗最小的系统资源。
Code Virtualizer 将你源代码(Intel x86 指令)转化成虚拟的指令,只有内部的虚拟机器可以明白这些指令。对于每一个所保护的程序,这些所产生的虚拟指令以及虚拟机器本身都是独特的,以防止他人对 Code Virtualizer 采用广泛的攻击。
Code Virtualizer 可以在任何 x32 或 x64 原生 PE 文档中(例如可执行文档(EXEs),system services,DLLs,OCXs,ActiveX 控制档,荧幕保护程序以及 装置驱动程序 )保护你重要和敏感的代码区。
具体功能:
逆向工程的基本原理
当一个程序被创建时, 编译器 会将程序的源代码 编译 成多个含有机器语言代码的 对象档案 。然后,这些 对象档案 会被衔接在一起而产生最后的 可执行 文档。
当 一个软件破解者尝试破解一个编译过的程序时,他会使用反 编译器 具将机器语言代码反 编译 成另一种更容易让软件开发者明白的代码(例如 汇编语言 或者一种更高级的 程序语言 ),然后对于这反 编译 成的语言进行研究。
当 一个软件破解者对于目标程序拥有很好的了解时,他可以更改这个编译过的程序来改变它的运行。例如 , 软件破解者可以在程序里绕过一组用来检验试用期限的 例程 ,使它可以永久运作。更严重的是,软件破解者可以使程序看来已经经过注册那样地来运作。
代码虚拟化和逆向工程的比较
代码虚拟化主要是将一组 二元码 转化成另一种另一个机器才明白的 二元码 。换句话说,一个特定机器的指令将被转变成另一个机器的指令。下图展示的是一组 Intel x86 指令转变成另一个机器的指令(一个 32- 位的精简指令集计算机的指令)
Code Virtualizer 可以产生多种拥有个别指令集的虚拟机器。 换句话说,一组特定的 Intel x86 指令可以在个别的机器里被转变成各种不同的 指令集,以防 一个软件破解者从中辨别任何所产生的虚拟码。下图展示了一组 Intel x86 指令如何可以被转变成各种不同种类的虚拟机器所模拟的虚拟码。
当 一个软件破解者尝试对一组受到 Code Virtualizer 保护的代码进行 反编译时,他无法找到任何本来的 x86 指令,而只会发现一个他或其它特别的 反编译器 完全陌生的、新的指令集。这将迫使 软件破解者使用非常多的努力来研究每一行的代码的意思以及学习每一个受保护程序内的虚拟机器的运作原理。 Code Virtualizer 完完全全地对虚拟码的运行以及个别虚拟机器的学习进行了搅乱,以阻止任何人学习当中的虚拟码是如何运作的。
现实生活上的代码虚拟化
Code Virtualizer 可以被轻易地 内嵌 进你的 Win32 或 Win64 程序以及 驱动程序 里。你只需要在你的源代码当中选择你要使用 Code Virtualizer 保护的代码区。下面的例子展示你如何可以在 C 程序里保护一个特定的代码区。
#include void main() printf("Hello World"); VIRTUALIZER_END // end of area to protect |
VIRTUALIZER_START/VIRTUALIZER_END 宏 都只是多余的 宏 ,它们不会对原来的程序的运行有任何的影响。只有当一个受保护的程序运行进入保护时段时, Code Virtualizer 可以辨认这些受保护的程序区,然后将它们转变成一个虚拟机器明白的虚拟代码。
Code Virtualizer 需要将所产生的虚拟机器 内嵌 进受保护程序的末端,以便在程序运行的时候可以对模拟运行这些虚拟代码。虚拟机器的 大小 可以相等于 10 Kb 到 30 Kb (大小取决于所选择的复杂程度),对于最后所产生的受保护程序的大小没有太大的影响。
结论
Code Virtualizer 是一个可以用来防止别人窥视你重要且敏感的程序的强大技术 , 例如你用来检验所输入的注册 序号 是否正确的 例程 。此外, Code Virtualizer 稍微改比变受保护程序里的 PE 标头 ,这意味着你可以在 Code Virtualizer 上置入一个 压缩器 或另一个软件保护层。
如果你是一个软件开发者,而且为了找不到一个保护 驱动程序 的解决方案而烦恼, Code Virtualizer 提供你一种相同于保护你程序和 DLL 的技术来保护你的 驱动程序 ( 32- 位或者 64- 位)。
今天就尝试 Code Virtualizer ,开始为你的 32- 位 /64- 位程序以及 驱动程序 里置入软件保护业里最新的技术吧!
以下是 Code Virtualizer® 的主要特点:
- 使用多个虚拟机器进行搅乱
- 对每个受保护程序进行独特的保护
- 保护任何的 x32 和 x64 程序以及 驱动程序
- 先进的变异引擎
- 代码重组来保护 DLLs 和 驱动程序
- 在独特的虚拟机器里模拟任何 Intel x86 代码
- 每个受保护程序里都有独特的虚拟码
- 完全兼容于任何的 压缩器 / 软件保护层
- 由指令列加载 的保护
相关推荐
代码混淆保护工具 Code Virtualizer 多语特别版代码混淆保护工具 Code Virtualizer 多语特别版 Code Virtualizer 可以在任何 x32 或 x64 原生 PE 文档中(例如可执行文档(EXEs),system services,DLLs,OCXs,ActiveX ...
Code Virtualizer 2.2.2.0 Code VirtualizerSDK (Activated)
代码混淆工具、代码加密
Code Virtualizer 是一个强大的代码搅乱系统。它可以帮助软件开发者保护他们软件内重要和敏感的代码区,防止他人使用逆向工程,而且它只消耗最小的系统资源。 Code Virtualizer 将你源代码(Intel x86 指令)转化成...
Code Virtualizer keyfile
Code Virtualizer虚拟机代码还原 本文所讨论的对象为Code Virtualizer,所描述的方法应该也适用于其它虚拟机
虚拟机资料,来自看雪论坛
[加壳工具] Code Virtualizer 3.1.4.0 泄露版
Code Virtualizer 是一个强大的代码搅乱系统。它可以帮助软件开发者保护他们软件内重要和敏感的代码区,防止他人使用逆向工程,而且它只消耗最小的系统资源。将你源代码(Intel x86 指令)转化成虚拟的指令,只有...
x86代码虚拟器(代码混淆器)开源和精简版的应用程序使二进制代码难以理解,并给反向工程师理解代码带来了挑战。特征使用虚拟机保护来保护和混淆敏感的代码区域(将字节码转换为PCode并在虚拟机中运行它们)已使用...
Code Virtualizer是一款非常实用的程序代码混淆软件。专门为帮助开发人员保护代码区域免受逆向工程而开发的小型软件,软件能够对代码数据进行加密并将其转换成其他用户无法读取和解释的格式,欢迎下载。 这是一个...
Virtualizer_v1.3.1.0
对于反WG做初步的解释: 没有采用驱动技术,而是采用了大众化的动态链接库技术(DLL...4、采用 Code Virtualizer 对DLL本身的敏感代码上进行了加壳处理 //虚拟机保护,正常的反汇编代码会变为杂乱无章的 怪异汇编指令。
Virtualizer 专门针对Exe与dll的加壳 防报毒 防破解 Virtualizer 专门针对Exe与dll的加壳 防报毒 防破解
Name....: x86 Virtualizer - source code Author..: ReWolf Date....: IV/V.2007 Rel.Date: VIII.2007 e.mail..: rewolf@rewolf.pl www.....: http://blog.rewolf.pl --------------------------------------------...
Create React App入门该项目是通过引导的。可用脚本在项目目录中,可以运行:yarn start 在开发模式下运行应用程序。 打开在浏览器中查看它。 如果您进行编辑,则页面将重新加载。 您还将在控制台中看到任何棉绒错误...
PromiseVisualizer JavaScript许诺的视觉调试。 自从我创建了这个项目以来,我已经看到了看起来更好的东西: 。演示版特征 Shim本机promise和流行的promise库收集遥测。 (进行中) 可用于填充未知承诺函数的函数 ...
JMH可视化器 直观地查看您的基准! 在线版本位于 ! 带有2个配套项目: 特征 无服务器架构-所有操作均在您的浏览器中本地进行 可视化按基准测试类别分组的(一个JSON文件)的基准测试 带有分数和分数错误的垂直条形...
<?xml version="1.0" encoding="utf-8" ?> ... <surround_virtualizer_headphone>true</surround_virtualizer_headphone> <surround_virtualizer_speaker>true</surround_virtualizer_speaker> </profiledata>
laserscan_virtualizer 两者都使用ROS中可用的pointcloud_to_laserscan代码的一部分。 Laserscan_merger允许轻松且动态地(rqt_reconfigure)将多个,同一时间,单个扫描平面合并,将激光扫描合并为一个; 这对于...