Mac环境下反编译apk有三种方法
- Android Studio 2.2版本以上的APK Analyzer
- Android-classyshark
- dex2jar & jd-gui & apktool
这里只介绍第三种 dex2jar & jd-gui & apktool
dex2jar & jd-gui & apktool
下面说下这个方法,重头戏。这个最恶心的就是下载了,mac环境下有很多讲这种方法的但是要么就是下载难要么就是给的命令行不懂,在这里,不要管别人那怎么样了,按我的走,保证走通。首先下载,话不多说,直接上传网盘。
-
反编译代码,也就是java文件:
-
反编译资源,也就是res文件
反编译代码
-
首先解压dex-tool-2.0.zip得到dex2jar-2.0文件夹,mac环境下需要的三个文件是 d2j_invoke.sh & d2j-dex2jar.sh & lib,他们在同一目录级别。
-
将apk文件的后缀改为zip,并解压(这时候其实我们可以得到该app使用的图片资源,但是xml是看不了的,还是需要反编译资源),然后将classes.dex文件移动到dex2jar-2.0的文件夹目录下,即与上述三个文件统一目录。
-
打开终端cd 到该目录下输入命令:
chmod a+x d2j_invoke.sh
chmod a+x d2j-dex2jar.sh
给这两个文件添加可执行权限。然后输入命令:
sh d2j-dex2jar.sh classes.dex
这时候就会在dex2jar-2.0目录下生成一个classes-dexjar.jar文件,如图:
打开jd-gui-osx-1.4.0,使用JD-GUI.app打开classes-dexjar.jar即可。
是可以看到具体的代码的。
反编译资源
在我的百度网盘里下载apktool,解压缩后有两个文件apktool.sh & apktool.jar,将apk文件移动到与上述两个文件相同的目录,终端cd到该目录,执行命令:
sh apktool.sh apktool d xxx.apk
结束以后,就会多出一个xxx的文件夹,内容如下:
反编译资源完成,xml文件都可以看。
- 修改后重新打包命令:
sh apktool.sh b xxx -o Newxxx.apk
总结
这三种方法就介绍完了,反编译代码都是在apk未加固的情况下完成的,加固的就不要试了。但是,资源文件在apk加固的情况下也可以去获取的,如果想要一些小图标啥的,没有问题的。如果只是需要资源文件我建议就Android Studio自带的就很好了,只需要小手拖一拖。第三种方法需要的文件在我网盘上下就可以了。
有问题留言,谢谢。
网友评论