# ExportAll

> **Tool `tools/ghidra/ExportAll.java`** (ghidra, Ghidra scripts). Export everything an agent needs to read a binary as text, after Ghidra's auto-analysis.

A Ghidra script: `scripts/ghidra-export.sh` and `scripts/ghidra-run.sh` run it headless. [Source on GitHub](https://github.com/tanepiper/game-frame/blob/main/tools/ghidra/ExportAll.java).

## Its own help

This is the help text in the tool itself, as `./gameframe tool ExportAll` prints it.

```text
Export everything an agent needs to read a binary as text, after Ghidra's auto-analysis:
  OUT/<program>/decomp.c      every function's pseudocode, each headed "// ==== <addr> <name>"
  OUT/<program>/functions.tsv address, size in bytes, name, "thunk" for thunks
  OUT/<program>/strings.txt   address and value of every defined string
  OUT/<program>/imports.txt   library!function for every import
  OUT/<program>/exports.txt   address and name of every exported entry point
Usage (scripts/ghidra-export.sh runs it): analyzeHeadless ... -postScript ExportAll.java OUT
```
