沒(méi)有找到合適的產(chǎn)品?
聯(lián)系客服協(xié)助選型:023-68661681
提供3000多款全球軟件/控件產(chǎn)品
針對(duì)軟件研發(fā)的各個(gè)階段提供專業(yè)培訓(xùn)與技術(shù)咨詢
根據(jù)客戶需求提供定制化的軟件開(kāi)發(fā)服務(wù)
全球知名設(shè)計(jì)軟件,顯著提升設(shè)計(jì)質(zhì)量
打造以經(jīng)營(yíng)為中心,實(shí)現(xiàn)生產(chǎn)過(guò)程透明化管理
幫助企業(yè)合理產(chǎn)能分配,提高資源利用率
快速打造數(shù)字化生產(chǎn)線,實(shí)現(xiàn)全流程追溯
生產(chǎn)過(guò)程精準(zhǔn)追溯,滿足企業(yè)合規(guī)要求
以六西格瑪為理論基礎(chǔ),實(shí)現(xiàn)產(chǎn)品質(zhì)量全數(shù)字化管理
通過(guò)大屏電子看板,實(shí)現(xiàn)車間透明化管理
對(duì)設(shè)備進(jìn)行全生命周期管理,提高設(shè)備綜合利用率
實(shí)現(xiàn)設(shè)備數(shù)據(jù)的實(shí)時(shí)采集與監(jiān)控
打通數(shù)據(jù)孤島 實(shí)現(xiàn)生產(chǎn)過(guò)程全透明化
實(shí)現(xiàn)產(chǎn)品全生命周期的質(zhì)量管理與追溯
精準(zhǔn)制定生產(chǎn)計(jì)劃 合理配置生產(chǎn)資源
全面可視的生產(chǎn)質(zhì)量統(tǒng)計(jì)與追溯
一鍵生成排產(chǎn)計(jì)劃,有效提升資源利用率
打通生產(chǎn)過(guò)程數(shù)字化全鏈路,提高生產(chǎn)效率
幫助企業(yè)大幅降低因改裝質(zhì)量問(wèn)題帶來(lái)的損失
打造數(shù)字化工廠,全面提升產(chǎn)品質(zhì)量
快速應(yīng)對(duì)訂單變化,大幅減少企業(yè)資源浪費(fèi)
實(shí)現(xiàn)產(chǎn)品報(bào)價(jià)快速精準(zhǔn),全面實(shí)現(xiàn)生產(chǎn)透明化
打造生產(chǎn)計(jì)劃自動(dòng)排產(chǎn)信息化平臺(tái)
Code Virtualizer 是一個(gè)強(qiáng)大的代碼攪亂系統(tǒng)。它可以幫助軟件開(kāi)發(fā)者保護(hù)他們軟件內(nèi)重要和敏感的代碼區(qū),防止他人使用逆向工程,而且它只消耗最小的系統(tǒng)資源。
標(biāo)簽:代碼混淆開(kāi)發(fā)商: Oreans
當(dāng)前版本: v3.2.0.0
產(chǎn)品類型:軟件
產(chǎn)品功能:加密/解密
平臺(tái)語(yǔ)言:英文
開(kāi)源水平:不提供源碼
本產(chǎn)品的分類與介紹僅供參考,具體以商家網(wǎng)站介紹為準(zhǔn),如有疑問(wèn)請(qǐng)來(lái)電 023-68661681 咨詢。
Code Virtualizer 是一個(gè)強(qiáng)大的代碼攪亂系統(tǒng)。它可以幫助軟件開(kāi)發(fā)者保護(hù)他們軟件內(nèi)重要和敏感的代碼區(qū),防止他人使用逆向工程,而且它只消耗最小的系統(tǒng)資源。
Code Virtualizer 將你源代碼(Intel x86 指令)轉(zhuǎn)化成虛擬的指令,只有內(nèi)部的虛擬機(jī)器可以明白這些指令。對(duì)于每一個(gè)所保護(hù)的程序,這些所產(chǎn)生的虛擬指令以及虛擬機(jī)器本身都是獨(dú)特的,以防止他人對(duì) Code Virtualizer 采用廣泛的攻擊。
Code Virtualizer 可以在任何 x32 或 x64 原生 PE 文檔中(例如可執(zhí)行文檔(EXEs),system services,DLLs,OCXs,ActiveX 控制檔,熒幕保護(hù)程序以及 裝置驅(qū)動(dòng)程序 )保護(hù)你重要和敏感的代碼區(qū)。
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).
聲明:本產(chǎn)品中文介紹為慧都網(wǎng)版權(quán)所有,未經(jīng)慧都公司書面許可,嚴(yán)禁拷貝、轉(zhuǎn)載!
* 關(guān)于本產(chǎn)品的分類與介紹僅供參考,精準(zhǔn)產(chǎn)品資料以官網(wǎng)介紹為準(zhǔn),如需購(gòu)買請(qǐng)先行測(cè)試。
逆向工程的基本原理
當(dāng)一個(gè)程序被創(chuàng)建時(shí), 編譯器 會(huì)將程序的源代碼 編譯 成多個(gè)含有機(jī)器語(yǔ)言代碼的 對(duì)象檔案 。然后,這些 對(duì)象檔案 會(huì)被銜接在一起而產(chǎn)生最后的 可執(zhí)行 文檔。
圖 1: 編譯你的原代碼
當(dāng) 一個(gè)軟件破解者嘗試破解一個(gè)編譯過(guò)的程序時(shí),他會(huì)使用反 編譯器 具將機(jī)器語(yǔ)言代碼反 編譯 成另一種更容易讓人明白的代碼(例如 匯編語(yǔ)言 或者一種更高級(jí)的 程序語(yǔ)言 ),然后對(duì)于這反 編譯 成的語(yǔ)言進(jìn)行研究。
圖 2: 對(duì)你的程序作反編譯
當(dāng) 一個(gè)軟件破解者對(duì)于目標(biāo)程序擁有很好的了解時(shí),他可以更改這個(gè)編譯過(guò)的程序來(lái)改變它的運(yùn)行。例如 , 軟件破解者可以在程序里繞過(guò)一組用來(lái)檢驗(yàn)試用期限的 例程 ,使它可以永久運(yùn)作。更嚴(yán)重的是,軟件破解者可以使程序看來(lái)已經(jīng)經(jīng)過(guò)注冊(cè)那樣地來(lái)運(yùn)作。
代碼虛擬化和逆向工程的比較
代碼虛擬化主要是將一組 二元碼 轉(zhuǎn)化成另一種另一個(gè)機(jī)器才明白的 二元碼 。換句話說(shuō),一個(gè)特定機(jī)器的指令將被轉(zhuǎn)變成另一個(gè)機(jī)器的指令。下圖展示的是一組 Intel x86 指令轉(zhuǎn)變成另一個(gè)機(jī)器的指令(一個(gè) 32- 位的精簡(jiǎn)指令集計(jì)算機(jī)的指令)
圖 3: Intel x86 指令轉(zhuǎn)變成 精簡(jiǎn)指令集計(jì)算機(jī) 的指令
Code Virtualizer 可以產(chǎn)生多種擁有個(gè)別指令集的虛擬機(jī)器。 換句話說(shuō),一組特定的 Intel x86 指令可以在個(gè)別的機(jī)器里被轉(zhuǎn)變成各種不同的 指令集,以防 一個(gè)軟件破解者從中辨別任何所產(chǎn)生的虛擬碼。下圖展示了一組 Intel x86 指令如何可以被轉(zhuǎn)變成各種不同種類的虛擬機(jī)器所模擬的虛擬碼。
圖 4: x86 到多種虛擬 CPU 的轉(zhuǎn)化
當(dāng) 一個(gè)軟件破解者嘗試對(duì)一組受到 Code Virtualizer 保護(hù)的代碼進(jìn)行 反編譯時(shí),他無(wú)法找到任何本來(lái)的 x86 指令,而只會(huì)發(fā)現(xiàn)一個(gè)他或其它特別的 反編譯器 完全陌生的、新的指令集。這將迫使 軟件破解者使用非常多的努力來(lái)研究每一行的代碼的意思以及學(xué)習(xí)每一個(gè)受保護(hù)程序內(nèi)的虛擬機(jī)器的運(yùn)作原理。 Code Virtualizer 完完全全地對(duì)虛擬碼的運(yùn)行以及個(gè)別虛擬機(jī)器的學(xué)習(xí)進(jìn)行了攪亂,以阻止任何人學(xué)習(xí)當(dāng)中的虛擬碼是如何運(yùn)作的。
現(xiàn)實(shí)生活上的代碼虛擬化
Code Virtualizer 可以被輕易地 內(nèi)嵌 進(jìn)你的 Win32 或 Win64 程序以及 驅(qū)動(dòng)程序 里。你只需要在你的源代碼當(dāng)中選擇你要使用 Code Virtualizer 保護(hù)的代碼區(qū)。下面的例子展示你如何可以在 C 程序里保護(hù)一個(gè)特定的代碼區(qū)。
#include <stdio.h>
void main() printf("Hello World"); VIRTUALIZER_END // end of area to protect |
VIRTUALIZER_START/VIRTUALIZER_END 宏 都只是多余的 宏 ,它們不會(huì)對(duì)原來(lái)的程序的運(yùn)行有任何的影響。只有當(dāng)一個(gè)受保護(hù)的程序運(yùn)行進(jìn)入保護(hù)時(shí)段時(shí), Code Virtualizer 可以辨認(rèn)這些受保護(hù)的程序區(qū),然后將它們轉(zhuǎn)變成一個(gè)虛擬機(jī)器明白的虛擬代碼。
下圖展示了一個(gè)原來(lái) 編譯過(guò)的程序(在還沒(méi)有受保護(hù)時(shí))以及當(dāng)它被 Code Virtualizer 保護(hù)時(shí)所經(jīng)過(guò)的 轉(zhuǎn)變。
圖 5: 原來(lái)的程序和受保護(hù)程序的比較
如圖所示, Code Virtualizer 需要將所產(chǎn)生的虛擬機(jī)器 內(nèi)嵌 進(jìn)受保護(hù)程序的末端,以便在程序運(yùn)行的時(shí)候可以對(duì)模擬運(yùn)行這些虛擬代碼。虛擬機(jī)器的 大小 可以相等于 10 Kb 到 30 Kb (大小取決于所選擇的復(fù)雜程度),對(duì)于最后所產(chǎn)生的受保護(hù)程序的大小沒(méi)有太大的影響。
結(jié)論
Code Virtualizer 是一個(gè)可以用來(lái)防止別人窺視你重要且敏感的程序的強(qiáng)大技術(shù) , 例如你用來(lái)檢驗(yàn)所輸入的注冊(cè) 序號(hào) 是否正確的 例程 。此外, Code Virtualizer 稍微改比變受保護(hù)程序里的 PE 標(biāo)頭 ,這意味著你可以在 Code Virtualizer 上置入一個(gè) 壓縮器 或另一個(gè)軟件保護(hù)層。
如果你是一個(gè) 驅(qū)動(dòng)程序 的開(kāi)發(fā)者,而且為了找不到一個(gè)保護(hù) 驅(qū)動(dòng)程序 的解決方案而煩惱, Code Virtualizer 提供你一種相同于保護(hù)你程序和 DLL 的技術(shù)來(lái)保護(hù)你的 驅(qū)動(dòng)程序 ( 32- 位或者 64- 位)。
今天就嘗試 Code Virtualizer ,開(kāi)始為你的 32- 位 /64- 位程序以及 驅(qū)動(dòng)程序 里置入軟件保護(hù)業(yè)里最新的技術(shù)吧!
以下是 Code Virtualizer? 的主要特點(diǎn):
使用多個(gè)虛擬機(jī)器進(jìn)行攪亂
對(duì)每個(gè)受保護(hù)程序進(jìn)行獨(dú)特的保護(hù)
保護(hù)任何的 x32 和 x64 程序以及 驅(qū)動(dòng)程序
先進(jìn)的變異引擎
代碼重組來(lái)保護(hù) DLLs 和 驅(qū)動(dòng)程序
在獨(dú)特的虛擬機(jī)器里模擬任何 Intel x86 代碼
每個(gè)受保護(hù)程序里都有獨(dú)特的虛擬碼
完全兼容于任何的 壓縮器 / 軟件保護(hù)層
由指令列加載 的保護(hù)
Basics about Reverse Engineering
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 against Reverse Engineering
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 Virtualization in RealLife
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>
void main() 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.
Final Words
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!
These are the key features of Code Virtualizer?:
更新時(shí)間:2024-09-03 11:42:26.000 | 錄入時(shí)間:2007-08-29 10:32:51.000 | 責(zé)任編輯:胡濤
掃碼聯(lián)系 獲取幫助
一個(gè)強(qiáng)大專業(yè)的系統(tǒng) 用于軟件壓縮和加密保護(hù)
軟件反編譯和調(diào)試二進(jìn)制代碼和混淆的應(yīng)用程序
軟件一款全面的數(shù)字版權(quán)保護(hù)與軟件安全解決方案。
軟件一款為.NET Framework編寫的軟件的功能強(qiáng)大的代碼保護(hù)和軟件許可系統(tǒng)。
軟件Dotfuscator是一款.NET混淆器和壓縮器,防止您的應(yīng)用程序被反編譯。
官方微信
官方微博
服務(wù)電話
重慶/ 023-68661681
華東/ 13452821722
華南/ 18100878085
華北/ 17382392642
客戶支持
技術(shù)支持咨詢服務(wù)
服務(wù)熱線:400-700-1020
郵箱:sales@evget.com
關(guān)注我們
地址 : 重慶市九龍坡區(qū)火炬大道69號(hào)6幢
慧都科技 版權(quán)所有 Copyright 2003- 2024 渝ICP備12000582號(hào)-13 渝公網(wǎng)安備 50010702500608號(hào)