研究生院 網(wǎng)站 建設(shè)新的營(yíng)銷模式有哪些
?
Code Virtualizer 是一個(gè)強(qiáng)大的 Windows 應(yīng)用程序代碼混淆系統(tǒng),它可以幫助開發(fā)人員保護(hù)他們的敏感代碼區(qū)域免受逆向工程的影響,基于代碼虛擬化的非常強(qiáng)大的混淆代碼。
Code Virtualizer 會(huì)將您的原始代碼(Intel x86/x64 指令)轉(zhuǎn)換為只有內(nèi)部虛擬機(jī)才能理解的虛擬操作碼。這些虛擬操作碼和虛擬機(jī)本身對(duì)于每個(gè)受保護(hù)的應(yīng)用程序都是獨(dú)一無(wú)二的,避免了對(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ū)域。
?
逆向工程基礎(chǔ)知識(shí)
在創(chuàng)建應(yīng)用程序時(shí),編譯器會(huì)將應(yīng)用程序源代碼編譯成多個(gè)由機(jī)器語(yǔ)言代碼組成的目標(biāo)文件。之后,將目標(biāo)文件鏈接在一起以創(chuàng)建最終的可執(zhí)行文件。
?
圖 1:源代碼的編譯
當(dāng)攻擊者試圖破解已編譯的應(yīng)用程序時(shí),他會(huì)使用反編譯工具將機(jī)器語(yǔ)言代碼反編譯成更全面的代碼(如匯編代碼或高級(jí)編程語(yǔ)言),并對(duì)反編譯的代碼進(jìn)行研究。
圖 2:應(yīng)用程序的反編譯
當(dāng)攻擊者對(duì)目標(biāo)應(yīng)用程序有很好的了解時(shí),他可以修改編譯后的應(yīng)用程序以改變其行為。例如,攻擊者可以繞過(guò)檢查應(yīng)用程序試用期的例程并使其永久運(yùn)行,或者更糟糕的是,使應(yīng)用程序表現(xiàn)得好像它已注冊(cè)一樣。
針對(duì)逆向工程的代碼虛擬化
代碼虛擬化包括將二進(jìn)制代碼從特定機(jī)器轉(zhuǎn)換為另一臺(tái)機(jī)器可以理解的不同二進(jìn)制代碼。也就是說(shuō),來(lái)自特定機(jī)器的指令集被轉(zhuǎn)換為不同機(jī)器可以理解的新指令集。下圖表示從一塊 Intel x86 指令到另一臺(tái)機(jī)器(特別是 RISC 32 位 CPU)的新指令集的轉(zhuǎn)換:
圖 3:從 x86 到 RISC 32 位 CPU 的轉(zhuǎn)換
Code Virtualizer 可以生成多種類型的虛擬機(jī),每種虛擬機(jī)具有不同的指令集。這意味著可以將特定的 Intel x86 指令塊轉(zhuǎn)換為每臺(tái)機(jī)器的不同指令集,從而防止攻擊者識(shí)別從 x86 指令轉(zhuǎn)換后生成的任何虛擬操作碼。下圖展示了一個(gè) Intel x86 指令塊是如何轉(zhuǎn)換成不同種類的虛擬操作碼的,這些虛擬操作碼可以被不同的虛擬機(jī)模擬。
圖 4:從 x86 到多個(gè) Imaginary CPU 的轉(zhuǎn)換
當(dāng)攻擊者試圖反編譯受 Code Virtualizer 保護(hù)的代碼塊時(shí),他將找不到原始的 x86 指令。相反,他會(huì)發(fā)現(xiàn)一個(gè)他或任何其他特殊反編譯器都無(wú)法識(shí)別的全新指令集。這將迫使攻擊者通過(guò)極其艱苦的工作來(lái)識(shí)別每個(gè)操作碼的執(zhí)行方式以及特定虛擬機(jī)如何為每個(gè)受保護(hù)的應(yīng)用程序工作。Code Virtualizer 完全混淆了虛擬操作碼的執(zhí)行和每個(gè)唯一虛擬機(jī)的研究,以防止有人研究虛擬操作碼是如何執(zhí)行的。
現(xiàn)實(shí)生活中的代碼虛擬化
Code Virtualizer 可以輕松嵌入到您的 Win32 和 Win64 應(yīng)用程序和設(shè)備驅(qū)動(dòng)程序中。您只需選擇源代碼中的哪些區(qū)域?qū)⑹?Code Virtualizer 保護(hù)。以下示例顯示了如何保護(hù) C 應(yīng)用程序中的代碼塊。
VIRTUALIZER_START/VIRTUALIZER_END 宏是虛擬宏,不會(huì)干擾原始應(yīng)用程序的執(zhí)行。只有在保護(hù)時(shí)間,Code Virtualizer 才會(huì)識(shí)別這些代碼區(qū)域并將它們轉(zhuǎn)換為唯一的虛擬操作碼,然后在受保護(hù)的應(yīng)用程序運(yùn)行時(shí)由虛擬機(jī)模擬。
下圖表示一個(gè)原始編譯應(yīng)用程序(在被保護(hù)之前)的圖像,以及它在受 Code Virtualizer 保護(hù)時(shí)是如何轉(zhuǎn)換的:
圖 5:原始應(yīng)用程序與受保護(hù)應(yīng)用程序
如圖所示,Code Virtualizer 需要將生成的虛擬機(jī)嵌入到受保護(hù)應(yīng)用程序的末尾,以便在它們將要執(zhí)行時(shí)模擬虛擬操作碼。
Code Virtualizer 是一項(xiàng)強(qiáng)大的技術(shù),可以防止他人檢查您的敏感代碼,例如驗(yàn)證輸入的序列號(hào)以注冊(cè)應(yīng)用程序的例程。此外,Code Virtualizer 稍微修改了受保護(hù)應(yīng)用程序的標(biāo)頭,這意味著您可以在 Code Virtualizer 之上放置一個(gè)壓縮器或其他軟件保護(hù)器,而不會(huì)出現(xiàn)任何問(wèn)題。
如果您是 Windows 設(shè)備驅(qū)動(dòng)程序開發(fā)人員并且在沒有解決方案來(lái)保護(hù)您的設(shè)備驅(qū)動(dòng)程序時(shí)感到被忽視,Code Virtualizer 為您提供了與您的設(shè)備驅(qū)動(dòng)程序相同的技術(shù)(對(duì)于 32 位和 64 位驅(qū)動(dòng)程序)應(yīng)用程序和 DLL。
立即試用 Code Virtualizer,開始將最新的軟件保護(hù)插入您的應(yīng)用程序和設(shè)備驅(qū)動(dòng)程序!
特征
這些是 Code Virtualizer? 的主要功能:
-
通過(guò)多個(gè)虛擬機(jī)進(jìn)行混淆
-
為每個(gè)受保護(hù)的應(yīng)用程序提供獨(dú)特的保護(hù)
-
保護(hù)任何 x32 和 x64 應(yīng)用程序和設(shè)備驅(qū)動(dòng)程序
-
高級(jí)突變引擎
-
代碼重定位以保護(hù) DLL 和設(shè)備驅(qū)動(dòng)程序
-
在獨(dú)特的虛擬機(jī)中模擬任何 Intel x86 操作碼
-
每個(gè)受保護(hù)應(yīng)用程序的唯一虛擬操作碼
-
完全兼容任何壓縮機(jī)/保護(hù)器
-
命令行保護(hù)
-
?
-
內(nè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ū)。
特征綜述編輯?
聲明:本產(chǎn)品中文介紹為慧都控件網(wǎng)版權(quán)所有,未經(jīng)慧都公司書面許可,嚴(yán)禁拷貝、轉(zhuǎn)載!
以下是 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 代碼
* 完全兼容于任何的 壓縮器 / 軟件保護(hù)層
* 由指令列加載 的保護(hù)
* 另由于最近對(duì)CV的研究,有些人已經(jīng)能夠完全還原被CV保護(hù)過(guò)的代碼? -
?