Open-source project
x64dbg/x64dbg avatar
x64dbg/x64dbg

x64dbg's default branch is development, its releases are named by date, and its readme is mostly donors

An open-source user mode debugger for Windows. Optimized for reverse engineering and malware analysis.

49,658 stars2,847 forksC++NOASSERTION

At a glance

What is it?
An open-source Windows binary debugger for reverse engineering executables you do not have the source for, with a plugin system hosted off-repository. The default branch is the one in development rather than a stable branch, the release tags are calendar dates rather than versions, and the front page devotes more space to a hand-reconstructed donor table than to instructions.
Who is it for?
Adopt x64dbg when you need to step through a Windows executable you cannot recompile, because a live user-mode debugger on the actual binary answers questions a static analyser cannot, and the plugin system extends it. Do not expect cross-platform or kernel-level work: it is a Windows user-mode debugger, and the search traffic shows people looking for Linux builds and comparing it with a different tool that the documentation never addresses.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 3 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The default branch is development, and the releases are named by date

Look at the two facts that decide which code you get. The repository's default branch is a branch called development, not a stable branch, so a clone lands on work in progress. And the release tags are calendar dates rather than version numbers: the three most recent are dated May 2026, April 2026 and, before a visible gap, August 2025. The newest tag is from May while the last push to the branch was in late September, so roughly four months of work sit on the branch without a release. There is a second gap in the tag history as well, between April and August of last year. The consequence is that there is no version scheme to reason about and no stable branch to pin, only dates. If you need a reproducible analysis environment, record the commit you used, because nothing in the release naming will tell you later whether two machines were looking at the same code.

It is a portable extract, and the install path is part of the instruction

The installation section is three numbered steps and the first one carries a constraint that trips people up. You download a snapshot build from the releases page or from a mirror, and you extract it in a location your user has write access to. Not into the default installation directory, which on Windows is not user-writable. The second step is optional and uses the architecture chooser executable to register a shell extension and add desktop shortcuts, which is what makes a file associate with the debugger in Explorer's context menu. The third step is the architecture question: there is a separate executable for 32-bit binaries and another for 64-bit, and if you are not sure which you need, the same chooser executable from step two will ask you. The consequence is that this is a portable tool rather than an installed one, which suits an analyst moving between machines, and it means the first thing that fails is a permissions error on the extract path rather than anything to do with debugging.

The engine, the disassembler and the import rebuilder are all other projects

The credits section is the most technically informative part of the readme, because it says what x64dbg is actually made of. The debugger core comes from a separate engine project, licensed as a community edition. Disassembly is powered by a separate disassembler library. Assembly is handled by two more separate projects, one of them an instruction parser and one an assembler. Import reconstruction is credited to yet another project, the one that rebuilds import tables, linked to its own repository rather than vendored here. A JSON library and a compression library fill out the list. The consequence is that x64dbg is a user interface and integration layer over a stack of components maintained by other people, which is a strength for a tool you have to trust but it means version compatibility across that stack is somebody else's problem. In practical terms, the import rebuilder is a separate program you run alongside the debugger, and the search traffic shows people looking for the two together for exactly that reason.

The plugin system is the extension path, and it lives off-repository

The readme describes the tool as having a comprehensive plugin system to add your own, and links to a separate plugins site rather than describing an interface, a build step or an installation procedure. Everything else on the page points outward too, to a wiki for compiling the project, to a blog, and to a translation site. That is a deliberate choice for a project with this much community around it, and it has a consequence worth stating plainly. Extensions are distributed outside the version control of the tool, so a plugin is third-party code with its own maintenance state, its own licence and its own idea of which debugger build it targets, and the readme says nothing about how any of it is vetted. Before you load one into a session where you are stepping through an untrusted binary, treat it the way you would treat any other binary you found on the internet, because that is exactly what it is.

The readme is mostly credits, and the donor table says it was rebuilt by hand

