pub struct Header {Show 23 fields
pub magic: [u8; 8],
pub checksum: DUInt,
pub signature: [u8; 20],
pub file_size: DUInt,
pub header_size: DUInt,
pub endian_tag: DUInt,
pub link_size: DUInt,
pub link_off: DUInt,
pub map_off: DUInt,
pub string_ids_size: U32BasedSize,
pub string_ids_off: DUInt,
pub type_ids_size: U32BasedSize,
pub type_ids_off: DUInt,
pub proto_ids_size: U32BasedSize,
pub proto_ids_off: DUInt,
pub field_ids_size: U32BasedSize,
pub field_ids_off: DUInt,
pub method_ids_size: U32BasedSize,
pub method_ids_off: DUInt,
pub class_defs_size: U32BasedSize,
pub class_defs_off: DUInt,
pub data_size: U32BasedSize,
pub data_off: DUInt,
}
Fields§
§magic: [u8; 8]
should be “dex\n039\0”, and 039 is the dex version number
checksum: DUInt
adler32 checksum of the rest of the file (everything except magic and this field)
signature: [u8; 20]
SHA-1 hash of the rest of the file (everything except magic, checksum, and this field)
file_size: DUInt
size of the entire file (including the header), in bytes
header_size: DUInt
length of this section
endian_tag: DUInt
§link_size: DUInt
size of the link section, or 0 if this file isn’t statically linked
link_off: DUInt
offset from the start of the file to the link section, or 0 if link_size == 0
map_off: DUInt
offset from the start of the file to the data chunk with map_item
format
string_ids_size: U32BasedSize
count of StringId items
string_ids_off: DUInt
offset from the start of the file to the StringId items
type_ids_size: U32BasedSize
count of TypeId items, at most 65535
type_ids_off: DUInt
§proto_ids_size: U32BasedSize
count of ProtoId items, at most 65535
proto_ids_off: DUInt
§field_ids_size: U32BasedSize
count of FieldId items
field_ids_off: DUInt
§method_ids_size: U32BasedSize
§method_ids_off: DUInt
§class_defs_size: U32BasedSize
§class_defs_off: DUInt
§data_size: U32BasedSize
size of the data section, must be an even multiple of sizeof(uint)
data_off: DUInt