Aarsc文件分析_总集
2016-11-30 08:13:39 0 举报
Aarsc文件是一种Android应用程序的资源文件,它包含了应用程序中所有的资源,如布局、图片、字符串等。这些资源以二进制形式存储在Aarsc文件中,以提高读取和解析的效率。Aarsc文件的结构类似于ZIP文件,其中包含了多个资源文件,每个资源文件都有一个唯一的ID。通过这个ID,我们可以在程序中引用到对应的资源。此外,Aarsc文件还支持一些高级特性,如资源的压缩和解压缩、资源的加密和解密等。总的来说,Aarsc文件是Android应用程序开发中不可或缺的一部分,它为开发者提供了一种方便、高效的方式来管理和使用应用程序的资源。
作者其他创作
大纲/内容
ResTable_type_header(68)
若干个 ResTable_entry + ResValue 或者ResTable_map_entry+ (若干个 ResTable_map )的数组
ResChunkHeader
ResChunkHeader (8)
more....
dataType(1)
count(4)
type(2)
全局字符串池
Res_value
package
size(4)
若干个 ResTable_map
parent(4)
加上本chunk位置指向数据区
ResTable_map
PackageHeader
entriesStart(4)
count个 ResTable_map
字符串数据
id(1)
style偏移数组(uint32t * styleCount)
字符串内容:size个字节
结尾:0x00
id(4)
ResTable_package_header
ResTable_header
ResTableHeader(12)
size(2)
stylesStart(4)
ResTable_map_entry
flags(4)
字符串偏移数组( uint32_t * sum )
stringCount(4)
key字符串池与全局字符串池结构类似
资源Spec数组(uint32t * sum )
header_size(2)
styleCount(4)
????
ResTable_typeSpec
lastPublicType(4)
style偏移数组(uint32t * sum)
type字符串池
type字符串池与全局字符串池结构类似
data
res1(2)
ResTable_entry
lastPublicKey(4)
布局
keyStrings(4)
name(4)
style数据
res0(1)
stringsStart(4)
ResTable_type_header
utf8字符串 1
typeSpec
ResValue
ResTable_config(36?)
key(4)
entryCount(4)
ResTable_typeSpec_header
数组(uint32t * entryCount )
ResStringPool_header(28)
ResStringPool_header
TyepeSpec_header(16)
ResTable_package_header(288?)
ResTableType
字符串数据区由多个字符串组成具体是utf8 还是 utf16根据 header 的 flag 确定
typeStrings(4)
字符串偏移数组( uint32_t * stringCount )
empty?(12?)
字符串数据 (stringCount 个字符串)
结尾:0x00 00
字符串偏移数组的每个元素确定每个字符串相对于本chunk的偏移
索引
name(256)
索引数组(uint32t * sum )
style数据(styleCount 个 style)
ResTable_type
more...
utf16字符串 格式。
packageCount(4)
utf8字符串 0
key字符池
字符串池
资源Spec数组(uint32t* entryCount)
0 条评论
下一页
为你推荐
查看更多