Sign in

Architectures and platforms

Coverage is generated, not asserted: every number below comes from the engine's coverage report (COVERAGE.md). Cross-tool parity today: 57/57 Rizin arches, 63/63 Rizin formats, 37/37 Ghidra arches. Manifest coverage is 12,987/13,161 (98.7%) spec items dispatched across 98 targets; 5 are exercised against real binary corpora (arm64 / arm64e / x86_64 / mips32 / ebpf — ~10.6M instructions, 0–0.032 % unknown), 11 against the rizin golden-vector corpus (sparc / xtensa / avr / h8300 / msp430 / superh / v850 / z80 / tricore / m68k = 4,382 assertions plus a hand-authored nds32 db of 104 vectors), and 1 against the radare2 ESIL corpus (loongarch = 15 vectors), all at 100 % pass with zero len_fail / decode_fail / mnem_gap. The remaining targets are manifest-validated.

Executable formats (56)

The format router recognises 56 executable formats. Six are measured against a binary corpus; the rest are manifest-validated against the published structure spec. Apple containers (dyld shared cache, kernel collections, universal binaries) are handled by dedicated loaders on top of these.

Primary — measured against corpus

FormatSpec itemsDimsCorpus
Mach-O632519 binaries
ELF89522550 binaries
PE32+24916n/a
DEX313n/a
WASM223partial — 13.6% lift
SEP64294n/a — Apple Secure Enclave

Extended — manifest-validated

TargetSpec items / dimsCovers
android_bootimg27 / 3Android boot images
art8 / 2Android Runtime ART / OAT
axmlAndroid binary XML (AndroidManifest.xml)
bflt19 / 4uClinux BFLT (IoT firmware)
coff16 / 3standalone COFF objects (56% lift)
dol13 / 2Nintendo GameCube / Wii
dyldcache7 / 3Apple dyld shared cache
java6 / 2Java class files
mbn15 / 2Qualcomm MBN bootloader
mz15 / 2DOS MZ
ne16 / 2Windows 16-bit New Executable
nx_homebrew24 / 3Nintendo Switch NRO / NSO
pef19 / 3Mac OS Classic PEF (84% lift)
te25 / 4UEFI Terse Executable (56% lift)
windows_dumps21 / 3Windows MDMP + kernel pagedump (DMP64)
xnu_kernelcache5 / 2MH_FILESET kernel collections
retro_formats46 / 6Amiga HUNK, Xbox XBE, ECOFF, Plan 9 a.out, DOS LE/LX
console_formats49 / 8NES, Mega Drive, Master System, SNES SPC700, PSX-EXE, N64, Game Boy
misc_formats40 / 8C64 PRG, Qualcomm MDT, DARPA CGC, Pebble, GBA, SNES, Nintendo DS
final_formats40 / 7PC BIOS / Option ROM, MenuetOS, QNX 4 LMF, Apple .symbols, VICE snapshot, Atari 2600
closing_formats32 / 6Apple GNS1 baseband, Infineon C166, Nintendo 3DS FIRM, Intel OMF, OMF166

Lua (luac), Python (pyc), .NET CIL, JVM and EFI Byte Code are bytecode formats that double as architectures — they are lifted in the ISA layer (see Architectures). Mach-O universal / fat binaries are sliced transparently. The minidump loader is a richer container parser that supersedes the header-only windows_dumps path when both are built in.

Architectures (66)

Coverage is generated from the engine, not asserted. Opcodes = decoder breadth (ISA spec items dispatched). The capability columns are gated per-chipset by engine-lift/tests/capability_matrix.rs. Legend: ✓ verified · ○ TODO · – n/a or out-of-tier · ✗ gap.

Lifted — full IL analysis (36)

ArchOpcodesLiftASMWidthSyscallValue-rangeConvArgs
arm641008
arm64e45
x86_641186
x86756
arm310
powerpc390
mips32281
mips6472
riscv198
ebpf94
sparc297
xtensa197
avr119
msp43079
h830042
superh74
sh4127
v850135
z8071
tricore250
hexagon196
m68k82
s390x490
nds3288
loongarch267
lm3264
or1k36
805144
650264
808580
804856
mc6800118
pic76
hcs0892
pa-risc37
cr1676

