RetroGuard学习指南

1.类包下载

http://www.retrologic.com/retroguard-download.html

2.RetroGuard的通用方法:

RetroGuard是一个很不错的Java混淆器。 
RetroGuard
本身是一个Java程序(一个Jar),所以要使用的话必须先安装JDK。运行前需要设置一些环境变量,除了要在PATH中包含java的执行路径以外,还要在CLASSPATH中加入D:\retroguard\RetroGuard.jar(假设你的RetroGuard.jarD:\retroguard下)。如果没有设置CLASSPATH的话也不要紧,只不过每次运行时就要通过 -classpath 加上路径参数。设置好运行环境以后还要准备好你要混淆的.jar文件包,至于如何把编译好的类打包成.jar文件就不在这里多说了。 
RetroGuard
的执行格式是: 
java RetroGuard [
输入JAR文件 [输出JAR文件 [“保留脚本文件” [日志文件]] 

其中保留脚本文件描述了那些类、函数、变量名必须保留,不能被混淆;日志文件是执行后生成的记录文件,记录的错误、混淆情况等信息。 
对于保留脚本文件可以通过一个图形界面RGgui来设置,执行命令是: 
java RGgui 
运行后,可以根据提示选择输入Jar文件,选择要保留的类、函数、变量,完成后会自动生成保留脚本文件。其实通常情况下只要保留运行的起始类名称就可以了。 
如果你的Jar包用到了第三方的函数库,比如SiemensAPI,那么就要在 -classpath 参数中指定。例如: 
java -classpath c:\siemens\smtk\6688i1_b8\lib\api.jar RetroGuard in.jar out.jar script.txt log.txt 

如果RetroGuard混淆失败,可以查看日志文件取得错误信息。 

3.RetroGuardant方法:

xml 代码
 
  1. <target name="obfuscate" depends="weaving,check.obfucated" unless="obfucate.unnecessary">  
  2.   
  3.      <java classname="RetroGuard">  
  4.   
  5.          <classpath>  
  6.   
  7.             <path refid="classpath"/>  
  8.   
  9.             <path refid="jspc.classpath"/>  
  10.   
  11.          classpath>  
  12.   
  13.          <arg value="${build.dir}/${jar.name.asset}"/>  
  14.   
  15.          <arg value="${build.dir}/${jar.name.asset.obfucated}"/>  
  16.   
  17.          <arg value="${rgs.dir}/asset_script.rgs"/>  
  18.   
  19.          <arg value="${log.dir}/log_${TODAY}_${TSTAMP}.txt"/>  
  20.   
  21.      java>  
  22.   
  23.   target> 

Classpath 中放入所有依赖的jar

Arg属性依次输入需要混淆的jar包名,混淆以后的jar包名称,脚本文件,日志文件

关于rgs的说明可参照

http://www.retrologic.com/rg-docs-examplergs.html#attributes

你可能感兴趣的:(java)