ADIT

FI-170 a magic number is a claim, not a fact no artifact loaded

ADIT

FI-170 · Field Instruments · Green Shoe Garage

version
license
GPL-3.0
vendored libraries
none. Every decoder in this file is hand rolled: DEFLATE, LZMA, XZ, bzip2, LZ4, SquashFS, CramFS, romfs, tar, cpio, zip, ar, SHA-256, MD5, CRC-32, CRC-64, xxHash32, and the device tree, boot log and logic capture readers.
runs from
a double clicked file. No server, no build step, no network. Nothing you load here leaves this machine.

theme

debug logging

known limitations in this version

feedback

Issues and suggestions: github.com/greenshoegarage/adit/issues
Support the bench: buymeacoffee.com/mbparks

INTAKE

What came in, where it came from, and what is wrong with it before a single byte is interpreted. Most bad firmware analysis is a good decoder pointed at a dump that was never what the operator thought it was.

DROP A FIRMWARE IMAGE OR DUMPor click to choose. Nothing leaves this machine.

CORE LOG

The image read as a core sample: depth down the page, layers that were identified, and layers that were not. The layers that were not are the point.

EXTRACT

Decompress and unpack a region. Claimed against recovered is always shown, because the difference is not an error count, it is a list of things a report will not cover.

MACHINE

What the image says the hardware is: the device tree, the boot log, and the flash layout. Then those three are reconciled against each other, and against the CORE LOG.

WIRE

A logic capture read from a file. Five rungs: edges, symbols, frames, transactions, meaning. Only an operator-supplied register map reaches the last one.

REGISTER

The MEANING rung. A byte read from address 0x0B of an unknown part is a byte; calling it a field name requires a datasheet, and the datasheet is something you bring.

LEXICON

The strings, grouped by shape, which is a fact about the bytes, never by role, which is a conclusion about the device. There is no credentials group here and there never will be.

COMPARE

Two units of the same product, side by side. A value identical in both is not per-device. A slot holding a different value of the same shape in each is. Neither says what the value is for.

DOSSIER

What leaves the bench. The exception report is not optional: a report with no exception section reads as though there were no exceptions, and there always are.