「Android」- Dalvik Executable format

数据类型

NameDescription
byte8-bit signed int
ubyte8-bit unsigned int
short16-bit signed int, little-endian
ushort16-bit unsigned int, little-endian
int32-bit signed int, little-endian
uint32-bit unsigned int, little-endian
long64-bit signed int, little-endian
ulong64-bit unsigned int, little-endian
sleb128signed LEB128, variable-length (see below)
uleb128unsigned LEB128, variable-length (see below)
uleb128p1unsigned LEB128 plus 1, variable-length (see below)

u1, u2, u4, u8 表示占某固定字节的无符号数

LEB128,最高 5 字节,7 位有效

文件布局(File layout)

属性及其他部分偏移:

dex header

索引结构区:

string_ids

type_ids

proto_ids

field_ids

method_ids

class_defs

call_site_ids

method_handles

数据区:

data

静态链接数据区:

link_data

参考文献

CSDN/DEX文件格式
Dex Format