X64dbg
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
| x64dbg | |
|---|---|
x64dbg screenshot of Notepad++ being debugged | |
| Developer | mrexodia |
| Release | February 24, 2014 |
| Written in | C++ |
| Platform | Windows |
| Available in | English |
| License | GNU General Public License 3.0 |
| Website | x64dbg |
| Repository | github |
x64dbg is a free and open-source[1] debugging software available on Windows-based systems. It is used to analyze 64-bit executable files, while its counterpart, x32dbg, is used to analyze 32-bit executable files. Debugging is a process of looking into executable files translated into low-level assembly code, allowing the user of the debugger to see what is going on inside of an application; even if it is not open source. This is called reverse engineering. It is very similar and often interchangeable with other debugging software. x64dbg is one of the most popular debugging software programs.[2]
Features and usage
[edit]The GUI of x64dbg is very overwhelming and cramped at first sight. The ribbon at the top of the screen includes all of the main tabs for the software, and allows you to navigate between different screens. x64dbg also supports plugins.[3]
The CPU tab is the tab users most frequently use. It contains the assembly code of the file a user drags in. Breakpoints, labelled as grey circles, can be inserted to the left of the assembly code. These are important for when the file being examined is executed and the code needs to pause at a certain section. To the right of this are the FPU Registers, which store data of the file that was dragged in. Debuggers automatically generate their own variable names for variables referenced in the assembly code itself, and the values of these variables can be viewed here.
At the bottom of the GUI is a dump section, which stores memory of the currently running process.
Other tabs can be viewed by clicking different sections of the ribbon, or alternatively by clicking on the "View" tab at the top, which brings up a dropdown listing every other tab. These tabs include; CPU, Log, Notes, Breakpoints, Memory Map, Call Stack, SEH Chain (Structured Exception Handling), Script, Symbols, Modules, Source, References, Threads, Handles, Graph, and Trace.
Patches
[edit]Patches are a way of allowing you to make modifications to the code, they let you save the code as a new file. This is often used when you want to make permanent changes to a file.