采用Allatori 主要是觉得有2个优点:
1.字符串能混淆
2.混淆速度快
但是缺点也比较明显
混淆后包大小基本没什么变化
一、Allatori混淆技术介绍
Allatori是一个Java 混淆器,它属于第二代的混淆器,因此它能够全方位的保护你的知识产权。 Allatori具有以下几种保护方式:命名混淆,流混淆,调试信息混淆,字符串混淆,以及水印技术。对于教育和非商业项目来说这个混淆器是免费的。新版本支持war和ear文件格式,并且允许对需要混淆代码的应用程序添加有效日期。
二、使用说明
1. 下载混淆器
下载Allatori-7.0-Demo
下载地址:https://www.filecluster.com/downloads/Allatori-Java-Obfuscator.html
2. 保留最核心文件
Clean.bat 清楚混淆所产生的文件
congif.xml 核心配置文件
RunAllatori.bat 开始混淆,双击启动
以上3个文件都需要改动
3. 修改配置
把几个文件放到一个新建的文件夹中,把我们需要混淆的jar包也放在这个文件夹
RunAllatori.bat 内容
java -Xms128m -Xmx512m -jar allatori.jar config.xml
Clean.bat 内容
del log.xml
del obf-ExpensesManage.jar
config.xml 内容
<config>
<input>
<!--导入 导出的jar包-->
<jar in="ExpensesManage.jar" out="obf-ExpensesManage.jar"/>
</input>
<ignore-classes>
<!--不混淆 引入的第三方jar包-->
<class template="class *org*" />
<!--不混淆的类-->
<class template="class *com.softkey*" />
<class template="class *com.gdpt.beans*" />
<class template="class *javax.jms*" />
<class template="class *javax.mail*" />
<class template="class *com.gdpt.utils.MD5Utils*" />
</ignore-classes>
<keep-names>
<class access="protected+">
<field access="protected+"/>
<method access="protected+"/>
</class>
<method access="public"/>
</keep-names>
<property name="log-file" value="log.xml"/>
</config>
4. 开始混淆
双击RunAllatori.bat文件
5. 混淆前后对比
混淆前
混淆后