android的apk之反编译

本文详细介绍了Android APK的反编译过程,包括使用apktool解压获取XML和smali文件,通过dex2jar转换DEX为JAR,以及利用Java反编译器JD-GUI查看class文件。同时,文章提到了普通解压与apktool解压的区别,以及在解压过程中PNG9图片处理的便利性。
摘要由CSDN通过智能技术生成

总结:

1,apk就是一个压缩包

2,反编译apk就是反编译dalvik(Dalvik是Google公司自己设计用于Android平台的Java虚拟机)二进制文件dex和压缩的xml文件

3,常用的方法,apktool+dex2jar+xjad

首先了解一下,源文件到apk的变化,看图


apk解压缩后会有如下文件


首先,通过apktool去解压apk,得到可视的xml文件和smali文件

1,去google搜索apktool,下载前两个包


2,解压缩两个包,把需要的两个工具apktool.bat和apktool.jar拷到android-sdk-windows\platform-tools下


3,用apktool解压缩apk到新文件夹


4,普通解压和apktool解压后文件的区别

普通解压


apktool解压


此时xml文件已经可见,但smali文件夹下的smali文件需进一步反编译才能得到java类文件

重大发现:此种方法解压后不仅xml可见,困扰我的png9图片的问题也解决了。如果是普通解压,

解压后的png9图片都要自己重新加黑边(不小的工作量哦)


然后,通过dex2jar+xjad继续反编译,得到可视化的java类文件

1,google下载dex2jar包,解压缩后的工具都拷到android-sdk-windows\platform-tools下

2,需要普通解压的classes.dex文件,和如下命令把dex文件转成jar包


3,解压缩jar包,得到class文件

4,根据实际操作xjad工具解压jar包未成功,此方法弃用(win7下未成功)

5,终于搜得方法,好吧,此工具太好用了Java反编译器 Java Decompiler,对于查看class文件超级方便

官网下载 http://jd.benow.ca/



所用到的工具下载地址

http://download.csdn.net/detail/superjunjin/8538357

另外一款绿色的,集成了以上功能的反编译工具

http://download.csdn.net/detail/superjunjin/8538393



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值