jar包混淆器介绍

DashO      http://www.preemptive.com/tools/clients.html  最貴,一般都是大公司採用。
ZKM        http://www.zelix.com/                         可試用,最多同時混淆五個檔案,商業版不便宜。
JBuilder   http://www.borland.com                        購買JBuilder 時會內附
JAX        http://www.alphaworks.ibm.com/tech/JAX/       可試用,商業版價格中等
RetroGuard http://www.retrologic.com/                    OpenSource


RetroGuard使用:
查看使用说明:
java -classpath retroguard.jar RetroGuard

混淆MyGUI.jar 的指令:
java -classpath retroguard.jar RetroGuard MyGUI.jar MyGUI -o.jar

RetroGuard 在執行之後,會產生紀錄檔。RetroGuard 會混淆JAR 檔裡頭的每一個類別名稱及內含的方法名稱。如果基於某些特殊原因,使得您不希望RetroGuard 混淆某類別的名稱, 那麼我們必須藉由某種機制告訴RetroGuard,不要對某些特定的類別進行混淆,以免影響程式的正常執行。

我們不希望my.Main 及其內部屬於public 權限的方法被混淆,所以我們會撰寫一個名為script.rgs 的控制檔,內容如下:
.class my/Main public

當我們寫好控制檔之後,重新執行指令:
java -classpath retroguard.jar RetroGuard MyGUI.jar MyGUI -o.jar script.rgs


java.exe 和javaw.exe 有什麼不:
於java.exe 的主程式進入點為main(),而javaw.exe 的主程式進入點為winmain()。因為java.exe 的主程式進入點是main(),所以作業系統總是會幫您打開一個空白的DOS 視窗,感覺上總是不太專業就是。但是如果要進行除錯,改成使用java.exe 倒是個不錯的選擇。,java.,exe 與javaw.exe 選用JRE 的邏輯完全相同,而預設開啟JAR 檔的javaw.exe 位於%JAVA_HOME%\JRE 底下,所以javaw.exe 必定選用%JAVA_HOME%\JRE 之下的那一套JRE。

你可能感兴趣的:(java,dos,OpenSource,JBuilder,Borland)