先来张神图
![](https://img.haomeiwen.com/i12360524/4816a9d8d83b457b.png)
来源:AndroidManifest二进制文件格式分析: https://bbs.pediy.com/thread-194206.html
原始AndroidManifest文件
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="1"
android:versionName="1.0"
android:compileSdkVersion="30"
android:compileSdkVersionCodename="11"
package="com.example.myapplication"
platformBuildVersionCode="30"
platformBuildVersionName="11">
<uses-sdk
android:minSdkVersion="21"
android:targetSdkVersion="30" />
<application
android:theme="@ref/0x7f0c0005"
android:label="@ref/0x7f0b0027"
android:icon="@ref/0x7f0a0000"
android:debuggable="true"
android:testOnly="true"
android:allowBackup="true"
android:supportsRtl="true"
android:roundIcon="@ref/0x7f0a0001"
android:appComponentFactory="androidx.core.app.CoreComponentFactory">
<activity
android:name="com.example.myapplication.MainActivity">
<intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
解析
图片左侧为解压开apk后,AndroidManifest.xml的二进制内容,右侧为各个chunk的解析。各个chunk和对应的二进制内容通过相同的颜色标记。
![](https://img.haomeiwen.com/i12360524/1a7a275d98c3f737.png)
参考文档
Android逆向三部曲之AndroidManifest.xml 文件格式: https://www.jianshu.com/p/f0f4856866e0
AndroidManifest二进制文件格式分析: https://bbs.pediy.com/thread-194206.html
手把手教你解析AXML:https://blog.csdn.net/beyond702/article/details/51830108?spm=1001.2014.3001.5502
大小端模式: https://blog.csdn.net/q2519008/article/details/80961176
ResourceTypes.h 源文件:http://androidxref.com/9.0.0_r3/xref/frameworks/base/libs/androidfw/include/androidfw/ResourceTypes.h
网友评论