SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 C++ Reverse Engineering Projects
-
ImHex
🔍 A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM.
ImHex (https://imhex.werwolv.net/) is also a really nice Hex editor with tons of plugins (patterns, file support, etc.) and even an embedded language for adding more patterns easily
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
x64dbg
An open-source user mode debugger for Windows. Optimized for reverse engineering and malware analysis.
-
-
-
-
Triton
Triton is a dynamic binary analysis library. Build your own program analysis tools, automate your reverse engineering, perform software verification or just emulate code. (by JonathanSalwan)
-
apkstudio
Open-source, cross platform Qt6 based IDE for reverse-engineering Android application packages. It features a friendly IDE-like layout including code editor with syntax highlighting support for *.smali code files.
-
-
-
-
Project mention: PlayStation 2 Recompilation Project Is Absolutely Incredible | news.ycombinator.com | 2026-01-29
-
-
keystone
Keystone assembler framework: Core (Arm, Arm64, Hexagon, Mips, PowerPC, Sparc, SystemZ & X86) + bindings (by keystone-engine)
-
-
-
lazy_importer
library for importing functions from dlls in a hidden, reverse engineer unfriendly way
-
SpecialK
Lovingly referred to as the Swiss Army Knife of PC gaming, Special K does a bit of everything.
-
Almost ~10 years ago I began to write a little widget to display binary data for one of my old projects (now in sleep state) and today for my own disassembler, after a while I decided to isolate its code and move it to a dedicated repository hoping it will be useful to other developers. Over the years I received issues and pull requests from other developers that increased the widget's release to version 4.x.
-
-
-
-
It's complicated. It's not always a straightforward space vs time tradeoff. For chromium's allocation patterns, it sounds like segment heap was slower. But BinaryNinja reported the opposite! See https://github.com/Vector35/binaryninja-api/issues/2778
Side note on the Chromium topic: Google Chrome decided NT Heap is still best for their usage, but Microsoft Edge, which is also built on the Chromium, uses segment heap. Not sure what Firefox uses. You can check by attaching WinDbg and doing !heap. Note that not every heap will be segment heap, even if you globally opt into segment heap. Some code paths explicitly create their own heaps as NT heaps.
At the very least, using fewer pages to allocate the same amount of data improves memory locality slightly. Folks should test and see what works best in their applications.
Another benefit of segment heap that we haven't discussed yet is that it's more strict and proactive about detecting problems and terminating. From what I understand, heap metadata is now stored separately from heap data, and they use guard pages. So heap buffer overruns don't overwrite the heap manager's bookkeeping. With NT heap, crashes due to use-after-free might manifest much later and more indirectly. Like, maybe it overwrote the free list, or it overwrote some newer allocation that landed on the same address. So, the crash is usually in some unlucky 'innocent bystander' call stack that worked with the corrupted region. With segment heap, you tend to get earlier, more actionable, specific crashing call stacks, closer to the site of the original bug.
-
C++ Reverse Engineering discussion
C++ Reverse Engineering related posts
-
80386 Microcode Disassembled
-
Windows Server 2025 Runs Better on ARM
-
Special K – The Swiss Army Knife of PC Gaming
-
PlayStation 2 Recompilation Project Is Absolutely Incredible
-
Binary Ninja is an interactive decompiler and binary analysis platform
-
Breath of the Wild Decompilation
-
LIEF – Library to Instrument Executable Formats
-
A note from our sponsor - SaaSHub
www.saashub.com | 6 Jun 2026
Index
What are some of the best open-source Reverse Engineering projects in C++? This list will help you:
| # | Project | Stars |
|---|---|---|
| 1 | ImHex | 53,792 |
| 2 | x64dbg | 48,564 |
| 3 | cutter | 18,918 |
| 4 | LunaTranslator | 11,767 |
| 5 | LIEF | 5,433 |
| 6 | Triton | 4,191 |
| 7 | apkstudio | 4,006 |
| 8 | Osiris | 3,770 |
| 9 | Millennium | 3,767 |
| 10 | DIE-engine | 3,114 |
| 11 | PS2Recomp | 3,012 |
| 12 | edb-debugger | 2,915 |
| 13 | keystone | 2,567 |
| 14 | Textractor | 2,555 |
| 15 | botw | 1,976 |
| 16 | lazy_importer | 1,922 |
| 17 | SpecialK | 1,909 |
| 18 | redasm | 1,710 |
| 19 | pharos | 1,701 |
| 20 | XELFViewer | 1,572 |
| 21 | openblack | 1,508 |
| 22 | binaryninja-api | 1,268 |
| 23 | xoreos | 1,152 |