下面主要说明一下反编译一个apk的步骤(Mac上操作):
准备工具:
1.dex2jar:
https://github.com/pxb1988/dex2jar
2.jdgui:
http://jd.benow.ca/
3.android-apktool:
https://ibotpeaches.github.io/Apktool/
一、查看源代码。
将准备反编译的apk的后缀由.apk改为.zip。然后解压这个zip文件,结构如图:
将里面的classes.dex拷贝到dex2jar的解压目录下,打开Terminal并进入到dex2jar的解压目录下,在Terminal中输入命令./d2j-dex2jar.sh classes.dex,按下回车后,该目录下会产生一个classes-dex2jar文件。
这个jar文件可以用jd-jui打开:
在jd-jui的解压目录下,打开客户端选择classes-dex2jar文件打开,即可查看程序源代码部分。可以选择将其保存在本地。
二、查看资源文件。
下载来的apktool是一个jar文件,先将其改名为apktool.jar,为了方便将apktool.jar和需要反编译的apk文件放在同一目录下。
打开Terminal,(需要Java环境)输入命令: java -jar apktool.jar d 应用文件名.apk
按下回车执行后会产生一个和apk同名的文件夹,文件夹里包含了该程序的资源和xml文件。