Contents
x64dbg lets you run a Windows executable that has no source code, pause it partway, and look inside. This review uses a small program that you write and compile yourself to show the basic debugger operations.
This review is for people who have written a simple program in C or a similar language and want to see what happens inside a running program. After reading it, you can do the following:
- Download and start x64dbg
- Open your own program and stop it at a breakpoint
- Step through the code and watch instructions and registers change
What x64dbg is for
x64dbg is an open-source debugger for Windows. The official README names analysis of executables without source code, and malware analysis, as its main uses. According to the official website, it offers:
- Debugging of EXE and DLL files
- Views for disassembly, the memory map, symbols, threads, and a graph
- Patching instructions and writing the patches to a file
- Scripting to automate operations
- Plugins written in C++
- A JSON database that keeps your comments and labels
You debug 32-bit and 64-bit programs with the same interface and controls. The executables are separate, though: use x32dbg.exe for a 32-bit program and x64dbg.exe for a 64-bit one.
Network connections
Here is what we could confirm:
- Update checks do not run automatically. In the source code, the only places that call the update check are a button in the About dialog and a menu item for checking updates. When you use one, it queries
https://update.x64dbg.com/releases.json. - Symbols (clues such as function names) are downloaded only when you run the
symdownloadcommand or choose “Download Symbols for This Module” in the interface. The default source is Microsoft’s symbol server (https://msdl.microsoft.com/download/symbols). You can change it in the settings dialog. - The help and plugin menu items open the official sites in your browser.
- x64dbg does not block the network traffic of the program you debug. If the target connects to a network, it keeps doing so while you debug it.
This list covers what we could confirm in the source code and the official documentation. We did not read all of the code.
Requirements
| Item | Details |
|---|---|
| OS | Windows. The official README describes it as a debugger for Windows |
| Windows version | For builds below 10000 (before Windows 10), the source code shows an “unsupported” warning. It says future updates will stop running on that system |
| CPU | ARM64 emulation is not supported. The same kind of warning asks you to switch to an Intel/AMD CPU |
| Distribution | A zip file that you unpack. There is no installer |
| Memory and disk | We could not find an official figure |
The latest download is snapshot_2026-05-27_12-11.zip in the GitHub release 2026.05.27 (checked on 2026-10-27).
Try it safely with your own program
- From the official releases page, download
snapshot_<date>.zip. Do not pick files that start withsymbols-snapshotorx64dbg-pluginsdk. They are not the main program. - Unpack it in a place where your user can write. The README states this condition. Do not put it under
Program Files. - Run
x96dbg.exein the unpacked folder and choose 32-bit or 64-bit. You can also runx32\x32dbg.exeorx64\x64dbg.exedirectly. This review does not use the shell extension or desktop shortcuts thatx96dbg.execan register. - For practice, write a small C program that only prints a string, and compile it as 64-bit.
- In x64dbg, choose and open the compiled file.
- You can choose where the debugger first stops in the Events page of . The choices include the system breakpoint (during process initialization) and the entry breakpoint (the entry of the executable).
- In the disassembly view, select an instruction and press F2 to set a breakpoint.
- Press F9 to resume. The program stops when it reaches the breakpoint.
- When it stops, press F7 (step into) or F8 (step over) to advance one instruction at a time. Watch how the register values change with each instruction.
- Compare what you see with your source code to check which instructions each C statement became.
After you are comfortable with your own program, move on to material that clearly allows analysis, such as CTF practice challenges.
Common uses
The default shortcut keys are defined in the source code.
| Action | Default key |
|---|---|
| Run | F9 |
| Step into | F7 |
| Step over | F8 |
| Pause | F12 |
| Execute till return | Ctrl+F9 |
| Toggle breakpoint | F2 |
| Restart | Ctrl+F2 |
| Open the memory map | Alt+M |
| Open the breakpoint list | Alt+B |
| Pattern search (Find Pattern) | Ctrl+B |
Attach connects to a running process. It can attach only to a process of the same kind (32-bit or 64-bit) as the debugger. The 32-bit x32dbg cannot attach to a 64-bit process.
You can also work from the command box at the bottom of the window. Conditional breakpoints and logging are available too. The Introduction in the official help covers them in detail.
How x64dbg differs from Ghidra
| x64dbg | Ghidra | |
|---|---|---|
| Main way of working | Run the program, pause it, and inspect it | Disassemble and decompile an imported file, then read it |
| What you see | Registers, memory, and threads of the running program | Function structure and C-like decompiled output |
| OS it runs on | Windows | Windows, macOS, and Linux |
A good order is to read the overall structure in Ghidra first, then follow the parts whose behavior you want to confirm in x64dbg.
Cautions
- A debugger runs the target. Open files of unknown origin and malware samples only in an isolated environment such as a virtual machine. Don’t run them on your everyday PC. Decide whether to connect the network based on the purpose of your test. How to set up a safe test lab explains how to build one.
- Before you analyze software that someone else made, check its terms of use and license agreement. Some products forbid reverse engineering. Laws such as copyright law also matter. Don’t use it to bypass license activation. If you are unsure, use only your own programs and materials that allow analysis.
- You don’t normally need administrator rights. If you open an executable that requires them, x64dbg asks whether to restart as administrator. restarts both x64dbg and the program you are debugging with administrator rights. Use it only when you need it.
- Registering the shell extension in
x96dbg.exewrites to the registry’s classes root (HKEY_CLASSES_ROOT). In the source code, it relaunches itself with elevation (runas) for this. If you don’t use it, this change doesn’t happen. - A plugin is a program that you fetch from outside and add. Check where it comes from before you install it.
- Get x64dbg from the official GitHub releases page or from the download location linked from the official website.
Read next
Sources
- Official repository README (overview, installation and usage)github.com/x64dbg/x64dbg/blob/development/README.md
- Official website (features, GPLv3, libraries used)x64dbg.com
- License (GNU GPL v3)github.com/x64dbg/x64dbg/blob/development/LICENSE
- Release: 2026.05.27 (assets)github.com/x64dbg/x64dbg/releases/tag/2026.05.27
- Official help: File menu (Open, Attach, Restart as Admin)help.x64dbg.com/en/latest/gui/menus/File.html
- Official help: Debug menu (run and step commands)help.x64dbg.com/en/latest/gui/menus/Debug.html
- Official help: Events (pause settings)help.x64dbg.com/en/latest/gui/settings/Events.html
- Official help: symdownload command (symbol download)help.x64dbg.com/en/latest/commands/analysis/symdownload.html
- Source: update check code (UpdateChecker.cpp)github.com/x64dbg/x64dbg/blob/development/src/gui/Src/Utils/UpdateChecker.cpp
- Source: symbol download (symbolinfo.cpp)github.com/x64dbg/x64dbg/blob/development/src/dbg/symbolinfo.cpp
- Source: symbol store in the settings dialog (SettingsDialog.cpp)github.com/x64dbg/x64dbg/blob/development/src/gui/Src/Gui/SettingsDialog.cpp
- Source: unsupported-system warnings (MainWindow.cpp)github.com/x64dbg/x64dbg/blob/development/src/gui/Src/Gui/MainWindow.cpp
- Source: handling targets that need elevation (debugger.cpp)github.com/x64dbg/x64dbg/blob/development/src/dbg/debugger.cpp
- Source: launcher (x64dbg_launcher.cpp)github.com/x64dbg/x64dbg/blob/development/src/launcher/x64dbg_launcher.cpp
- Source: default shortcut keys (Configuration.cpp)github.com/x64dbg/x64dbg/blob/development/src/gui/Src/Utils/Configuration.cpp
Checked on 2026-10-27
Similar tools
Ghidra
Impact Local onlyA free, open-source software reverse engineering suite from the NSA. It disassembles and decompiles compiled programs so you can read what they do.
- Purpose
- Learning
- Type
- Desktop app
- Difficulty
- Advanced
- License
- PermissiveApache-2.0
- Category
- Reverse engineering / Learning and practice labs
Wireshark
Impact Reaches othersA packet analyzer that records network traffic and breaks each packet down by protocol so you can read it.
- Purpose
- Learning
- Type
- Desktop app
- Difficulty
- Beginner
- License
- CopyleftGPL-2.0
- Category
- Network / Forensics