24 lines
1.1 KiB
Markdown
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.
|