Android apk 反编译

本文详细介绍了一套在Windows环境下使用apktool、dex2jar及jd-gui进行Android APK反编译的方法,涵盖资源文件与Java源码的提取流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过反编译第三方apk,学习和借鉴他人代码是学习Android的一个重要途径之一。下面是我对反编译的笔

记整理。

测试环境:windows。

使用工具:apktool(资源文件获取,可以提取出图片和布局文件)

                    dex2jar(源码文件获取,将class.dex转换成jd-gui可查看阅读的.jar文件)

                    jd-gui   (源码查看,查看class.dex转化成.jar文件)

整合包下载:反编译工具整合包

   

反编译流程:

一,反编译得到res目录下的图片资源和xml文件、AndroidManifest.xml等

1、下载上面的整合包解压得到:apktool.rar,dex2jar-0.0.9.15.zip,jd-gui-0.3.5.windows.zip。将它们

分别解压到各自文件名的目录下。

2、apptool.jar解压后其目录三个文件:aapt.exe,apktool.bat,apktool.jar。将需要解压的apk拷贝到其

目录下,打开命令窗口,定位到 .\apktool 目录下执行命令:apktool.bat d -f mapp-debug.apk -o mapp

(命令中mapp-debug.apk 为要反编译的apk,mapp为输出文件夹,即:apktool.bat d -f [apk] -o [输出文件夹])

效果如图所示:



执行完成后查看mapp文件夹:就会发现有res文件夹,里面有我们需要的布局,图片,动画等。


二反编译得到Java的源码病查看源码

1、将mapp-debug.apk的后缀名.apk 改成.rar或.zip。然后解压到map-debug文件夹,得到我们所需的

classes.dex文件。

2、将classes.dex拷贝到 \dex2jar-0.0.9.15目录下,执行命令:dex2jar.bat   classes.dex。在其目录下

会生成文件classes_dex2jar.jar。

3、使用jd-gui.exe取查阅classes_dex2jar.jar。


输入dex2jar.bat   classes.dex效果如下:


使用jd-gui.exe查看源码效果图:



三,反编译过程种曾经遇到过的异常:

1、Exception in thread "main" brut.androlib.AndrolibException: Could not decode arsc file...

这个问题的原因是apktool版本过低,过去最新的apktool.jar替换原来的。最新apktool.jar下载

2、Input file was not found or was not readable

apktool升级到2.0以上时,使用方式已经替换,格式为:apktool.bat d -f [apk] -o [输出文件夹]

具体参数意义可输入apktool回车。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值