ApkTool和 Jadx 进行Apk反编译
Apktool 最新地址请访问https://bitbucket.org/iBotPeaches/apktool/downloads/
官方安装说明地址https://ibotpeaches.github.io/Apktool/install/
在此介绍一下Apk的获取和使用:
Installation for Apktool
- Windows:
- Download Windows wrapper script (Right click, Save Link As
apktool.bat
) - Download apktool-2 (find newest here)
- Rename downloaded jar to
apktool.jar
- Move both files (
apktool.jar
&apktool.bat
) to your Windows directory (UsuallyC://Windows
) - If you do not have access to
C://Windows
, you may place the two files anywhere then add that directory to your Environment Variables System PATH variable. - Try running apktool via command prompt
- Download Windows wrapper script (Right click, Save Link As
这个是官方安装说明对Apktool的使用介绍。第1条是指右击wrapper script把链接保存问apktool.bat文件,第2条是指下载apktool的对应版本。下面的第3条到6条是告诉我们怎么做就可以立即在终端窗口中直接运行使用。在此,我们也可以这样做,直接把第2条下载的文件重命名为apktool.jar 。把apktool.bat 和 apktool.jar放到一个文件夹下(例如文件夹命名为:apktool)。在终端下进入这个目录下,并且把我们需要反编译的apk也放到这个apktoo目录下,这样如下图所示执行apktool.bat d -f app-release.apk ,则会在此目录下生成一个app-release的文件夹,这个就是反编译后的文件资源。
反编译后的文件结构
下面说一下Jadx的获取和使用
下载Git软件,我的机子是32位 win7,下载的Git-2.7.2-32-bit_setup.1457942412.exe (我在百度上直接下载的,你也可以去官方网站下载https://git-scm.com/downloads)
下载安装后,点击,进入git的终端,执行的命令类似于linux终端。
Jadx的开源代码地址是https://github.com/skylot/jadx
网站上介绍的编译步骤如下:
Building from source
git clone https://github.com/skylot/jadx.git
cd jadx
./gradlew dist
(on Windows, use gradlew.bat
instead of ./gradlew
)
Scripts for run jadx will be placed in build/jadx/bin
and also packed tobuild/jadx-<version>.zip
在打开的git窗口中依次执行上面的命令:
1
、git clonehttps://github.com/skylot/jadx.git
是获取源代码
当然,我们可以直接从网站上下载这个源代码。
2、cd jadx 通过1下载的源码的根目录是jadx,这个命令是进入到这个目录下
3、./gradlew dist 进行编译(如果不能识别可以使用gradlew.bat dist 试试,这取决于你安装git软件时候的配置)
上述3个步骤执行后,会产生build文件夹
在build文件夹下生成的就是我们需要的,如下
然后进入到jadx下的bin目录下,双击jadx-gui.bat,最终会产生如下
然后选择你需要反编译的apk就可以了。如果在反编译过程中,出现迟迟不能完成即假死现象,那么你需要通过Editplus或者其他工具打开jadx-gui.bat文件,
对DEFAULT_JVM_OPTS=修改为DEFAULT_JVM_OPTS=-Xmx1024M ,这里的1024M根据你自己的机器内存进行设置。

成功反编译完成后,你可以通过jadx的菜单File->Save All 生成源文件存放起来。
下面附上我制作好的工具:apktool是2.2.3版本,jadx是0.6.1,制作于2017年7月16日
具体链接:
jadx0.6.1 http://download.csdn.net/detail/feixiangsmile/9900467
apktool2.2.3 http://download.csdn.net/detail/feixiangsmile/9900466
声明:本文只是用于技术交流学习,不提倡通过此方式做任何违法的事情,任何通过本文做的违法事情和本作者没有任何关系。