整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          代碼混淆無需大價錢,Code Virtualizer輕松搞定

          何創(chuàng)建創(chuàng)新性應(yīng)用程序,DLL或設(shè)備驅(qū)動程序的開發(fā)人員都希望將代碼盡可能機密,以避免第三方公司/開發(fā)人員研究應(yīng)用程序內(nèi)的代碼并為自己的利益而竊取代碼。一些開發(fā)人員使用外部保護系統(tǒng)來打包應(yīng)用程序并保護其免受攻擊者的侵害,但是大多數(shù)時候,這些保護系統(tǒng)無法提供他們所需要的強度,從而使開發(fā)人員在完全解壓縮應(yīng)用程序后完全感到沮喪。

          市面很多代碼保護軟件,雖然功能強大,但同樣價格昂貴,小編今天為大家推薦一款性價比高的代碼混淆軟件Code Virtualizer。

          Code Virtualizer不能像普通的打包器那樣工作;相反,它只是保護開發(fā)人員選擇的敏感代碼區(qū)域。這些敏感區(qū)域?qū)⑥D(zhuǎn)換為內(nèi)部的虛擬機操作碼,只有Code Virtualizer才能理解。如果攻擊者試圖了解虛擬機的操作碼,則他將不得不跟蹤一個復(fù)雜且多態(tài)的虛擬機,這使他在任何時候都正在執(zhí)行什么代碼方面大失所望。(點擊文末“了解更多”下載Code Virtualizer)

          虛擬化x86代碼(用于32位或64位)的整個過程可以在以下階段進行描述:

          • 讀取敏感代碼塊以進行保護:Code Virtualizer將在已編譯的應(yīng)用程序中搜索開發(fā)人員在其源代碼中插入的所有敏感塊
          • 為應(yīng)用程序創(chuàng)建一個唯一的虛擬機:Code Virtualizer使用其多態(tài)引擎創(chuàng)建一個唯一的虛擬機,以解釋轉(zhuǎn)換后的虛擬操作碼
          • 將原始x86操作碼轉(zhuǎn)換為特定的虛擬操作碼:Code Virtualizer會將原始x86操作碼轉(zhuǎn)換為僅先前生成的唯一虛擬機可以理解的特定操作碼
          • 銷毀原始x86操作碼并將執(zhí)行重定向到虛擬機:代碼虛擬器將銷毀原始x86操作碼并將塊中的第一條指令重定向到虛擬機,執(zhí)行虛擬操作碼而不是原始x86操作碼

          逆向工程的代碼虛擬器

          代碼虛擬化包括將二進制代碼從特定機器轉(zhuǎn)換為另一臺機器可以理解的不同二進制代碼。即,來自特定機器的指令集被轉(zhuǎn)換為新的指令集,該新的指令集被另一機器理解。下圖表示從Intel x86指令塊到另一臺機器(特別是RISC 32位CPU)的新指令集的轉(zhuǎn)換:

          Code Virtualizer可以生成多種虛擬機,每種虛擬機具有不同的指令集。這意味著可以將特定的Intel x86指令塊轉(zhuǎn)換為每臺計算機的不同指令集,從而防止攻擊者在從x86指令轉(zhuǎn)換后識別任何生成的虛擬操作碼。下圖表示如何將Intel x86指令塊轉(zhuǎn)換為不同類型的虛擬操作碼,這些虛擬操作碼可以由不同的虛擬機模擬。

          當攻擊者嘗試反編譯受Code Virtualizer保護的代碼塊時,他將找不到原始的x86指令。相反,他將找到一個全新的指令集,該指令集將不會被他或其他任何特殊的反編譯器所識別。這將迫使攻擊者進行極其艱巨的工作,以確定每個操作碼的執(zhí)行方式以及特定虛擬機如何為每個受保護的應(yīng)用程序工作。Code Virtualizer完全混淆了虛擬操作碼的執(zhí)行和對每個唯一虛擬機的研究,以防止有人研究如何執(zhí)行虛擬操作碼。

          下圖顯示了原始已編譯應(yīng)用程序的圖像(在受到保護之前)以及在受Code Virtualizer保護時如何轉(zhuǎn)換:

          如圖所示,Code Virtualizer需要將生成的虛擬機嵌入到受保護的應(yīng)用程序的末尾(或在Stealth Mode中隱藏在您自己的代碼中),以便在要執(zhí)行虛擬操作碼時模擬它們。虛擬機的大小可以從500Kb到3Mb以上不等!(取決于所選的虛擬機體系結(jié)構(gòu))。您還可以壓縮生成的虛擬機和虛擬化的代碼,以減少磁盤上最終應(yīng)用程序的大小。

          使用環(huán)境

          • Win32和Win64本機應(yīng)用程序(EXE文件)
          • Win32和Win64本機系統(tǒng)服務(wù)
          • Win32和Win64 設(shè)備驅(qū)動程序(NT設(shè)備驅(qū)動程序,WDM等)
          • Win32和Win64本機動態(tài)鏈接庫(DLL)
          • 其他本機PE文件,例如OCX,ActiveX控件,屏幕保護程序等。
          • Linux應(yīng)用程序和庫(.so)
          • Mac OS X應(yīng)用程序

          由于.NET應(yīng)用程序的性質(zhì),Code Virtualizer無法保護.NET應(yīng)用程序中的敏感代碼。為了保護.NET應(yīng)用程序,建議您使用其他產(chǎn)品WinLicense。

          Java開發(fā)工具中,有一種是Java混淆器,Java Obfuscator是其中之一,此工具會打亂 Java 源代碼,使其非常難以理解或逆向工程(示例)。這為必須交付給客戶的源代碼知識產(chǎn)權(quán)提供了重要的保護,并防止對 Java 類文件對象代碼進行過于簡單的反匯編。您只需要公開您的類提供給客戶的公共 API;您所有的內(nèi)部 API 和類名都變得高深莫測。它是 SD 的Source Code Obfuscators 家族的一員。

          Java 混淆器特性

          在不影響功能的情況下用無意義的名稱替換標識符

          用戶可定義的保留名稱列表

          提供的 Java JDK 標識符的保留名稱的預(yù)定義列表

          剝離注釋并刪除大部分源代碼結(jié)構(gòu)

          用戶可定義的評論過濾,以保護版權(quán)和公共文檔

          無需更改您的 Java 編譯或執(zhí)行過程或環(huán)境

          在混淆之前整齊地格式化 Java 源代碼以幫助開發(fā)的選項。

          以 ASCII、“歐洲 ASCII” (ISO8859-1)、Unicode 或多種其他字符編碼中的任何一種輸出編碼。

          命令行和 GUI 界面

          以上就是關(guān)于“Java代碼混淆工具:Java Obfuscator”的介紹

          款頂級JavaScript混淆工具測評:JScrambler和JShaman

          出于JavaScript代碼安全需求,JavaScript混淆已經(jīng)被廣泛使用。在這個領(lǐng)域中,有免費的小工具,也有專業(yè)、商業(yè)級的產(chǎn)品。

          商業(yè)產(chǎn)品在功能強度、保護效果、穩(wěn)定性等各方面都是全優(yōu)于免費小工具的。

          本文將對兩款專業(yè)、商業(yè)JavaScript混淆工具進行多角度測評。

          這兩款工具分別是葡萄牙的JScrambler和中國的JShaman,在行業(yè)中都是知名產(chǎn)品、是業(yè)內(nèi)頂級的JavaScript混淆工具。

          注:JShaman有中文和英文兩個不同版本,本次測評使用的是英文版。

          產(chǎn)品形態(tài)

          兩者都是網(wǎng)站平臺形式,在瀏覽器中打開就能使用。

          接口

          都有Web API接口,JavaScript、Python、Java、c#等語言都可以調(diào)用,可以集成在自己的產(chǎn)品中使用。

          操作便捷性

          JScrambler使用較復(fù)雜,需要注冊帳戶、登錄進入后臺才能使用,JShaman則方便很多,無需注冊、直接使用。

          免費試用

          兩個產(chǎn)品都提供有限制的免費試用,JScrambler混淆后的代碼有使用時間限制,JShaman是對試用JavaScript代碼體積有限制。

          功能選項

          JScrambler和JShaman都有20多項混淆功能可使用,如:數(shù)值加密、平展控制流、JSON加密、變量名混淆、正則表達式加密、字符串加密等等。也就意味著,兩者對代碼的保護強度應(yīng)該接近,因為混淆選項數(shù)量接近。

          對于各功能的說明,JShaman是采用例程的方式展示,而JScrambler是文字說明。對于不熟悉混淆技術(shù)的使用者而言,JShaman的例程方式更直觀,可以讓使用者知道各功能啟用后對代碼的保護效果。而JScrambler的文字介紹則較抽象。

          JScrambler的某些選項可進行高級配置,比變量名混淆可設(shè)定具體的變量名特征,而JShaman未提供這種精細化選項。

          混淆效果

          如前面所述,兩者很多功能選項相似,但也有差別,而且相同功能各自的算法想必也是不同的。所以,相同的JavaScript代碼混淆到的結(jié)果自然是不同,各有各的結(jié)果。混淆后的代碼看起來都足夠復(fù)雜,都可以進行復(fù)制和下載。

          報表

          報表功能用于展示混淆時進行了哪些操作,可讓操作者清楚混淆操作對代碼進行了哪些方面的加強和保護。

          JShaman的報表簡潔明了,在混淆完成后會立即顯示。JScrambler的報表是從歷史操作記錄中查看,顯示的內(nèi)容更詳細。

          兩者都會顯示進行各項混淆時操作了多少節(jié)點(注:混淆時都是將JavaScript轉(zhuǎn)化為AST抽象語法樹,對語法樹進行修改,所以此處會顯示修改的AST節(jié)點數(shù)量)。

          JScrambler會顯示各項操作使代碼增大了多少,而JShaman會顯示混淆前代碼整體有多少個節(jié)點,混淆后又變成了多少節(jié)點,方式有差別,所表達的含義相同。

          總結(jié)

          兩者功能相似、混淆效果接近,都是強大、專業(yè)的JavaScript混淆工具。

          直觀差別主要在UI、操作、報表三方面。

          JScrambler精細且復(fù)雜、商業(yè)味道更濃厚。

          JShaman界面優(yōu)美、操作簡潔、方便易用。


          主站蜘蛛池模板: 国产午夜福利精品一区二区三区 | 九九无码人妻一区二区三区| 亚洲AV香蕉一区区二区三区| 国产精华液一区二区区别大吗| 视频在线观看一区| 亚洲综合一区二区精品导航 | 曰韩精品无码一区二区三区| 青娱乐国产官网极品一区| 无码人妻啪啪一区二区| 亚洲精品国产suv一区88| 精品一区精品二区制服 | 亚洲AV无码一区二区三区在线观看 | 日韩在线一区视频| 久久精品无码一区二区三区免费| 精品三级AV无码一区| 日韩人妻一区二区三区蜜桃视频| 国产精品无码AV一区二区三区| 国产免费一区二区三区不卡 | 精品一区狼人国产在线| 国产精品一区二区久久精品涩爱| 无码人妻精品一区二区三区蜜桃| 激情内射亚洲一区二区三区| 亚洲一区二区三区无码国产 | 中文字幕一区二区三区免费视频| 亚洲人成网站18禁止一区| 精品一区二区三区电影| 亚洲一区日韩高清中文字幕亚洲| 国产激情一区二区三区 | 人妻少妇AV无码一区二区| 精品日产一区二区三区手机| 无码少妇一区二区| 国产大秀视频在线一区二区| 亚洲中文字幕乱码一区| 国产精品亚洲一区二区三区久久| 日韩精品一区二区三区在线观看| 国产一区二区精品尤物| 日韩人妻精品一区二区三区视频 | 中文字幕精品一区二区三区视频| 无码囯产精品一区二区免费| 亚洲AV无码片一区二区三区| 视频一区在线免费观看|