Android 混淆APK并检查是否混淆成功

Android Apk 混淆请看这篇文章:Android混淆 照葫芦画瓢一次成功!

混淆方式下打包APK成功后,怎么检查自己的APK是否混淆成功了呢?

此时需要用到Android 反编译 三件套apktool 、dex2jar、jd-gui (本文末尾有下载)

0、前提:your.apk和apktool 、dex2jar、jd-gui 处于同一目录下
         例如 C:\Users\xxx\Desktop\androidThreeGuns
1、解压apk

把your.apk 后缀名改为zip后解压,解压后的目录结构如下:
 Android 混淆APK并检查是否混淆成功_第1张图片

2、二进制转jar:dex2jar

把classes.dex文件拷贝到dex2jar 目录下,在dex2jar 目录 下执行

d2j-dex2jar classes.dex

顺利的话将直接生成 classes-dex2jar.jar,进入下一步。
如果不顺利,将收到错误:
Android 混淆APK并检查是否混淆成功_第2张图片
此时就需要对classes.dex做出一点处理:使用二进制编辑工具打开classes.dex
Android 混淆APK并检查是否混淆成功_第3张图片
在编辑工具中把 038 修改为 035,保存并关闭。再次执行

d2j-dex2jar classes.dex

这样就可以得到classes-dex2jar.jar ,位置在dex2jar 目录下。

二进制编辑工具可以使用nodepad++,见参考文章

3、class文件反编译成java源代码:jd-gui

双击jd-gui.exe, 顺利的话,可以打开图形界面
Android 混淆APK并检查是否混淆成功_第4张图片
如果不顺利,将收到错误
Android 混淆APK并检查是否混淆成功_第5张图片
此时可以在前提的目录下cmd执行

java -jar jd-gui-1.6.6.jar

也可以打开上面的图形界面。

接下来打开上一步得到的classes-dex2jar.jar 就可以看到反编译后的源代码了。

此时源代码可能混淆的连自己都不认识了,怎么确认这是自己的apk呢。

4、使用apktool反编译apk

CMD切换到前提中的目录下,运行

java -jar apktool_2.3.4.jar d -f your.apk -o 

your.apk (要反编译的apk名字) ,(反编译后存到目录下)
运行成功后查看目录,大概长这样:
Android 混淆APK并检查是否混淆成功_第6张图片
查看一下res目录中的资源文件,或者直接看AndroidManifest.xml就行了。

---------That’s All! Thank you!----------------

Android反编译三剑客下载
参考文章:

Android反编译三件套 apktool 、dex2jar、jd-gui
Notepad++查看、编辑二进制文件——安装附加组件HexEditor实现

你可能感兴趣的:(Android)