APK反编译

本文介绍了APK文件的基本结构及组成元素,包括META-INF、res目录、AndroidManifest.xml等,并详细说明了如何使用aapt命令查看APK的Manifest信息。此外,还提供了反编译APK中的代码和资源文件的方法,涉及dex2jar和jd-gui等工具。

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

先说一下apk的结构。APK采用了zip格式的压缩,我们可以很容易解压。

一个APK文件结构为:

META-INF\ Jar文件中常可以看到

res\ 存放资源文件的目录

AndroidManifest.xml 程序全局配置文件

classes.dex Dalvik字节码

resources.arsc 编译后的二进制资源文件

apk下的文本文件是做了二进制处理的。



如果我们只是想看APK 的Manifest信息。可以使用aapt命令。

命名格式为:

aapt dump badging *.apk (这里*.apk是你的apk名)

aapt命令我们可以在SDK下对应版本下的tools文件夹下找到:

这个是我的路径:C:\android-sdk-windows\platforms\android-7\tools





如果是res目录下的文件,则需要用工具来读取并生成文本文件,android4me的AXMLPrinter2是个很好的选择。

下载地址:

http://code.google.com/p/android4me/downloads/detail?name=AXMLPrinter2.jar&can=2&q=

使用方法:

java –jar AXMLPrinter2.jar capture.xml > test.xml

执行后,将标准输出capture.xml到test.xml文件。



下面我们开始反编译代码部分。反编译代码需要两个工具:

dex2jar,用于将dex文件转换为jar文件;jd-gui,将jar文件反向工程为java代码。
dex2jar的地址:http://code.google.com/p/dex2jar/

下载后解压,dex2jar 的命令使用:

dex2jar.sh classes.dex

命令执行后,会在该文件夹下生成一个classes.dex.dex2jar.jar的文件。

jd-gui分windows,mac,linux三个版本。我们下载对应版本。

jd-gui的地址:http://java.decompiler.free.fr/?q=jdgui

下载后解压,点执行文件。把刚才dex2jar生成的jar文件拖入jd_gui界面即可生成源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值