Skip to content

Comparing To Ghidra

김성주 edited this page May 1, 2026 · 1 revision

Comparing With 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.

What “comparison” means here

  • 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.

Canonical benchmark entrypoints

Read and run from:

Typical flows:

  • full_decomp_benchmark.py: Whole-binary two-way comparisons (pyghidra baseline vs fission).
  • 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.

Expectations and parity audits

Structured parity discussions belong next to architecture audits—for example:

Use those documents when interpreting known deltas versus filing new regressions.

CLI compatibility hints

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.

Related wiki pages

Related repository docs

Clone this wiki locally