网上现阶段有关allatori的用法基本都是基于maven和springboot工程的,普通的java工程想要用allatori做代码混淆很困难,各种配置不对。
下面就分享一下allatori代码混淆使用心得:
方法一:
官网下载allatori的demo,解压在本地。进入/tutorial/step01/files文件夹,可以看到这里面其实是有例子的,仿照例子就可以混淆完成。
1.把自己需要混淆代码的jar包放置到这个文件夹下
2.修改config.xml文件,<input>字段修改为自己jar包的名字,后面输出jar包改成另外一个名字做好区分
3.修改config.xml文件,<keep-names>字段是指自己想不混淆哪个类的代码,就可以把这个类加进来
4.修改config.xml文件,配置<property name="string-encryption" value="enable" apply2class="你要混淆的包内代码路径">
5.最后执行RunAllatori.bat脚本,就可以生成出来你要混淆的jar包
现在大部分用法都是方法一这种,但是我经过好几次实验都没有加密成功,一直给我报某某某类cannot be found,如下图:
方法二:
亲测有效,本人使用IDEA做打jar包编译
1.在项目的resources文件下,创建config-allatori.xml文件和build-allatori.xml文件。前者是allatori的主要配置文件,类似于方法一中的config.xml,后者是编译ant的配置文件。
config-allatori.xml:
build-allatori.xml:
2.拷贝allatori-demo中的allatori.jar至项目的lib文件下。
3.项目打artifacts包时,选择Post-processing,选择刚才配置的build-allatori.xml文件
4.执行软件打包,在对应输出位置就能看到打包好的jar和混淆后的jar
5。最后通过反编译工具查看,代码的包名,类名都变成了字母,内容也做了混淆