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文件
对于其他的操作 比如重新编译 打包 签名等 这里就不写了(不干坏事的理性行为)。
网友评论