Code Monkey home page Code Monkey logo

x64dbg's Introduction

x64dbg

Build status Crowdin Download x64dbg

Discord Telegram Gitter Matrix

An open-source binary debugger for Windows, aimed at malware analysis and reverse engineering of executables you do not have the source code for. There are many features available and a comprehensive plugin system to add your own. You can find more information on the blog!

Screenshots

main interface (light)

main interface (dark)

graph memory map

Installation & Usage

  1. Download a snapshot from GitHub, SourceForge or OSDN and extract it in a location your user has write access to.
  2. Optionally use x96dbg.exe to register a shell extension and add shortcuts to your desktop.
  3. You can now run x32\x32dbg.exe if you want to debug a 32-bit executable or x64\x64dbg.exe to debug a 64-bit executable! If you are unsure you can always run x96dbg.exe and choose your architecture there.

You can also compile x64dbg yourself with a few easy steps!

Sponsors


Contributing

This is a community effort and we accept pull requests! See the CONTRIBUTING document for more information. If you have any questions you can always contact us or open an issue. You can take a look at the good first issues to get started.

Credits

Developers

Code contributions

You can find an exhaustive list of GitHub contributors here.

Special Thanks

Without the help of many people and other open-source projects, it would not have been possible to make x64dbg what it is today, thank you!

x64dbg's People

Contributors

alexnask avatar athre0z avatar atvaark avatar balintf avatar blaquee avatar changeofpace avatar dl471 avatar fileoffset avatar foralost avatar georgeto avatar gmh5225 avatar herz3h avatar jdavidberger avatar justanotheranonymoususer avatar justasmasiulis avatar lovrolu avatar m417z avatar mattiwatti avatar morsisko avatar mrexodia avatar nukem9 avatar shocoman avatar sigmapic avatar smilingwolf avatar therealdreg avatar thundercls avatar torusrxxx avatar tr4ceflow avatar yakov5776 avatar zehmatt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

x64dbg's Issues

new file open, no GUI refresh

to reproduce:

#!c++
1) open a file (using GUI)
2) open a new file (using GUI)
3) the disasm will stay blank

or:

#!c++
1) enter command: "init test.exe"
2) enter command: "stop"
3) enter command: "init test.exe"
4) the disasm will stay blank (register window updated OK)

dumping issue

when dumping at the page base (eg 401000) the dump is not displayed, dumping at 401001 would work correctly.

reproduce (after loading a target):

#!c++
dump 401000

doesn't work.

#!c++
dump 401001

works.

#!c++
dump 401001
dump 401000

works.


_gui_setrunstatus

It would be nice if a status indicator was added to the GUI (Paused/Running). The GUI has to export "_gui_setrunstatus" with the following definition:

#!c
extern "C" void _gui_setrunstatus(bool isrunning);

The bridge would get a function called "GuiSetRunStatus", with the same definition that just passes it's argument to the GUI export.


log window on GUI

It would be great if the GUI had a log window with an export "_gui_addlogmessage" that adds a log message (optionally with '\n' newlines) to the log window. The bridge would get the function: GuiAddLogMessage, which calls the "_gui_addlogmessage" function.


update backup

update backup need fix .
after u make some changes to source code ,and reload target in the debugger again the BP ( which u put it before ) will still and take its place as int3 .program will failed .


Code Improve #1

file:bridgemain.cpp
line:21
issue:not checking function fail
bad code:
GetModuleFileNameA(0, szIniFile, 1024);
correct code:
if (!GetModuleFileNameA(0, szIniFile, 1024))
{
return "Error get path!";
}


dump window alignment

when dumping at a certain address, this address is not necessarily the first byte displayed, this should be the case. Reasons has to do with setting the row number to display, which means all displayed addresses are aligned.

Added the dump command "dump addr" for testing in the next commit


exit signal

Within the context of this feature addition, consider the command "x" to be removed from the debugger command list.

When the user closes the GUI, the GUI should call DbgExitSignal, so the debugger can close handles, free memory and terminate the target process. The GUI should wait until the debugger returns from the DbgExitSignal function.

The debugger should add the export "_dbg_dbgexitsignal", the bridge should add "DbgExitSignal".


Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.