CODE VIRTUALIZER v 1.0.1.0

 

Latest Version: 1.0 | Latest Release: 1.0.1.0 | Release Date: 01-Jun-2006




Code Virtualizer is a powerful code-obfuscation system that helps developers protect their sensitive code areas against Reverse Engineering while requiring minimum system resources.

Code Virtualizer will convert your original code (Intel x86 instructions) into Virtual Opcodes that will only be understood by an internal Virtual Machine. Those Virtual Opcodes and the Virtual Machine itself are unique for every protected application, avoiding a general attack over Code Virtualizer.

Code Virtualizer can protect your sensitive code areas in any x32 and x64 native PE files (like executable files/EXEs, system services, DLLs , OCXs , ActiveX controls, screen savers and device drivers).




When an application is being created, the Compiler will compile the application source code into several object files made of machine language code. Afterward, the object files are linked together to create the final executable.



Figure 1: Compilation of your source code

When an attacker tries to crack a compiled application, he will use a decompiler tool which will decompile the machine language code into a more comprehensive code (like assembly code or a higher programming language), doing his research over the decompiled code.



Figure 2: Decompilation of your application

When the attacker has a good knowledge of the target application, he can modify the compiled application to alter its behavior. For example, the attacker could bypass the routine that checks for the trial period in an application and make it run forever, or, even worse, cause the application to behave as if it was registered.




Code virtualization consists of the transformation of binary code from a specific machine into a different binary code that is understood by another machine. That is, the instruction set from a specific machine is converted into a new instruction set which is understood by a different machine. The following picture represents the transformation from a block of Intel x86 instructions into a new instruction set for another machine (specifically a RISC 32-bit CPU):



Figure 3: Transformation from x86 to RISC 32-bit CPU

Code Virtualizer can generate multiple types of virtual machines with a different instruction set for each one. This means that a specific block of Intel x86 instructions can be converted into different instruction set for each machine, preventing an attacker from recognizing any generated virtual opcode after the transformation from x86 instructions. The following picture represents how a block of Intel x86 instructions is converted into different kinds of virtual opcodes, which could be emulated by different virtual machines.



Figure 4: Transformation from x86 to multiple Imaginary CPUs

When an attacker tries to decompile a block of code that was protected by Code Virtualizer, he will not find the original x86 instructions. Instead, he will find a completely new instruction set which is not recognized by him or any other special decompiler. This will force the attacker to go through the extremely hard work of identifying how each opcode is executed and how the specific virtual machine works for each protected application. Code Virtualizer totally obfuscates the execution of the virtual opcodes and the study of each unique virtual machine in order to prevent someone from studying how the virtual opcodes are executed.




Code Virtualizer can be embedded inside your Win32 and Win64 applications and device drivers with ease. You just need to select which areas in your source code are going to be protected by Code Virtualizer. The following example shows how you can protect a block of code in a C application.

  #include <stdio.h>
  #include "VirtualizerSDK.h"

  void main()
  {
      VIRTUALIZER_START      // the area to protect starts here

      printf("Hello World");

      VIRTUALIZER_END       // end of area to protect
 }

The VIRTUALIZER_START/VIRTUALIZER_END macros are dummy macros which do not interfere with the execution of the original application. It's only in protection-time when Code Virtualizer will recognize those areas of code and will covert them into unique virtual opcodes, which are then emulated by a virtual machine when the protected application is running.

The following picture represents the image of an original compiled application (before being protected) and how it's transformed when it's protected by Code Virtualizer:



Figure 5: Original Application versus Protected Application

As the image shows, Code Virtualizer needs to embed the generated virtual machine at the end of the protected application in order to emulate the virtual opcodes when they are going to be executed. The size of the virtual machine can vary from 10 Kb to 30 Kb (depending on the complexity level selected), making no impact in the final size of the protected application.


Code Virtualizer is a powerful technology that can prevent someone from inspecting your sensitive code, such as your routines that validate an entered serial key for registering your application. Also, Code Virtualizer slightly modifies the PE header of the protected application, meaning you could put a compressor or other software protector on top of Code Virtualizer with no problems.

If you are a device driver developer and felt neglected when there was no solution to protect your device drivers, Code Virtualizer offers you the same technology to do so (for either 32-bit and 64-bit drivers) in the same way as your applications and DLLs.

Try Code Virtualizer today and start inserting the latest software protection into your Win32/Win64 applications and device drivers!
 
 
Code Virtualizer 是由 Oreans 旗下开发的一款强大的代码搅乱系统。它可以帮助软件开发者保护他们软件内重要和敏感的代码区,防止他人使用逆向工程,而且它只消耗最小的系统资源。Code Virtualizer 将你源代码(Intel x86 指令)转化成虚拟的指令,只有内部的虚拟机器可以明白这些指令。对于每一个所保护的程序,这些所产生的虚拟指令以及虚拟机器本身都是独特的,以防止他人对 Code Virtualizer 采用广泛的攻击。 代码混淆保护工具 Code Virtualizer 多语特别版代码混淆保护工具 Code Virtualizer 多语特别版 Code Virtualizer 可以在任何 x32 或 x64 原生 PE 文档中(例如可执行文档(EXEs),system services,DLLs,OCXs,ActiveX 控制档,荧幕保护程序以及 装置驱动程序 )保护你重要和敏感的代码区。 Code Virtualizer® 的主要特点: 使用多个虚拟机器进行搅乱 对每个受保护程序进行独特的保护 保护任何的 x32 和 x64 程序以及 驱动程序 先进的变异引擎 代码重组来保护 DLLs 和 驱动程序 在独特的虚拟机器里模拟任何 Intel x86 代码 每个受保护程序里都有独特的虚拟码 完全兼容于任何的 压缩器 / 软件保护层 由指令列加载 的保护 Code Virtualizer 是一个可以用来防止别人窥视你重要且敏感的程序的强大技术 , 例如你用来检验所输入的注册 序号 是否正确的 例程 。此外, Code Virtualizer 稍微改比变受保护程序里的 PE 标头 ,这意味着你可以在 Code Virtualizer 上置入一个 压缩器 或另一个软件保护层。 如果你是一个 驱动程序 的开发者,而且为了找不到一个保护 驱动程序 的解决方案而烦恼, Code Virtualizer 提供你一种相同于保护你程序和 DLL 的技术来保护你的 驱动程序 ( 32- 位或者 64- 位)。 今天就尝试 Code Virtualizer ,开始为你的 32- 位 /64- 位程序以及 驱动程序 里置入软件保护业里最新的技术吧!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值