RetroGuard的使用方法:
RetroGuard是一個很不錯的java混淆器,而且在JBuilder7的企業版中也帶了這個混淆器。
RetroGuard本身是一個Java程序(一個Jar包),所以要使用的話必須先安裝JDK。運行前需要設置一些環境變量,除了要在PATH中包含java的執行路徑以外,還要在CLASSPATH中加入D:/retroguard/RetroGuard.jar(假設你的RetroGuard.jar在D:/retroguard下)。假如沒有設置CLASSPATH的話也不要緊,只不過每次運行時就要通過 -classpath 加上路徑參數。設置好運行環境以后還要預備好你要混淆的.jar文件包,至于如何把編譯好的類打包成.jar文件就不在這里多說了。
RetroGuard的執行格式是:
java RetroGuard [輸入JAR文件 [輸出JAR文件 [“保留腳本文件” [日志文件]]
其中“保留腳本文件”描述了那些類、函數、變量名必須保留,不能被混淆;日志文件是執行后生成的記錄文件,記錄的錯誤、混淆情況等信息。
對于“保留腳本文件”可以通過一個圖形界面RGgui來設置,執行命令是:
java RGgui
運行后,可以根據提示選擇輸入Jar文件,選擇要保留的類、函數、變量,完成后會自動生成“保留腳本文件”。其實通常情況下只要保留運行的起始類名稱就可以了。
假如你的Jar包用到了第三方的函數庫,比如Siemens的API,那么就要在 -classpath 參數中指定。例如:
java -classpath c:/siemens/smtk/6688i1_b8/lib/api.jar RetroGuard in.jar out.jar script.txt log.txt
假如RetroGuard混淆失敗,可以查看日志文件取得錯誤信息。
這里我發現一個問題,就是碰到有類似 ...$$1.class 這樣的文件,RetroGuard會提示出錯,后來我修改了他的源代碼,直接跳過了對這種文件的處理。
JBuilder7中RetroGuard的設置和用法:
JBuilder7的企業版中帶了RetroGuard v1.1,再JBuilder7安裝路徑下的retroguard-v1.1目錄中。在JBuilder7中可以直接調用RetroGuard。設置的方法如下:
點菜單Tools -> Configure Obfuscators配置混淆器,點左下角的New...新建一個混淆器,選擇RetroGuard的路徑,完成配置。使用起來要通過Archive Builder,點菜單Wizards -> Archive Builder...,Archive type選擇MIDlet(這里僅僅介紹針對J2ME應用),然后根據提示一步一步往下設置,到達第9步也就是混淆器設置的時候,選中obfuscate the contents of the archive,Obfuscator選擇混淆器,Use the classes specified blow下面添加要保留的類(默認保留起始執行類),結束設置。
這樣當每次編譯的時候,就會自動生成混淆過的Jar文件包了。
sun的jade
運行java setup.class按裝
在F:/jade/lib下
運行java Jade +g
出現圖形界面,可以進行混淆了.
新聞熱點
疑難解答