androidAndroid开发经验谈首页投稿(暂停使用,暂停投稿)

Android jar包的混淆

2016-05-18  本文已影响628人  废柴傻狗

所有的App都在CPU上裸奔。

既然机器能跑,那么机器就能识别这些代码,混淆的意义是为了不让别人识别,因为代码中的内容可能是我们不想给别人看的。

jar包里的内容只要丢到JD-GUI里就可以清楚的看到。


未混淆的代码.png 已混淆的代码.png

经过混淆后变量的名称都发生了变化,一般人看不懂它的具体含义,也就给看懂代码逻辑带来了困难。这里介绍一个工具:Proguard
这个工具在window和mac下都有,可以方便的混淆Android代码。


设置输入输出和依赖.png

1.首先 Add input 选中想要混淆的jar包,然后Add output 选中输出的位置。
2.然后在下面一栏中Add...选中将要依赖库、包等等。
我依赖的文件如下,可以用来参考:

3.在Shrinking中可以选择不想混淆的部分,因为有些内容混淆后就会报错,比如jni或者javabean或者某些特殊的类,在这里我们设置的不混淆Library,不混淆枚举类,可序列化代码,Bean类。最下面还可以具体添加某些不想混淆的部分。

选择不想混淆的部分.png

4.接下来一路Next+Process,如果没有什么异常就成功了。如果此次的配置以后会经常使用,可以点击Save Configuration保存这次配置,下次就可以直接调用了,十分方便。

混淆成功结果.png
上一篇 下一篇

猜你喜欢

热点阅读