Ghidra Python — authorized scripting orientation
Ghidra (ghidra-sre.org) supports scripting so analysts can repeat authorized analysis steps. This page orients Python-flavored scripting; it does not replace scripts overview or headless overview.
Snapshot
| Field | Value |
|---|---|
| Surface | Ghidra Python / script manager (version-specific runtime) |
| Scripts map | ghidra-scripts-overview |
| Batch peer | ghidra-headless-overview |
| GUI cousin | Cutter Python |
Allowed framing
- Renaming/labeling helpers on a student-compiled binary after manual analysis already established ground truth.
- Exporting function lists, string tables or decompiler snippets into the case binder for authorized corpora.
- Teaching code review of scripts before they run inside shared lab projects.
Scope we will not cover
- No crack/keygen or license-check defeat scripts.
- No exploit PoC generation framed as "Ghidra Python."
- No DRM / anti-tamper bypass cookbooks.
- No scraping proprietary firmware from devices without authorization.
Beginner path (authorized only)
- Analyze one tiny program manually in Ghidra so you know the UI nouns.
- Read ghidra-scripts-overview; run a built-in example script on that same program.
- Write a short read-only exporter (functions/strings) and save output beside the SHA-256.
- When the corpus grows, add headless under the same authorization.
- Prefer reviewed shared scripts over one-off pastebins in graded work.
- Use Ghidra Python to automate evidence export and labeling on authorized programs.
- Prefer scripts overview + headless pages for packaging and batch posture.
- Refuse crack, DRM-bypass and exploit-PoC framing.
For legal, authorized and educational use only.
FAQ
How is this different from ghidra-scripts-overview and ghidra-headless-overview?
ghidra-scripts-overview maps the script manager / shared scripts idea. ghidra-headless-overview covers batch/headless project runs. This page is Python-oriented scripting posture — when to write Python, what to pin, and what not to automate.
Jython vs CPython / PyGhidra?
Ghidra's Python story has evolved across releases (Jython historically; newer CPython/PyGhidra paths in current lines). Pin your Ghidra version and follow the help for that build — do not assume one interpreter forever.
Can scripts export decompiler text for a corpus?
Yes for authorized corpora under org policy. Keep exports next to hashes; watch for proprietary code leakage in shared drives.
Headless + Python together?
Common for graded labs. Start from ghidra-headless-overview and only add Python once headless import/analysis is stable.
Does this teach malware packaging or DRM defeat?
No. Authorized analysis and education only — no crack/keygen, exploit PoCs or DRM-bypass cookbooks.