Bytecode / VM (9)

Decode + disassemble via a non-native seam. 9/9 also emit real IL (lift_oneVec<IlOp>) so the standard analyses can consume them. dalvik lifts the curated DEX instruction classes to register-VM IL; const-pool names are resolved by a later DEX-container bridge.

ArchOpcodesLiftIL analysis
dalvik195
jvm165
wasm22
cil66
ebc56
luac12
pyc19
bpf27
cbpf28

Decode-only (21) — the coverage frontier

Recognized + disassembled (decoder breadth = Opcodes), but no IL lift yet → no taint / CWE / value-range. Promoting one means wiring a lifter.

ArchOpcodesLiftIL analysis
68000162
alpha51
amd29k32
chip826
cp160055
dcpu1636
h850022
hcs12171
i400445
lh580135
m16c81
m8c41
malbolge8
mcore25
mcs96101
propeller64
rl7844
rx33
tms32036
xap16
xcore32

Corpus validation (evidence the lifters hold on real binaries): arm64 ~4.16M instructions / 0 unknown across 8 binaries; x86_64 ~6.12M / 0–0.032% (jq 141/436,578, AVX-512 VEX tail); mips32 537 binaries / 0 unknown; plus 100%-pass rizin/ESIL golden-vector corpora for sparc/xtensa/avr/h8300/msp430/superh/v850/z80/tricore/m68k/nds32/loongarch.

Calling conventions (44)

Selected automatically from (architecture, image format):

AAPCS64-Apple, AAPCS64-Objc, AAPCS64-SysV, SwiftCC, SwiftMethod, GoRegabi, SysVAmd64, MS_X64, MsX86Stdcall, MIPS_O32, MIPS_N64, SysV_PPC32, SysV_PPC64, Darwin_PPC, AAPCS, AAPCS-VFP, BPF_Helpers, cBPF_Seccomp, RISC-V, SPARC v8, Xtensa CALL0, Hexagon QDSP6, AVR (avr-gcc), MSP430 EABI, SuperH (SH-1/2), TriCore EABI, H8/300 (GCC), V850 EABI, Z80 (SDCC), MCS-51 (8051, SDCC), MOS 6502 (cc65), 8080/8085 (SDCC), MCS-48 (8048), 6800 (Motorola), PIC18 (Microchip), HC08/HCS08 (NXP), m68k (GCC), s390x (Linux ELF), LoongArch LP64D, Nds32 (Andes ELF), LM32 (LatticeMico32), OpenRISC 1000, Hppa (PA-RISC SysV), CR16 (CR16C stdcall).

Platforms (5)

PlatformSyscall tablesFramework / API surfaceCapability mapping
Apple (macOS, iOS)457 BSD + 67 Mach traps1,209 items across 54 framework dimensions12-axis behavioral taxonomy, 10 capability domains
Linux7 arch tables — 2,804 entries total (x86_64 385, x86_32 423, arm64 328, ARM32 EABI 424, MIPS32 o32 445, MIPS64 374, PowerPC 425); RISC-V (rv32/rv64) resolves via the arm64 asm-generic table (shared numbering, not a separate table)29 library families, 10 capability domains, 37 syscall aspects
BSD family4 tables — 1,403 entries total (FreeBSD 496, OpenBSD 231, NetBSD 360, DragonFly 316)family-specific syscalls (OpenBSD pledge / unveil, FreeBSD Capsicum cap_* and jail control)
Solaris / illumos246 entriesshared with the Linux capability table via aspect mapping
Windows143 NT SSDT + 21 win32k.sys + 59 versioned (Win10 1809 → Win11 24H2, 6 releases) + Win7-era legacy tables (402 NT SSDT + 819 win32k.sys)12 api-sets, 9 COM classes, 4 TEB/PEB structure classes, curated Win32 imports across kernel32, ws2_32, bcrypt, crypt32, ole32DLL-to-domain mapping → 5 domains

