欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新

反编译APK获取代码以及资源,

来源: 开发者 投稿于  被查看 26671 次 评论:232

反编译APK获取代码以及资源,


需要工具:

1、apktool:获取资源文件,提取图片文件,布局文件,还有一些XML的资源文件

2、dex2jar:将APK反编译成Java源码(将classes.dex转化为jar文件)

3、jd-gui:查看转换后的jar文件

1、使用apktool获得资源文件以及xml文件

1.1、下载apktool

apktool下载地址:https://ibotpeaches.github.io/Apktool/install/

注意.bat文件与下载的.jar文件需在同一文件夹下,同时更改.jar文件文件名为apktool.jar

将文件所在文件夹添加到系统环境变量PATH中

在terminal中输入apktool显示出如下即安装成功

1.2、反编译

将需要反编译的apk文件移至apktool同一文件夹下

在文件资源管理器中apktool地址栏输入cmd然后输入以下命令

例:

apktool decode momo.apk -o demo     /* 反编译momo.apk文件并将反编译结果输出到demo文件夹 */

apktool build demo -o new_momo.apk  /* 将demo目录下资源重新打包为apk文件 */

反编译过程如图

demo文件夹内出现以下文件即反编译成功

2、使用dex2jar将classes.dex转换为jar文件

2.1、下载安装dex2jar

dex2jar下载地址:dex2jar download | SourceForge.net

下载后将其解压,并添加文件地址到系统环境变量PATH中

终端中输入d2j-dex2jar出现如下图所示即表示安装成功

2.2、将dex文件反编译为jar文件

将apk文件更改文件扩展名为zip并解压,获得classes.dex文件

dex2jar反编译命令:

d2j-dex2jar <dexFilePath> -o <outputJarFilePath>

例反编译classes.dex文件为classes_d2j.jar

d2j-dex2jar D:\soft\Decompile\classes.dex -o D:\soft\Decompile\classes_d2j.jar

即可获得jar文件

重编译命令

d2j-jar2dex <jarFilePath> -o <outputDexFilePath>           /*注意前缀为jar2dex*/

3、使用jd-gui查看反编译后的jar文件

3.1、下载jd-gui

下载地址:Java Decompiler (java-decompiler.github.io)

下载后解压即可

3.2、查看转换后的jar文件

双击打开jd-gui.exe文件,然后将jar文件拖入即可

参考

Apktool 下载、安装和使用 - 简书 (jianshu.com)

Android-dex2jar 反编译工具的使用 - 简书 (jianshu.com)

https://blog.csdn.net/yushuangping/article/details/122110790

用户评论