首页 > 其他分享 >反编译APK获取代码以及资源

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

时间:2022-10-14 16:24:40浏览次数:82  
标签:反编译 dex2jar 文件 代码 jar APK classes apktool

需要工具:

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显示出如下即安装成功

image-20221014145754328

1.2、反编译

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

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

例:

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

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

反编译过程如图

image-20221014152618921

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

image-20221014152747544

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

2.1、下载安装dex2jar

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

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

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

image-20221014154239525

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文件拖入即可

image-20221014160157313

参考

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

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

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

标签:反编译,dex2jar,文件,代码,jar,APK,classes,apktool
From: https://www.cnblogs.com/progress2022/p/16791950.html

相关文章