「Android」- Dalvik Executable format

数据类型

Name Description
byte 8-bit signed int
ubyte 8-bit unsigned int
short 16-bit signed int, little-endian
ushort 16-bit unsigned int, little-endian
int 32-bit signed int, little-endian
uint 32-bit unsigned int, little-endian
long 64-bit signed int, little-endian
ulong 64-bit unsigned int, little-endian
sleb128 signed LEB128, variable-length (see below)
uleb128 unsigned LEB128, variable-length (see below)
uleb128p1 unsigned 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