Code Virtualizer是Windows,Linux和Mac OS X應(yīng)用程序的強(qiáng)大代碼混淆系統(tǒng),幫助開發(fā)人員根據(jù)基于代碼虛擬化,使用非常強(qiáng)的混淆代碼保護(hù)其敏感代碼區(qū)域免受逆向工程。
Code Virtualizer會(huì)將您的原始代碼(Intel x86 / x64指令)轉(zhuǎn)換為只能由內(nèi)部虛擬機(jī)理解的虛擬操作碼。這些虛擬操作碼和虛擬機(jī)本身對(duì)于每個(gè)受保護(hù)的應(yīng)用程序是唯一的,避免了對(duì)Code Virtualizer的一般性攻擊。
Code Virtualizer可以保護(hù)任何x32和x64本機(jī)PE / ELF / Mach-O文件(如可執(zhí)行文件/ EXE、系統(tǒng)服務(wù)、DLL、OCX、ActiveX控件、共享對(duì)象、屏幕保護(hù)程序和設(shè)備驅(qū)動(dòng)程序)中的敏感代碼區(qū)。
當(dāng)創(chuàng)建應(yīng)用程序時(shí),編譯器將應(yīng)用程序源代碼編譯為由機(jī)器語言代碼組成的幾個(gè)目標(biāo)文件。 然后,將目標(biāo)文件鏈接在一起以創(chuàng)建最終的可執(zhí)行文件。

當(dāng)攻擊者試圖破解編譯的應(yīng)用程序時(shí),他將使用反編譯工具,將機(jī)器語言代碼反編譯為更全面的代碼(如匯編代碼或更高編程語言),并對(duì)反編譯代碼進(jìn)行研究。

當(dāng)攻擊者具有目標(biāo)應(yīng)用程序的良好知識(shí)時(shí),他可以修改編譯的應(yīng)用程序以更改其行為。例如,攻擊者可以繞過在應(yīng)用程序中檢查試用期的例程,并使其永遠(yuǎn)運(yùn)行,甚至更糟糕的是,導(dǎo)致應(yīng)用程序的行為好像已注冊(cè)。
Code Virtualizer可將來自特定機(jī)器的二進(jìn)制代碼轉(zhuǎn)換成另一個(gè)機(jī)器理解的不同二進(jìn)制代碼。 也就是說,來自特定機(jī)器的指令集被轉(zhuǎn)換成由不同機(jī)器理解的新指令集。下圖顯示了從一個(gè)Intel x86指令塊轉(zhuǎn)換為另一臺(tái)機(jī)器(特別是RISC 32位CPU)的新指令集:

Code Virtualizer可以生成多種類型的虛擬機(jī),每個(gè)虛擬機(jī)具有不同的指令集。 這意味著Intel x86指令的特定塊可以轉(zhuǎn)換為每個(gè)機(jī)器的不同指令集,防止攻擊者在從x86指令轉(zhuǎn)換后識(shí)別任何生成的虛擬操作碼。下圖顯示了一塊Intel x86指令如何轉(zhuǎn)換為不同類型的虛擬操作碼,這些虛擬操作碼可以由不同的虛擬機(jī)模擬。

當(dāng)攻擊者試圖反編譯由代碼虛擬器保護(hù)的代碼塊時(shí),他找不到原始的x86指令。而且,他會(huì)發(fā)現(xiàn)一個(gè)完全新的指令集,不被他或任何其他特殊的反編譯器識(shí)別。這就迫使攻擊者通過非常艱苦的工作,識(shí)別每個(gè)操作碼如何執(zhí)行以及特定虛擬機(jī)如何為每個(gè)受保護(hù)的應(yīng)用程序工作。Code Virtualizer完全模糊了虛擬操作碼的執(zhí)行和每個(gè)唯一的虛擬機(jī)的研究,以防止有人研究如何執(zhí)行虛擬操作碼。
Code Virtualizer可以嵌入你的Win32和Win64應(yīng)用程序和設(shè)備驅(qū)動(dòng)程序輕松。你只需要選擇你的源代碼中的哪些區(qū)域?qū)⒈籆ode Virtualizer保護(hù)。以下示例說明如何在C應(yīng)用程序中保護(hù)代碼塊。

VIRTUALIZER_START / VIRTUALIZER_END是虛擬宏,不會(huì)干擾原始應(yīng)用程序的執(zhí)行。 只有在保護(hù)時(shí),Code Virtualizer才會(huì)識(shí)別這些區(qū)域的代碼,并將它們轉(zhuǎn)換為唯一的虛擬操作碼,然后在受保護(hù)的應(yīng)用程序運(yùn)行時(shí)由虛擬機(jī)模擬。
下面的圖片表示原始編譯應(yīng)用程序(受保護(hù)之前)的圖像以及在受Code Virtualizer保護(hù)時(shí)如何進(jìn)行轉(zhuǎn)換:

如圖所示,Code Virtualizer需要在受保護(hù)的應(yīng)用程序的末端嵌入生成的虛擬機(jī),以便在虛擬操作代碼執(zhí)行時(shí)模擬它們。虛擬機(jī)的大小可以從10 Kb到30 Kb(取決于所選的復(fù)雜度級(jí)別),對(duì)受保護(hù)應(yīng)用程序的最終大小沒有影響。
Code Virtualizer是一種強(qiáng)大的技術(shù),可以防止別人檢查您的敏感代碼,例如驗(yàn)證輸入的序列密鑰以注冊(cè)應(yīng)用程序的例程。此外,Code Virtualizer稍微修改受保護(hù)的應(yīng)用程序的開頭,這意味著你可以放置壓縮器或其他軟件保護(hù)程序在Code Virtualizer的上面沒有問題。
如果你是一個(gè)Windows設(shè)備驅(qū)動(dòng)程序開發(fā)人員,在因沒有解決方案來保護(hù)您的設(shè)備驅(qū)動(dòng)程序時(shí)感到煩惱,Code Virtualizer為您提供了相同的技術(shù)(32位和64位驅(qū)動(dòng)程序)應(yīng)用程序和DLL。
現(xiàn)在就嘗試Code Virtualizer,開始插入最新的軟件保護(hù)到您的Windows,Linux和Mac OS X應(yīng)用程序和設(shè)備驅(qū)動(dòng)程序!
京ICP備09015132號(hào)-996 | 違法和不良信息舉報(bào)電話:4006561155
© Copyright 2000-2026 北京哲想軟件有限公司版權(quán)所有 | 地址:北京市海淀區(qū)西三環(huán)北路50號(hào)豪柏大廈C2座11層1105室
北京哲想軟件集團(tuán)旗下網(wǎng)站:哲想軟件 | 哲想動(dòng)畫