社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
有时候处于某种原因,我们需要将自己的代码做一些“处理”,保护一下自己小小的辛苦成果。至于allatori的技术原理以及其他的混淆技术这里不做解释,只是做一些简单记录;
1 从官网下载allatori文件(http://www.allatori.com/),也可以从以下链接获取
链接:https://pan.baidu.com/s/1R6lPvaLNYvC2r-h-Ad--Xw
提取码:cm4m
解压后文件:
1.1 其中lib下是执行混淆用到的jar包allatori.jar和allatori-annotations.jar
1.2 tutorial 各种案例
1.3 其实打开readme.html 里面就已经有比较完成的操作步骤
2 Eclipse 下进行代码混淆
2.1 将上文lib下的allator.jar复制到eclipse安装目录 eclipse/dropins下(可以通过右键开发工具图标获取地址)
2.2 右键要混淆的项目选择Configure-->add Allatori
2.3 clean项目,生成的class文件就是混淆后的代码了。
这里需要补充一点,在点击混淆前还有一个配置文件需要简单处理一下
可以去Allatori-7.0-Demotutorialstep01files 路径下复制config.xml文件到你的项目主路径下,混淆的时候根根据config.xml的内容进行处理
关于config.xml文件中的配置项可以去官网查阅。
反编译其中一个文件,内容已经不好阅读
3 单个jar文件进行混淆
上面的方式一般都是整个项目进行混淆,如果只想混淆几个关键的核心代码,只需要把需要混淆代码打个jar包,然后单独混淆此jar包即可
3.1 复制对应的class文件,打成jar包(通过 jar cvf 包名.jar * ),
cmd 下进入F://down/bb目录下 执行命令 jar cvf core3.jar *
3.2 将core3.jar复制到目录Allatori-2.3-DemoAllatori-7.0-Demotutorialstep01files下
3.3 修改config.xml文件
3.4 运行RunAllatori.bat 得到corem.jar
3.5 反编译查看结果
4 注意事项
4.1 如果代码里请求静态资源的方法,注意请求路径的写法。因为如果是第三步将混淆后的jar包导入项目,获取文件的相对路径可能会不一样
4.2 如果方法中有重定向等写法,主要不要将此内容进行混淆;
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!