Files
lofi-12xt-firmware/ghidra/headless/README.md
T
2026-09-30 22:48:06 +02:00

24 lines
1.1 KiB
Markdown

# Headless Ghidra drivers (C6000 AIS analysis)
These drove the checksum extraction in `RE-PROCESS.md`. They need a local lab
that is **not** in this repo (too big, machine-specific):
- Temurin JDK 21, Ghidra 12.1.3, [geepot/ghidra-c6000](https://github.com/geepot/ghidra-c6000)
release built for that exact Ghidra version (`C6000:LE:32:default`).
- `pip install pyghidra` (project venv), `GHIDRA_INSTALL_DIR` + `JAVA_HOME` set.
Files:
| File | Role |
|---|---|
| `MapAIS.java` / `DumpAIS.java` | Reference only — Ghidra **12 headless cannot run `.java`
outside an OSGi bundle** here (not even the extension's own scripts); kept for GUI use |
| `pyais.py` | The working driver: map AIS sections at DDR bases → analyze → decompile
targets (`C70A0A60`, `C708E4E4`, `C7086400`, entry, CRC-16) into `out/` |
| `pyais4.py` | Dense disassembly seeding + full-range listing dumps |
| `pyais5.py` | Batch create-function + decompile for a target list |
Prepare segments with `../tools/ais_unpack.py ic300.bin /tmp/ais-unpack`
(IC300 dump stays local — never commit it), then adapt the hardcoded paths at
the top of `pyais.py` to your machine.