Here is the structural oddity of this repository. After the installation steps there is a sponsors section, a contributing section, a credits section, a named developers list, a code contributions pointer, and then a special thanks list that runs for a long time, naming individuals, two commercial tools, and two long-running reversing communities. After all of that comes the largest section on the page: a table of historical donors running from 2015 to 2019. The note above that table is unusually candid. It says the project previously took donations through a platform that has since shut down, that the original terms included an optional website link for donors who asked for one, that links in the table reflect those requests, and that because the platform is gone the records were reconstructed by hand. It closes by asking anyone whose name or amount is missing or wrong to get in touch. The consequence is a page that tells you very little about the tool, and an unusually honest statement about the reliability of the one part of it that looks like data.

The only sponsor sells tooling for coding with multiple AI agents

There is exactly one sponsor, and it is worth naming because of what it says about where a reverse engineering tool sits in 2026. The sponsor is a terminal product described in the readme as built for coding with multiple AI agents, and the sponsorship runs through a platform that shows inline sponsor placements. Nothing in the readme frames this as a problem, and there is no evidence it changes anything about the tool, so it should not be read as a caveat. But it is a fact about the project's direction that a user-mode Windows debugger for malware analysis and reverse engineering is now funded by a product for driving coding agents, and it tells you something the feature list would not. The consequence for an evaluator is about trust surface rather than bias: the project takes money from a tool company, and the tool executes untrusted binaries, so the useful question is not whether the sponsor influences the debugger but whether you would let a debugger load a plugin from a third party at all.

The build is CMake, but the formatting script is a Windows batch file

The tree shows a build that is not tied to Windows in the way the debugger is. There is a top-level CMake build file, a CMake configuration file, a directory of CMake modules, a Visual Studio settings file for the CMake project, a dependencies directory, and a gitmodules file, so the third-party stack arrives as submodules. Static analysis is configured with a C++ lint tool, and formatting is driven by a Windows batch file in the repository root. That last one is the asymmetry. Building the project with CMake is plausibly portable, and the readme links a wiki page on compiling the whole project, but the routine developer workflow of reformatting your changes is wired to a batch file that will not run anywhere else. The consequence is small and familiar to anyone who has contributed to a Windows-first project: a contributor on macOS or Linux can build and can lint, and has to reproduce the formatting step by hand or port the script themselves before their first pull request looks like the others.

Editorial conclusion

Adopt x64dbg when you need to step through a Windows executable you cannot recompile, because a live user-mode debugger on the actual binary answers questions a static analyser cannot, and the plugin system extends it. Do not expect cross-platform or kernel-level work: it is a Windows user-mode debugger, and the search traffic shows people looking for Linux builds and comparing it with a different tool that the documentation never addresses. Three things to know before you install. It is a portable extract rather than an installer, so put it somewhere your user can write to instead of the default program files location. Import reconstruction is a separate project, not a button, and the debugger core itself comes from another engine. And the front page will not teach you the tool: the real documentation is on the wiki and blog, which it links rather than contains.

Frequently asked questions

What is x64dbg used for?

It is an open-source binary debugger for Windows, aimed at malware analysis and reverse engineering executables you do not have the source code for. The repository description scopes it as a user-mode debugger. It runs a live process, with separate executables for 32-bit and 64-bit targets and a chooser for when you are unsure.

How do I install x64dbg on Windows?

Download a snapshot build from the releases page or a mirror and extract it somewhere your user has write access to, rather than into the default program files location. Optionally use the architecture chooser executable to register a shell extension and add desktop shortcuts, then run the 32-bit or 64-bit executable for your target.

How do I install x64dbg plugins?

The readme describes a plugin system for adding your own and links to a separate plugins site rather than documenting an interface or an install step, so the procedure lives outside this repository. Plugins are third-party code distributed separately from the debugger's own version control.

What is the main difference between Ghidra and x64dbg?

The documentation does not make that comparison. What it states about itself is the scope: a binary debugger for Windows, scoped in the repository description to user mode, aimed at executables whose source you do not have, with a plugin system. The credits also show the engine, the disassembler and the import rebuilder are separate projects.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/x64dbg-x64dbg.svg)](https://hysenlabs.com/projects/x64dbg-x64dbg)