Apple frameworks (1,209 / 54 dims): Foundation, GCD, objc runtime, Mach traps, BSD syscalls, ARC barriers, Swift runtime, CryptoKit, SecurityFramework, NetworkExtension, Network, CFNetwork, IOKit, EndpointSecurity, DriverKit, XPC, os_log, SystemConfiguration, SystemExtensions, ServiceManagement, ContainerizationKit, Virtualization, Photos, PhotosUI, ScreenCaptureKit, CoreLocation, CoreBluetooth, AVFoundation, Apple Intelligence, AppleIntelligenceRuntime, NaturalLanguage, Speech, Vision, CoreML, AppIntents, AlarmKit, EventKit, MetricKit, UserNotifications, ExtensionKit, CoreData, CloudKit, CoreSpotlight, Combine, AuthenticationServices, LocalAuthentication, PassKit, StoreKit, SwiftUI, WebKit, OSAKit, AccessorySetupKit, GameSave, Contacts.

Linux capability domains: Network, Process, Filesystem, Memory, IPC, Crypto, DynamicCode, Time, SystemInfo, Threading. musl-vs-glibc detected from PT_INTERP.

BSD specifics: OpenBSD pledge / unveil, FreeBSD Capsicum cap_* / jail*.

Solaris / illumos specifics: door_call, port_create, modctl, zone_*, processor_*, pset_* — bridged 1:1 to the Linux taxonomy.

Windows versioning: 59 per-version syscall numbers across Win10 1809 / 22H2 and Win11 21H2 / 22H2 / 23H2 / 24H2, plus separate Win7-era SSDT and win32k tables for Vista / 7 / Server 2008. Version selected from PE MajorOperatingSystemVersion or manifest supportedOS GUIDs.

Unpackers (91 container formats)

91 container formats recognized, 85 with a working extractor, 6 identification-only (btrfs, logfs, compress, zlib, seama, mbn). Baseline: binwalk 2.3.4 (111 / 72). (The identify authority recognizes 157 format identities in all; the rest are executables, inert media, and in-binary markers that route elsewhere.)

CategoryIdentifiedExtractedIdentified-only
filesystem15132
archive10100
compression1082
firmware / vendor carrier38362
kernel + disk image660
Apple OTA / container990
Docker/OCI · MSI · RAR330

Filesystem: cramfs, ext2, FAT, ISO 9660, JFFS2, NTFS, qcow, romfs, squashfs, UBI, UBIFS, UFS, YAFFS2 — plus btrfs, logfs (identified-only).

Archive: 7-zip, ar, ARJ, CAB, cpio, Dahua, RPM, tar, xar, zip.

Compression: bzip2, gzip, lz4, lzfse, LZMA, lzop, xz, zstd — plus compress (.Z), zlib (identified-only). Raw LZMA1 / xz streams are also extracted by name.

Firmware / vendor carrier: U-Boot, uImage, TRX, Android boot / sparse, device tree (DTB), FIT, cpio, UEFI FFS / capsule, Zyxel 2RDH / sig, CFE, CHK, packimg, RTK, TP-Link / RTOS, JBOOT arm / sch2 / stag, Arcadyan, csman, dkbs, D-Link TLV, DLKE, DMS, shrs, QNX IFS, WinCE, pchrom, Autel, DLOB, Matter OTA, SEP64, NSIS — plus Seama, mbn (identified-only).

Kernel + disk image: Linux boot images (arm32 zImage, arm64 boot, x86), MBR, EFI-GPT, DMG.

Apple OTA / container: dyld shared cache, pbzx, pbze, AppleArchive, AEA (key-gated), Img4, Trustcache, BOM, BuildManifest, APFS.

Docker / OCI · MSI · RAR: OCI / docker save images, OLE (MSI), RAR.

Apple containers (bypass magic-scan): DMG, dyld shared cache, MH_FILESET kernel collections, Mach-O universal.

Versus binwalk: 8 formats are extracted only here with no binwalk entry at all (ar, xar, LZMA1-raw, xz-raw, Zyxel 2RDH / sig, FIT, SEP64), and 15 more are extracted here where binwalk only identifies them.