Binary Ninja
Understand binary code using an interactive user interface, a powerful API for automation, and a unique stack of intermediate languages for decompilation.

Disassemble Files

Binary Ninja includes support for dissassembly from multiple architectures, including x86, x86-64, ARMv7 (with Thumb2), ARMv8 (AArch64), PowerPC, 6502, Z80, and MIPS. Additionally, our community supports many other architectures through our public plugin ecosystem. Loaders are available for all major platforms (PE, Mach-O, ELF) and can be extended or customized using our API.

Decompile Code

Our built-in decompiler works with all of our officially supported architectures at one price and builds on a powerful family of ILs called BNIL. In fact, not just our architectures, but even community architectures can produce amazing decompilation. Our decompiler outputs to both C and BNIL and can be switched on-demand.

Debug Applications

Our open source, native debugger can debug applications on Windows, macOS, and Linux. It supports a wide variety of interfaces and is capable of both local and remote debugging.

Automate Anything

Our extensive API can be used to create and customize loaders, add or augment architectures, customize the UI, or automate any workflow (types, patches, decompilation...anything!). Bindings are available for C++, Python, and Rust.

Create Plugins

Made something cool and want to share? Publish your community plugin and have it featured in our Plugin Manager! These plugins can be installed (or updated) at any time by any customer, right inside the client.

Triage Quickly

Use our API to quickly batch process files and see the results in our triage view. Use the entropy graph to identify areas of interest, like packed or encrypted data. Click on any location to navigate there quickly.

Explore Interactively

We didn't just build the best automation and API for binary analysis, but our UI design is intentional and clean. None of the distractions, but all of the features you need for the biggest jobs including multiple tabs, synchronized and split views, custom layouts and more.

Annotate Everything

Reverse engineering is the process of exploring the unknown. As your understanding improves, we give you the tools to represent that and improve analysis. Add types, structures, comments, highlights, tags, and more.

Patch Effectively

Make binary patches quickly and effectively with a variety of tools purpose-built for speed. Edit lines of assembly directly, select a preset patch, edit raw bytes with our hex editor view, or even compile C into the executable directly with our own built in compiler SCC.

Switch Platforms

You'll never be stuck. Binary Ninja not only runs seamlessly on Windows, macOS, and Linux, but every purchases includes all three platforms for one price.

Run Headlessly

No need to only do your analysis inside of Binary Ninja. Instead, bring Binary Ninja into your analysis environment. Use the python repl of your choice, or even statically compile our core analysis library into an existing framework, our analysis can be completely untethered from the UI.

(Commercial and Enterprise licenses only)

Committed to Open Source

Need to modify our implementation of a platform or architecture? Have a new debugger feature you want to contribute? We're committed to keeping as much of the product open source as possible.