-
-
[原创]AndroidManifest.xml解密补遗
-
-
[原创]AndroidManifest.xml解密补遗
有点标题党,因为论坛里有不少对于AndroidManifest.xml解密的工具或者文章了。但是个人用着不太满意,或者是对于稍微做了手脚的文件,解密工具报错;或者是对于文件结构的分析,写的太细节而看不到全貌。
所以我参考了一些大神的研究,写了这么一个小工具。对于从string pool个数做手脚的地方,做了简单的判断和替换;对于attribute的各种type,做了针对性的解析。
AndroidManifest.xml文件本身的结构,其实不复杂。读取文件头相关内容,读取string pool,读取resource pool,然后就是循环解析resource chunks(这里没有递归!!!)。
最后是递归处理解析出来的chunks,拼接出可读的xml串。
示例文件源自论坛里某人问过的一个问题的样本,效果对比如下。
源代码、示例文件,在附件。
整体结构,看MindMac大神在9年前(2014年)的这幅图:
参考链接有这些,我觉着不错的:
这个是最清晰的流程,从下面的define the file附近看就行,没有其他描述那种见木不见林的感觉:https://www.sweetscape.com/010editor/repository/files/AndroidManifest.bt
https://juejin.cn/post/6844903747169026061
https://developer.android.google.cn/guide/topics/manifest/manifest-intro?hl=zh-cn
https://github.com/bihe0832/Android-GetAPKInfo/blob/0a93a4432d911a40d925d26497d515a185770218/AXMLPrinter2_zixie/src/main/java/android/util/TypedValue.java
https://developer.aliyun.com/article/663289
https://elinux.org/Android_aapt
https://justanapplication.wordpress.com/category/android/
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)