-
Notifications
You must be signed in to change notification settings - Fork 1
Comparing To Ghidra
Fission pursues Rust-native decompilation excellence while using Ghidra-derived semantics (via Sleigh lifting) and Ghidra-hosted tooling as benchmark references.
This page explains how to compare responsibly—without treating wiki prose as the parity contract.
- Instruction semantics: Lifted IR traces its lineage to Sleigh-driven semantics in this workspace’s architecture.
-
Whole-program tooling: Running Ghidra GUIs side-by-side is useful interactively; machine-readable corpus benchmarks should flow through
benchmark/full_benchmark/scripts so results are reproducible.
Read and run from:
Typical flows:
-
full_decomp_benchmark.py: Whole-binary two-way comparisons (pyghidrabaseline vsfission). -
compare_legacy_preview.py: Historical fixed-seed comparisons when chasing compatibility narratives.
Artifacts land under benchmark/artifacts/full_benchmark/ by convention—see also Automation artifacts layout.
Structured parity discussions belong next to architecture audits—for example:
Use those documents when interpreting known deltas versus filing new regressions.
Some CLI switches exist to approximate Ghidra-facing comparisons for targeted workflows (for example --ghidra-compat where documented). Always verify semantics in docs/CLI.md—flags evolve with releases.