Project Url: pnfsoftware/jeb-plugin-oat
Introduction: Android OAT Plugin for JEB
This plugin extracts DEX files from compiled OAT files (ELF) that are used by the Android Runtime.
Supports OAT versions 39 to 214 (Nov 2021).
Building from source: adjust the version number and run the
OAT HEADER FORMAT: base is version 39, exceptions start in version 45+ (all entries are 32-bit words) magic number ('oat\n') OAT version ('NNN\0') checksum of header ISA ISA features bitmask Dex file count OAT Dex Files Offset // ADDED in v127+ offset of executable code section interpreter to interpreter bridge offset // REMOVED in v170+ interpreter to compile code bridge offset // REMOVED in v170+ jni dlsym lookup (trampoline) offset jni dlsym lookup critical trampoline offset // ADDED in v180+ portable imt conflict trampoline offset // REMOVED in v45+ portable resolution trampoline offset // REMOVED in v45+ portable to interpreter bridge offset // REMOVED in v45+ quick generic jni trampoline offset quick imt conflict trampoline offset quick resolution trampoline offset quick to interpreter bridge offset nterp trampoline offset // ADDED in v190+ image patch delta // REMOVED in v162+ image file location oat checksum // BECOMES "boot image checksum" in v164+ / REMOVED in v166+ image file location oat data begin // REMOVED in v162+ key value store length * key value store - hold some info about compilation (start of dex headers) dex file location size * dex file location path string dex file location checksum dex file pointer from start of oatdata