- 对本书的赞誉
- 前言
- 基础篇
- 第 1 章 Android 中锁屏密码加密算法分析
- 第 2 章 Android 中 NDK 开发
- 第 3 章 Android 中开发与逆向常用命令总结
- 第 4 章 so 文件格式解析
- 第 5 章 AndroidManifest.xml 文件格式解析
- 第 6 章 resource.arsc 文件格式解析
- 第 7 章 dex 文件格式解析
- 防护篇
- 第 8 章 Android 应用安全防护的基本策略
- 第 9 章 Android 中常用权限分析
- 第 10 章 Android 中的 run-as 命令
- 第 11 章 Android 中的 allowBackup 属性
- 第 12 章 Android 中的签名机制
- 第 13 章 Android 应用加固原理
- 第 14 章 Android 中的 so 加固原理
- 工具篇
- 第 15 章 Android 逆向分析基础
- 第 16 章 反编译神器 apktool 和 Jadx
- 第 17 章 Hook 神器 Xposed
- 第 18 章 脱壳神器 ZjDroid
- 第 19 章 Native 层 Hook 神器 Cydia Substrate
- 操作篇
- 第 20 章 静态方式逆向应用
- 第 21 章 动态调试 smali 源码
- 第 22 章 IDA 工具调试 so 源码
- 第 23 章 逆向加固应用
- 第 24 章 逆向应用经典案例分析
- 第 25 章 Android 中常见漏洞分析
- 第 26 章 文件加密病毒 Wannacry 样本分析
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
5.1 格式分析
首先来脑补一个知识点,Android 中的 apk 程序其实就是一个压缩包,可以用压缩软件进行解压的,如图 5-1 所示。
图 5-1 apk 压缩包
可以看到这里有三个文件:AndroidManifest.xml、classes.dex、resources.arsc,这三个文件都非常重要,本章介绍第一个文件,后续两章分析后两个文件。
只要反编译过 apk 的人都知道 apktool 工具的工作原理就是解析这三个文件格式。因为 Android 在编译成 apk 之后,这个文件有自己的格式,用普通文本格式打开的话是乱码,所以需要解析成能看懂的内容。就像前一章解析 so 文件一样。
既然编译成 apk 之后格式变了,那么就说明谷歌给 AndroidManifest 定义了一种文件格式,只要知道这种格式的话,就可以详细地解析这个文件了,如图 5-2 所示。
这张图详细解析了 AndroidManifest.xml 文件的格式,但是光看这张图可能印象不深,所以要结合一个案例来解析一个文件,才能理解透彻。下面就用一个案例来解析一下吧。
随便找一个简单的 apk,用压缩文件打开,解压出 AndroidManifest.xml 就可以了,然后开始读取内容进行解析。
图 5-2 Android Mainfest.xml 文件格式(见书后彩图)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论