Proguard 学习笔记(一)

来源:互联网 发布:学满语的软件 编辑:程序博客网 时间:2024/05/09 06:29

    本来认为混淆是个十分简单的事情,搞个工具随便执行下就OK了,今天要混淆的小程序才知道完全不是怎么回事,嗨E文太差,搞了半天终于弄明白了,贴出来大家不要笑话我啊,留个备忘主要.

     下载地址http://proguard.sourceforge.net/

     主要3个jar文件proguard.jar,proguardgui.jar,retrace.jar第一个是核心程序,第二个是界面(可选的),第三个不知道呵呵应该也是可选的,看名字分析似乎是反混淆,个人认为没什么用暂时.

    混淆jar包的方式有两种

   1.使用GUI程序,

       第一个页签可加载也有的配置文件

       第二个页签(input/output),指定带混淆的jar和目标路径,以及依赖,注意要添加全部依赖,包括rt.jar

       第三个页签(shrinking)压缩代码,帮助你删除一些,没有使用的代码,默认勾选了保留数据库驱动和swing等选项

       第四个页签(Obfuscator)混淆是很关键的配置 不建议勾选use mixed-case class  names,传说文件多时会有覆盖情况,我没发现不过,我觉得本来也不需要勾选

       第五个页签(Optimization)性能优化,优化一些代码,个人认为这个就没必要了,小程序而已.使用1.4的jre打开Proguard时,这里不能勾keep enumerations.这个功能最容易导致混淆后的程序出错.

       第六个页签建议保留默认否则混淆时会报错的

       第七个页签执行混淆操作,还可以在这里保存配置文件

  2.使用ant脚本,非常简单,而且执行起来很快,比使用gui快

   

<project name="Applications" default="obfuscate" basedir="">

 
<target name="obfuscate">
   
<taskdef resource="proguard/ant/task.properties"
            classpath
="proguard.jar" />
   
<proguard configuration="applications.pro" />
 
</target>
 
</project>

 

   建议使用gui配置ant执行.

   配置中很多usage的地方,其实就是指定混淆单词的来源比如使用,克林顿演讲稿中的词汇作为.

   配置文件我就不贴了没什么意义,Gui生成后一看就知道什么意思了.

 

原创粉丝点击