失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 使用IntelliJ IDEA打包代码并混淆

使用IntelliJ IDEA打包代码并混淆

时间:2019-12-30 01:42:37

相关推荐

使用IntelliJ IDEA打包代码并混淆

文章目录

1.封装Jar包2.使用Allatori混淆Jar包

最近经常有将Java代码封装成Jar包并且混淆的需求,之前也使用过Android Studio自带的封装和混淆功能,但是过程比较繁琐。而且在IDEA中似乎没有相同的工具(可能是没找到…)。因此,使用考虑使用IDEA对代码进行打包,使用第三方软件来实现对Jar包的混淆。

1.封装Jar包

在IDEA项目中新建一个模块(或者新建一个项目),将需要封装的包或者.java文件放在该模块(项目)中。点击File --> Project Structure(Ctrl+Alt+Shift+S) --> Artifacts --> “+” --> JAR --> From modules with…,打开生成所Jar的配置页面

在Module处选择要封装代码所在的模块名,如果存在主类,还可以指定主类名,也可以为空。主类就是实现了main()函数的一个类,这里应该是用于可运行Jar包的生成的。但是笔者暂时用不到存在main()函数的类,因此不做多的探究,空置即可。然后点击下方OK

在打开的如下页面中,指定生成Jar包的信息(示例类名为JarTest)。Output directory为最终生成Jar包的路径(建议不要使用模块下的src路径,否则可能会创建Jar包失败),下方为最终生成Jar包的文件名,可以右键Rename修改。无误后点击下方的Apply即可。点击菜单栏中Build --> Build Artifacts,在Buid结束后,即可在指定的输出文件夹下看到生成的jar包了。

2.使用Allatori混淆Jar包

在通过上述方式获得Jar包后,即可通过Allatori软件对该Jar包进行混淆。Allatori 7.1百度云下载,提取码:jjey。

下载好后,直接将文件解压即可,打开\Allatori-7.3-Demo\tutorial文件夹,文件夹内容如下图所示:

根据笔者个人的理解和测试结果来看(没有阅读官方说明,仅仅为了快速应用,以下均为个人理解):每一个step文件夹代表了一种混淆规则,笔者简单测试了step01-step05这5中混淆方式,发现只有step01不会混淆包名、类名、public的方法名和变量名。因此,在需要使用混淆后的jar包来代替源码而不修改测试代码的情况下建议使用step01文件夹进行混淆。下面简要说明step01混淆规则的使用方式:

打开step01/files文件夹,如下图所示:

将刚刚生成的Jar包移动到该目录下。

打开配置文件config.xml,修改input标签下的第一个jar标签

<jar in="混淆前的jar包名" out="混淆后的jar包名"/># 如下,即为将JarTest.jar混淆后生成:JarTest_Obf.jar文件<jar in="JarTest.jar" out="JarTest_Obf.jar"/>

双击运行RunAllatori.bat文件,即开始混淆。运行结束后,即可看到生成的Jar包,将其导入IDEA中即可查看代码的混淆结果。

如果觉得《使用IntelliJ IDEA打包代码并混淆》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。