We're excited to announce a major new release of x64dbg, the open-source user mode debugger for Windows. For those new to the project, x64dbg is designed to make reverse engineering and malware analysis faster and more intuitive. This release marks a significant step forward, overhauling our core type system and modernizing our entire toolchain to bring you a more powerful and stable debugging experience.
NOTE: There were some minor issues that made the 2025.06.30 snapshot unusable (signing issue causing a Windows Defender false positive, AVX-512 support crashed in x32dbg and the VC runtime was not loaded correctly). Because of this that snapshot has been deleted and a fixed one has been put here.
✨ Revamped Type System
In previous versions, analyzing data structures was a tedious, manual process and many features were not supported. This release adds support for bitfields, enums and anonymous types, which allows all types in the Windows SDK to be represented and displayed.
The ManyTypes plugin by @snowsnowsnows (who also drove this revamp) allows you to import C header files and see the results directly in x64dbg. While we plan to streamline this workflow even further in future updates, this is a huge leap in making data inspection easier.
This isn't just about convenience; it's about speed. We've introduced drastic performance improvements to the struct widget, so you can now browse deeply nested pointers and large data structures without the lag.
We’ve also added a host of quality-of-life improvements:
Interactive type selection: While selecting the type you will instantly see what the data looks like, enabling a more interactive workflow.
Smarter Displays: Character arrays are now automatically rendered as strings, saving you an extra step.
Better Integration: You can now invoke the "Display type" action directly from the register and stack views, making it easier than ever to inspect data on the fly.
💻 AVX-512 and Half-Float Support
This release introduces support for the latest CPU instruction sets, ensuring you can analyze even the most modern applications.
AVX-512 Support: You now have the power to debug and analyze code that leverages the AVX-512 instruction set, a critical feature for high-performance computing and complex malware.
Half-Float Support: We've added support for 16-bit half-precision floating-point numbers in the dump, a feature especially useful when reversing graphics applications or machine learning models.
⚡ Small Changes, Big Impact
Sometimes it’s the little things that count. Based on your feedback, we've added several small but mighty workflow enhancements:
Copy Graph Image: You can now copy the function graph directly to your clipboard, making it effortless to share your findings or add visuals to your reports.
Copy Calling Convention Arguments: A new context menu option lets you quickly copy function arguments, streamlining the process of reconstructing code or documenting function calls.
Focus on Window in Handles View: You can now bring a target window to the foreground directly from the handles view, which is incredibly useful for UI-heavy debugging.
Revamped Launcher: The launcher now has checkboxes and an uninstall option.
🚀 Modern Tooling and a New Release Cycle
We've completed a monumental migration of our entire build system to Visual Studio 2022 and CMake. This massive undertaking provides a more stable foundation, makes it easier for new developers to contribute, and accelerates the pace of future improvements. The compilation instructions were cut down from 13 steps to a single one.
There has also been movement on a headless version of x64dbg. The main focus for now is automated testing, but eventually it will be expanded to allow headless automations.
Starting with this release, we will be using CalVer (Calendar Versioning) with proper GitHub releases and tags. This will keep our releases more organized and allow package managers and users to reference specific versions more easily. Additionally Windows XP is no longer supported and for Windows 7/8.1 you will get an unskippable deprecation warning:
🔮 Looking Ahead: A Cross-Platform Future
We're excited to share a glimpse into our experimental cross-platform branch. This is our testbed for separating core GUI widgets into a reusable library, with the goal of bringing x64dbg's powerful tools to all major platforms (Windows, macOS, and Linux).
A minidump viewer to browse .dmp files on any platform.
A remote table tool that showcases fetching data over a high-latency network.
These tools are still in early development and not part of the release, but they represent a critical step toward a more versatile and platform-independent future for our components.
🤝 Community
x64dbg is a community-driven project, and this release would not have been possible without the incredible work of our contributors. A huge thank you to everyone who contributed code, reported bugs, and helped shape this release ❤️
We recently revamped the Discord community, which you can join below:
You can also get the XDBG tag after joining the server:
Other platforms are synchronized with the #general channel:
❤️ Sponsors
This project is partially made possible by the generous support of sponsors. We would like to give a special shout out to the following sponsors who donated at the highest tier since the last release:
🥇 FLOSS/fund - Funding for Free and Open Source projects.
Also many thanks to the other active sponsors: @adam-the, @verdeckt, @emesare, @daaximus, @stevemk14ebr, @as0ni, @sedrakpc, @Dan0xE, @Invoke-RE, @leandrofroes, @shu-tom, @buzzer-re, @expend20, @crudd, @clayne, @fr0zenbag, @merces, @dzzie
If you find x64dbg valuable in your work, please consider becoming a sponsor. Your support directly funds development and helps us continue to build the future of debugging. For companies we also offer custom services depending on the level of sponsorship, please reach out for more details!
📜 Changelog
Fix translation errors
Split ModuleStdTable into header and sources to fix Q_OBJECT error
Build with GitHub Actions by @mrexodia in #3538
Ignore clangd cache
Fix buffer overflow by @torusrxxx in #3541
Add dump support for half float by @torusrxxx in #3544
Add support for AVX512 by @torusrxxx in #3536
Fix compilation on MinGW (clang) by @mrexodia in #3539
Fix wrong icon for ActionTreatSelectionAsXXX by @torusrxxx in #3546
Always update the Example text's background color by @G3ph4z in #3537
Show launcher on first launch after installing by @whindsaks in #3521
New x96dbg configuration dialog by @G3ph4z in #3532
Make a rebuild copy the dependencies again
Add headless mode POC #3516
Fix compilation with clang-cl
Add some more state for the headless mode
Automatically download submodules when necessary
Updated Type Database Handling by @snowsnowsnows in #3552
Fix structure packing in TitanEngine.h #3563
Update badges
Improve plugin loading error messages
Fix errors with simple header parsing
Improved error reporting in DisplayType command
Allow configuring default max pointer depth in DisplayType
Small UX improvements in struct widget
Move "Display type" to CommonActions and add to registers/stack
Fix missing stdint types when building with vs2022 v120_xp toolset by @WindowsAPI in #3593
Fix error handling in ParseTypes
Added Copy Menu for Call Conv Arguments by @snowsnowsnows in #3595
Draw jump lines under register label; Focus on window in handles view by @torusrxxx in #3585
Copy graph image by @torusrxxx in #3578
Add IRC link to README
Added Type Reload Functionality in Struct View by @snowsnowsnows in #3597
Update AStyleHelper to only format changed files
Mark padding as bitfield
Fix a bug with GotoDialog::setInitialExpression not working twice in a row
Performance improvements for StructWidget
Remove Visual Studio projects
Static MSVC runtime for launcher and loaddll
Prefix commands with $ to format the command itself
Add a few string expression functions
Update breakpoint dialog tooltip match reality
Add test for #3599
Add back missing /DELAYLOAD options #3412
Add selectionChanged signal to SearchListView
Implement DisplayTypeDialog for better UX
Change StructWidget to inherit from TypeWidget
Make type visiting expansion depth configurable
Add GuiTypeListUpdated for better UX
Hide __anonymous types
Improve pretty printing in NodeVisitor
Print string values of character arrays
Get rid of Qt5Network dependency
Match snapshot format to previous releases
Update dependencies
Upload snapshot ZIP files as artifacts directly
Fix: Trim trailing whitespace in script labels #3589 by @oxqnd in #3610
Fix Handles->Message Breakpoint: wnd proc or handle is unavailable (wine) by @eldarkg in #3607
Fixed inverted logic by @OldGamesCracking in #3588