jeb-plugin-oat

Introduction: Android OAT Plugin for JEB
More: Author   ReportBugs   OfficialWebsite   
Tags:
Github-

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 build-xxx script.

File Format

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
Apps
About Me
GitHub: Trinea
Facebook: Dev Tools