因为oat本身就是一个elf文件,所以进行一些2进制问题分析的时候还是需要一些基础知识
- 字节序
// 小端口诀: 高高低低 -> 高字节在高地址, 低字节在低地址
// 大端口诀: 高低低高 -> 高字节在低地址, 低字节在高地址
// 1.小端法(Little-Endian)就是低位字节排放在内存的低地址端即该值的起始地址,高位字节排放在内存的高地址端。
// 2.大端法(Big-Endian)就是高位字节排放在内存的低地址端即该值的起始地址,低位字节排放在内存的高地址端。 - LEB128
https://en.wikipedia.org/wiki/LEB128
android n 上art/runtime/leb128.h 有这方面的实现可以参考 - DWARF ‘Debugging With Attributed Record Formats’
https://en.wikipedia.org/wiki/DWARF