程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> RetroGuard的使用方法

RetroGuard的使用方法

編輯:J2ME
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文件包了

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved