mac上反编译android项目

最近研究到安卓项目的反编译及代码混淆。要想做到代码混淆,首先要先做项目的反编译,这样才能知道别人是怎么从apk看到源码的。
需要三步:
1、下载apktool.jar和apktool,下载路径:

https://ibotpeaches.github.io/Apktool/install/

找到mac版本说明。

Mac OS X:
Download Mac wrapper script (Right click, Save Link As apktool)
Download apktool-2 (find newest here)
Rename downloaded jar to apktool.jar
Move both files (apktool.jar & apktool) to /usr/local/bin (root needed)
Make sure both files are executable (chmod +x)
Try running apktool via cli

第一步下载wrapper script文件,右键,另存为。下载到mac后,认准apktool可执行文件。
第二步下载apktool-2jar包。
第三步重命令apktool.jar。
第四步apktool和apktool.jar复制到/usr/local/bin/目录下。
第五步分别chmod +x apktool chmod +x apktool.jar
第六步即可操作apk文件

apktool d -s app-release.apk 

然后找到文件夹:app-release

其中:
第二步下载jar网络不太好,翻墙后下载。下载路径

https://bitbucket.org/iBotPeaches/apktool/downloads/

2、下载dex2jar-2.0.zip

https://sourceforge.net/projects/dex2jar/files/

解压后,将classes.dex文件复制到该文件夹下。执行命令:

sh d2j-dex2jar.sh classes.dex 

报错:

d2j-dex2jar.sh: line 36: ./d2j_invoke.sh: Permission denied

解决方法:

sudo chmod +x d2j_invoke.sh

然后在执行上面一步。
然后可以看到多了一个classes-dex2jar.jar文件。

3、下载jd-gui

http://java-decompiler.github.io/

翻墙下载。
然后将第二步拿到的classes-dex2jar.jar拖到jd-gui中即可。就能看到class文件了。

发布了139 篇原创文章 · 获赞 35 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/kanglovejava/article/details/103059390