Skip to content
SPECIFICTION
Get listed

Binary Ninja vs Refinery

Binary Ninja

binary.ninja

Refinery

github.com

Side by side

FigureBinary NinjaRefinery
Price fromFreeFree
Free planYesYes
Free trialYes—
Open source——
WebYes—
WindowsYesYes
macOSYesYes
LinuxYesYes
APIYes—
Self-hostedYesYes
Plans published51
Spec score · Reverse Engineering Tools9.4 (#1)7.6 (#32)

Plans

Binary Ninja

  • FreeFree
  • Personal$199, paid once
  • Commercial$1,799, paid once
  • Ultimate$3,499, paid once
  • Ultimate (Floating)$5,499, paid once

Binary Ninja pricing →

Refinery

  • RefineryFree

Refinery pricing →

In their own words

Binary Ninja

Binary Ninja is a binary analysis platform that combines an interactive decompiler, disassembler, and debugger. Its decompiler can produce C or BNIL for supported architectures, and users can switch between those outputs. The API provides C++, Python, and Rust bindings for automating workflows inside or outside the interface. A native debugger supports local and remote sessions on Windows, macOS, and Linux. Paid editions support plugins managed through an in-client Plugin Manager; plugins are not available in the Free edition. The browser-based Cloud version supports all architectures but requires submitted binaries and has performance limits, with no API or plugins. The free desktop edition is for evaluation or non-commercial use and lacks API access; the Free plan lists five decompilation architectures, while desktop details state four. Paid perpetual client licenses start at $199, paid once for Personal, with one year of updates and non-commercial use. Higher tiers add commercial use, more architectures, or remote project features. Binary Ninja is made by Vector 35.

Visit binary.ninja

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