Allatori是一款java混淆器程序加殼工具,它可以更全的保護用戶的知識產權,有多種保護方式,如名混淆,流混淆,調試信息混淆,字符串混淆功能,可以用war和ear操作,下面有附使用教程,歡迎免費下載。
Allatori軟件特色
混淆是當今構建過程的重要組成部分。了解其重要性,我們特別注意和小心處理了這個問題。Allatori團隊取得了巨大的成果 - 我們已經設法提供市場上最全面的功能,以最有效地保護您的知識產權。
Allatori Obfuscator具有保護Java軟件所需的所有功能,并且不斷增強和改進,以應對作為尖端Java混淆器系統的挑戰。我們結合了所有經典的混淆技術以及只能在Allatori中找到的創新。
功能介紹
一、 混淆器介紹
1、混淆出現的背景
Java是一種跨平臺的、解釋型語言,Java源代碼編譯成中間“字節碼”存儲于class文件中。由于跨平臺的需要,Java字節碼中包括了很多源代碼信息,如變量名、方法名,并且通過這些名稱來訪問變量和方法,這些符號帶有許多語義信息,很容易被反編譯成Java源代碼。為了防止這種現象,我們可以使用Java混淆器對Java字節碼進行混淆。
2、混淆器的優勢
混淆就是對發布出去的程序進行重新組織和處理,使得處理后的代碼與處理前代碼完成相同的功能,而混淆后的代碼很難被反編譯,即使反編譯成功也很難得出程序的真正語義。被混淆過的程序代碼,仍然遵照原來的檔案格式和指令集,執行結果也與混淆前一樣,只是混淆器將代碼中的所有變量、函數、類的名稱變為簡短的英文字母代號,在缺乏相應的函數名和程序注釋的況下,即使被反編譯,也將難以閱讀。同時混淆是不可逆的,在混淆的過程中一些不影響正常運行的信息將永久丟失,這些信息的丟失使程序變得更加難以理解。
混淆器的作用不僅僅是保護代碼,它也有精簡編譯后程序大小的作用。由于以上介紹的縮短變量和函數名以及丟失部分信息的原因, 編譯后jar文件體積大約能減少25% ,這對當前費用較貴的無線網絡傳輸是有一定意義的。
Allatori怎么用
使用方法
1、文件結構
解壓后的目錄
混淆時依賴的jar包
下面是官方帶的例子,里面有配置文件(config.xml)、運行混淆的命令文件(RunAllatori.bat)、清除產生的新文件的命令文件(Clean.bat)、將要被混淆的jar文件(test.jar、mousegestures-1.2.jar)
示例圖
2、文件詳細說明
圖中各個文件的內容可以從下圖中看到:
1、Clean.bat
就是刪除生成的被混淆的文件和log文件
Clean.bat文件內容
2、RunAllatori
調用Java命令運行allatori.jar文件,并且加載config.xml配置文件
RunAllatori文件內容
3、 config.xml
配置文件,是混淆過程中最重要的文件,需要用戶根據實際情況來配置
Config.xml文件內容
4、 配置文件
config標簽:這個是配置的根標簽。
Jars標簽:用來設置將要被混淆的jar(war,ear)文件。應該至少包含一個嵌套的jar標簽和dir標簽來設置輸入和輸出文件。我們的例子中可以看到包含了兩個jar標簽
Jar標簽:有兩個屬性—in、out,分別表示將要被混淆的jar文件和混淆后輸出的文件
Keep-names標簽:用來設置那些在混淆過程中不需要被重命名的類、方法、變量。如果被混淆的應用是個公共庫,那么應該保留所有的公共接口名字不被重命令;如果是個獨立的應用程序,那么將至少保留主類的名字不被重命名;當使用到反射的時候,也要保持類名和方法名字不被重命名
Property標簽:用來設置不同的混淆特性的,它有兩個必備的屬性:name和value。Name可以設置為----log文件、字符串加密、控制混淆流程、重命名方式等
2、 混淆效果
混淆前
混淆前的代碼
混淆后的反編譯效果:
混淆后反編譯效果
四、在項目中實際應用
我們拿定位服務器來進行演示。
1、導出應用為war包
選擇war file
選擇保存的路徑
點擊Finish
2、準備lib包和編寫配置文件
準備的文件
Lib目錄里面是gmlc運行所需要的jar包
配置文件
運行文件
3、運行開始命令
雙擊RunAllatori.bat文件
運行窗口
運行完成后會生成兩個文件:gmlc.allobf.war、log.xml文件
混淆完成后
Log.xml文件內容:
通過log.xml文件可以查看哪些類、方法、變量被混淆后重命名成什么樣的名字
而gmlc.allobf.war就是混淆后的工件了,可以直接發布部署到tomcat的webapps目錄下,啟動tomcat就可以訪問了(當然啟動之前修改一下名字,改為gmlc.war)
- PC官方版
- 安卓官方手機版
- IOS官方手機版