MAC ApkTool,dex2jar,JD-GUI 反编译APK

ApkTool下载:https://ibotpeaches.github.io/Apktool/install/
下载安装步骤:

注意点:在操作过程中可能会报错权限相关的问题,需要对2个文件进行取消权限操作

cd /usr/local/bin
chmod +x apktool
chmod +x apktool.jar  //chmod +x 取消权限

反编译APK

cd /你存放apk的目录
apktool d xxx.apk //该命令执行后会在同级目录下生成一个与你编译的apk同名的目录

由于APkTool只能将资源文件提取处理 对应.dex类型的文件是无法观看的 这里就需要用到dex2jar

dex2jar下载

下载1. https://sourceforge.net/projects/dex2jar/files/(可能需要科学上网)

下载2. https://github.com/pxb1988/dex2jar

下载后直接解压

这里需要注意的是通ApkTool编译出来的源码在MAC上是 .smali类型的 我的解决办法是 将需要编译的APk 使用解压软件打开


这里的区分下: 使用解压软件打开apk 和使用apktool反编译出的apk 如果你只想要资源文件 这两种方法都能办到 区别就是AndroidManifest.xml 使用解压软件打开的话是无法看的(乱码)

上面图中也看了有2个classes.dex文件(他们分包) 这就是项目的源码 将这个两个文件拷贝到下载解压的dex2jar目录


执行命令:

cd /你的dex2jar解压目录 也就是上面图中存放class.dex文件的目录
sh d2j-dex2jar.sh classes.dex

这里可能会报错:

Permission denied d2j_invoke.sh

解决和apktool一样:

sudo chmod +x d2j_invoke.sh //sudo chmod +取消权限

然后再执行:

sh d2j-dex2jar.sh classes.dex

生成的.jar 文件 需要使用JD-GUI 进行查看

JD-GUI下载:http://jd.benow.ca/
安装后直接打开上面用dex2jar编译出来的.jar文件

对于其他的操作 比如重新编译 打包 签名等 这里就不写了(不干坏事的理性行为)。

推荐阅读更多精彩内容