翻譯|使用教程|編輯:楊鵬連|2020-08-03 14:01:09.273|閱讀 1316 次
概述:本文主要介紹Allatori Java obfuscator在使用過程中的一些常見問題。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Allatori Java obfuscator是第二代Java代碼混淆器,為您的知識產權提供全方位的保護。大部分第二代混淆器都具有保護功能。Allatori除了保護功能之外,還附加了一系列的功能,幾乎可以抵御一切的代碼攻擊。同時,Allatori可以讓您的程序體積更小,速度更快,效果簡直讓人難以置信。
什么是混淆?
混淆是現實籠罩的技術。盡管有一段時間使用此方法,但這不是對Java代碼的完整加密??紤]到Java,混淆似乎更好。如上所述,在Java開發初期,一些開發人員對應用程序和庫進行了完全編碼,并與他們一起提供了特殊的類加載器,該類加載器在執行代碼之前就將其解密。盡管這些加密的類絕對不可讀,但是這種解決方案需要放置一個特殊的密鑰以解碼到應用程序中。在這種情況下,如果黑客一次發現了密鑰,那么解密該應用程序并將其保存在硬盤上就非常容易。然后在任何可用的反編譯器的幫助下,他都可以毫不費力地獲取源代碼,
在這里,我們遇到了一個最有趣的問題:如何從已編譯的代碼中獲取源代碼?事實證明這很簡單。與C ++的源代碼在編譯過程中變成機器代碼不同,Java源代碼被編譯為所謂的“字節碼”。該字節碼可以很容易地反編譯為源代碼。實際上,從C ++獲取的機器代碼也可以反匯編,但是與反匯編的代碼不同,在反匯編的代碼中,不會有任何面向人的字符串,而在Java代碼中,將顯示源中的所有信息。因此,將重新構造所有類,方法和變量的名稱,所有字符串文字都將處于其原始狀態。而且,這種反編譯的代碼與源代碼只有一點不同:不會有任何注釋,因為它們在編譯過程中被消除了。
顯而易見的是,如果存在一種從字節碼中消除人類可以掌握的所有信息的方法,那么理解反編譯的Java代碼與理解反匯編的Java代碼一樣困難。好吧,有一種方法-令人困惑。盡管混淆不能保證您的代碼不受逆向工程的100%保護(但是可以對代碼進行反編譯和研究),但是理解混淆后的代碼變得更加困難-有時甚至是不可能。實際上,必須理解混淆不僅是保護代碼的方法,而且是將逆向工程過程轉換為耗時的操作的方法,需要大量的努力。目標是阻止所有臨時入侵者和盡可能多的嚴重黑客。
模糊處理從編譯后的代碼中刪除了上下文,而人類(和逆向工程工具)將使用該上下文來解密代碼的含義。訣竅是從惡意中刪除此上下文,同時保持與原始程序的完整執行完整性。Allatori完全完成了這一工作-您的程序將產生與混淆之前相同的結果,但是代碼的反向工程難度更大。
回到頂部
什么是名稱混淆?
Allatori的名稱混淆機制將有意義的類,字段和方法名稱更改為無意義的字符串。盡管Allatori是第二代Java混淆器,但它也執行出色的名稱混淆。與其他混淆器不同,它經過設計可處理任何類型的依賴關系和繼承方案。
Allatori生成的新名稱非常短,因此可以減小字節碼的大小。在名稱混淆的字節碼中,包,類,字段和方法的名稱已重命名,并且原始名稱永遠無法恢復。
不幸的是,控制流程仍然清晰可見。這就是為什么您需要Allatori的流程混淆的原因。
什么是流混淆?
作為第二代Java混淆器的Allatori除了執行名稱混淆之外,還執行流混淆。它對字節碼進行了微小的更改,使控制流變得模糊,而無需更改代碼在運行時的功能。通常,更改選擇和循環構造,以使它們不再具有與Java直接等效的源代碼。流混淆的字節碼通常會迫使反編譯器在其產生的源代碼中插入一系列標簽和非法的“ goto”語句。有時,反編譯器錯誤會進一步掩蓋源代碼。
什么是字符串加密?
當競爭者或黑客反編譯受混淆的應用程序時,他們將使用任何線索找到他們感興趣的類別。嵌入在您的應用程序中的字符串文字提供了重要的見解。這些文字可能是:
1.對話框中的標簽或其他GUI組件
2.錯誤消息
3.異常消息的文本。
對代碼中的字符串的簡單搜索將在jiff中顯示出它的確切使用位置,這意味著它將本地化必要的代碼段,從而使黑客更容易理解算法。您的程序。字符串文字可以成為探索整個應用程序的起點。
Allatori的字符串加密技術對存儲在類文件常量池中的字符串文字進行加密。在這種情況下,應用程序反編譯后的字符串搜索將不會給黑客帶來任何好處。Allatori將代碼片段添加到您的類中,以便您的字符串在運行時被解密,這意味著從外部看,一切將照常進行。
為什么要混淆我的Java代碼?
用Java編寫的程序易于逆向工程。在任何情況下都不能責怪Java設計。這只是現代和中間編譯語言的本質。Java使用表達性文件語法來交付可執行代碼:字節碼。與二進制機器代碼相比,中間文件具有更高的級別,中間文件充滿了可以立即觀察并最終可以理解的標識符和算法。
因此,配備Java反編譯器的每個人都可以看一下您的代碼,并揭示其中保留的所有秘密。諸如軟件許可代碼,專有業務邏輯或復制保護機制之類的應用程序部分對于黑客來說似乎非常有趣。研究了您的代碼后,他可以輕松地將其用于自己的目的,而這通常與您的目的不符。例如,在研究了安全系統并發現漏洞之后,黑客可以創建特定的利用程序。即使是最瑣碎的目標,例如竊取您獨特的想法和算法,以及對應用程序進行破解等,也確實發生了。這些使用代碼的方法幾乎無法取悅您。提到的所有這些內容似乎足以讓您考慮一會兒并做出正確的選擇。如果您之前有疑問,
什么是軟件水印?
軟件水印可用于將客戶標識或版權信息隱藏到軟件應用程序中,類似于使用隱寫技術將其隱藏在歌曲,電影和圖像等其他數字內容中的方式。水印可用于識別軟件的所有者或跟蹤盜版副本的來源。
想要購買Allatori Java obfuscator正版授權請點擊【商城購買】,想要了解更多產品信息請點擊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: