Ghidra vs Refinery
Ghidra
github.comRefinery
github.comSide by side
| Figure | Ghidra | Refinery |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | Yes | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | — |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Reverse Engineering Tools | 8.7 (#5) | 7.6 (#32) |
| License | The repository includes the Apache License, Version 2.0, which grants no-charge, royalty-free copyright and patent licenses subject to its terms. | The project is licensed under the MIT License. |
| Purpose | Ghidra is a software reverse engineering framework maintained by the NSA Research Directorate. | Refinery is a SQL migration toolkit for Rust that runs migrations on a provided database connection. |
Plans
In their own words
Ghidra
Ghidra is a software reverse engineering framework maintained by the NSA Research Directorate. It analyzes compiled code with tools for disassembly, assembly, decompilation, graphing and scripting, and supports many processor instruction sets and executable formats. The framework can operate interactively or in automated workflows, including work intended to address team and scale needs in complex reverse engineering. Users can write extensions and scripts in Java or Python. Development options include a GhidraDev plugin for Eclipse and support for script editing and module projects in Visual Studio Code. The project describes compiled-code analysis on Windows, macOS and Linux. Installation requires a 64-bit JDK 25 and an official multi-platform release archive. Ghidra is free under the Apache License, Version 2.0, whose terms grant no-charge, royalty-free copyright and patent licenses. The repository warns that some versions have known security vulnerabilities and directs users to security advisories. Its policy directs vulnerability reports to GitHub private vulnerability reporting rather than public issues.
Refinery
Refinery is a free, MIT-licensed SQL migration toolkit for Rust applications. It runs migrations against a database connection supplied by the application, either from embedded Rust code or through the refinery_cli command-line tool. Migrations can be SQL files or Rust modules whose migration function returns a String. Refinery records applied versions and metadata, then checks for missing or divergent migrations before running unapplied work. By default, each migration runs in its own transaction; grouped mode can place all migrations in one transaction. Migrations can also be built into a binary, so separate files are not needed at deployment. Listed drivers include postgres, tokio-postgres, mysql, mysql_async, rusqlite, and tiberius; SQLx can be used with a Config implementing Migrate. Driver selection is handled through features. Maintainers describe limited capacity to maintain additional drivers and point to external repositories, naming Klickhouse as an example. Refinery aims to support stable Rust, the previous Rust version, and nightly. To reverse a migration, users must create another migration with the reversing changes.