我发现 resource.pak V5 有一个新格式:
struct header {
// 5 is the latest version
uint32_t version;
// 0 = BINARY, 1 = UTF8, 2 = UTF16
uint8_t encoding;
// 3 bytes padding
uint8_t padding[3];
uint16_t resource_count;
uint16_t alias_count;
};
紧随其后的是resource_count
resource
s 和alias_count
alias
es。
struct resource {
uint16_t resource_id;
uint32_t file_offset;
};
struct alias {
uint16_t resource_id;
uint16_t entry_index;
};
其中uint32_t
= 4 字节,uint16_t
= 2 字节,uint8_t
= 1,所有小端整数。
源代码位于https://github.com/chromium/chromium/blob/master/ui/base/resource/data_pack.cc。