Skip to content
SPECIFICTION
Get listed

IDA Pro vs Refinery

IDA Pro

hex-rays.com

Refinery

github.com

Side by side

FigureIDA ProRefinery
Price from$91.58/moFree
Free planYesYes
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
Self-hosted—Yes
Plans published71
Spec score · Reverse Engineering Tools8.2 (#11)7.6 (#32)
PurposeIDA Pro is a disassembler, decompiler and debugger for analyzing processors, file formats and software.Refinery is a SQL migration toolkit for Rust that runs migrations on a provided database connection.

Plans

IDA Pro

  • IDA FreeFree
  • IDA Pro Essential$1,099 a year
  • IDA Pro Expert 2$2,999 a year
  • IDA Pro Expert 4$4,999 a year
  • IDA Pro Expert 6$6,899 a year
  • IDA Pro Ultimate$8,599 a year
  • IDA Pro OEMPriced on request

IDA Pro pricing →

Refinery

  • RefineryFree

Refinery pricing →

In their own words

IDA Pro

IDA Pro is a disassembler, decompiler and debugger for analyzing processors, file formats and software. It supports disassembly for more than 60 processor families, and its debugger works with multiple targets, including remote applications. The bundled gooMBA plug-in uses algebraic and program-synthesis techniques, heuristics and an SMT solver to simplify obfuscated binaries. Automation options include the IDA C++ SDK, IDAPython API, IDAT command-line functions and the idalib headless library. Teams can work with GitHub, GitLab, Bitbucket, Gitea or another Git remote, with Git LFS support for large IDB files. Private Lumina is a self-hosted add-on that restricts a knowledge base to authorized users; it exchanges function hashes and metadata rather than entire byte patterns. IDA Pro runs on Linux, macOS and Windows. The IDA Pro Essential plan costs $1,099 a year, with a one-year minimum commitment and no monthly payments. Hex-Rays states that there is no free trial and points users to IDA Free for checking basic capabilities.

Visit hex-rays.com

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.

Visit github.com