mac本 android 混淆后对apk进行反编译
准备的工具
1. apktool-x.x.jar (x.x是版本号) 下载链接:https://ibotpeaches.github.io/Apktool/install/
按1~5的步骤依次操作 :参考步骤链接:https://www.jianshu.com/p/58604b77b4d7
显示隐藏文件/文件夹 快捷键: shift+command+.
2.dex2jar.zip
3.jd-gui
1.按照截图步骤将apktool、apktool.jar文件放在 /usr/local/bin 文件夹下
2.使用命令「 chmod +x 」 分别对apktool和apktool.jar文件进行提权
在终端先cd到/usr/local/bin这个目录下,然后添加权限
chmod +x apktool.sh
chmod +x apktool.jar
- 测试是否成功,终端输入apktool.sh,正常提示则为成功
- 终端输入命令 「 apktool.sh d xxx.apk」回车,执行完毕后会生成反编译apk的对应文件夹
但是我们在反编译apk后的文件夹里并没有看到classes.dex文件,这时候就需要在上述命令行添加-s,表示禁止将dex文件解码成smali
5.终端输入命令 「 apktool d -s xxx.apk」回车,则会生成classes.dex文件 ,生成的文件在当前目录会用apk的名字命名的文件夹目录下面
2)使用dex2jar工具把classes.dex文件转化成.jar文件
- 下载dex2jar并解压 (https://sourceforge.net/projects/dex2jar/files/)
- 把classes.dex文件复制到解压后的dex2jar文件夹下,终端执行命令「 sh d2j-dex2jar.sh classes.dex」
- 执行完毕后,会在文件夹下生成一个classes-dex2jar.jar文件,里面就是java源码
3)使用JD-GUI软件查看jar包下的java源码
1.下载并安装jd-gui (http://java-decompiler.github.io/)
- 打开安装好的JD-GUI,直接把第二步生成的.jar文件拖进去,就能看到反编译出来的java源码了
内容引用了简书中 https://www.jianshu.com/p/58604b77b4d7 的内容,非常感谢