Crush — Format Reference

Built from crush/data/build_formats_db.py at commit 640a2a9928f4 on 2026-10-21 06:46:19 UTC.

← All formats

Android OAT/ART

FormatAndroid OAT/ART
Short nameOAT/ART
Categoryexecution
PlatformsAndroid
Crush supportNot yet supported
StatusReviewed
Last reviewed2026-10-04

Forensic relevance

Android Runtime (ART) ahead-of-time compiled code artifacts introduced with Android 5.0 (Lollipop). Three file types form a triplet per app: .odex/.oat (ELF binary with AOT-compiled native code from dex2oat), .vdex (verified DEX bytecode — contains a copy of the original DEX since Android 8.0), and .art (optional ART heap image for fast startup). Presence of an .odex/.oat file shows the app was compiled for the device; it does not by itself prove execution (preinstalled apps are compiled when the system image is built). Prior to Android 8.0, the OAT file itself contained an embedded DEX copy — useful for recovering app code when the original APK is absent. Stored under /data/app/<package>/oat/<arch>/ for user apps, in an oat/ directory next to preinstalled system apps, and in /data/dalvik-cache/. File timestamps of these artifacts indicate when the app was last installed or (re)compiled.

Signatures

OffsetHex ASCII (non-printable as .)Description
offset unknown6F 61 74 0Aoat.OAT header magic inside the ELF 'oatdata' section (.oat/.odex files are ELF binaries)
offset 0 (0x0)76 64 65 78vdexVDEX file magic
offset 0 (0x0)61 72 74 0Aart.ART image file magic

Known extensions

.oat, .odex, .vdex, .art

References

Cite this entry

Crush Format Reference, “Android OAT/ART”. https://kalink0.github.io/crush-forensics/formats/oat-art/ — source: crush/data/build_formats_db.py at commit 640a2a9928f4e36a976b89901512a8dce824d093, built 2026-10-21 06:46:19 UTC.

Entry in the source at this commit · Change history of the source · Report a correction