Skip to content
SPECIFICTION
Get listed

Binary Ninja vs uncompyle6

Binary Ninja

binary.ninja

uncompyle6

github.com

Side by side

FigureBinary Ninjauncompyle6
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 (#34)
Spec score · Decompiler Software9.5 (#1)7.6 (#15)
What it doesBinary Ninja is an interactive decompiler, disassembler, debugger and binary-analysis platform for reverse engineering.uncompyle6 translates Python bytecode back into equivalent Python source code.

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 →

uncompyle6

  • Open-source softwareFree

uncompyle6 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

uncompyle6

uncompyle6 is a free, GPL-3.0-licensed tool for translating compiled Python bytecode into equivalent Python source code. It runs on `.pyc` and `.pyo` files from the command line, and can also deparse code fragments or return source information around a bytecode offset. The README lists bytecode from Python 1.0 through 3.8, Dropbox Python 2.5 bytecode, and some PyPy bytecode as accepted inputs. Fragment deparsing is used in trepan debuggers to show source at runtime and can provide more stack-trace detail than a line number. The `--syntax-verify` option checks decompiled syntax when used with the matching bytecode version. Control-flow handling remains a major challenge, and some incorrect decompilations may be detected and reported. The tool does not handle obfuscated code, Cython, or MicroPython, and cannot directly decompile Py2EXE executables. Python 3.7 and 3.8 support is generally better in the related decompile3 project. Installation is through PyPI for Python 3.11 and later, or a GitHub Releases file for earlier Python versions. Platforms listed include Linux, macOS, Windows, and self-hosted use.

Visit github.com