首页
社区
课程
招聘
[原创]AndroidManifest.xml解密补遗
2023-4-4 15:31 7276

[原创]AndroidManifest.xml解密补遗

2023-4-4 15:31
7276

有点标题党,因为论坛里有不少对于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/



阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

上传的附件:
收藏
点赞6
打赏
分享
最新回复 (5)
雪    币: 1169
活跃值: (1694)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mb_lpcoesnt 2023-4-4 22:49
2
0
感谢分享
雪    币: 19803
活跃值: (29410)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
秋狝 2023-4-5 16:41
3
1
感谢分享
雪    币: 2649
活跃值: (1541)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hhhaiai 2023-4-6 09:20
4
0
666
雪    币: 1773
活跃值: (8930)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
你瞒我瞒 2023-4-6 09:34
5
0
p2和p3环境都是这个错误
  File "axml-parser.py", line 149
    match tag_chunk:
                  ^
SyntaxError: invalid syntax
雪    币: 113
活跃值: (178)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
今天是星期五 2023-4-6 10:46
6
0
你瞒我瞒 p2和p3环境都是这个错误 File "axml-parser.py", line 149 match tag_chunk: ...
就是switch case,python 3.10之后的新特性。你可以用if else改一下即可,如果不用新python的话。
游客
登录 | 注册 方可回帖
返回