1
0
Fork 0

Merged mrexodia/x64_dbg into master

This commit is contained in:
David Reguera Garcia (Dreg) 2014-11-02 01:05:16 +01:00
commit da5063ecf9
7 changed files with 175 additions and 190 deletions

View File

@ -38,7 +38,7 @@ extern "C"
//Bridge defines //Bridge defines
#define MAX_SETTING_SIZE 65536 #define MAX_SETTING_SIZE 65536
#define DBG_VERSION 22 #define DBG_VERSION 23
//Bridge functions //Bridge functions
BRIDGE_IMPEXP const char* BridgeInit(); BRIDGE_IMPEXP const char* BridgeInit();

View File

@ -1,31 +0,0 @@
#ifndef _DATA_H
#define _DATA_H
#include "_global.h"
enum DATA_TYPE //how to display the current struct entry?
{
thex, //%X
tint, //%d
tuint, //%u
ttext, //%c
};
struct STRUCT_INFO
{
unsigned int size; //size of one entry (with type) (max 256)
DATA_TYPE display_type; //display type
unsigned int count; //number of entries with the same content (reserved[12])
void* description; //reserved for later use (for example name of variable)
};
struct DATA
{
uint page_start; //remote/local memory
uint page_size; //size of memory
uint ip; //real start of data (relative from page_start)
int struct_size; //number of entries in a struct
STRUCT_INFO* info; //actual info
};
#endif // _DATA_H

View File

@ -1,5 +1,8 @@
#pragma once #ifndef _LOG_H
#define _LOG_H
#include <sstream> #include <sstream>
// a Qt's QDebug like message logging // a Qt's QDebug like message logging
// usage: "log() << "hi" << "there"; // usage: "log() << "hi" << "there";
class log class log
@ -7,8 +10,8 @@ class log
public: public:
log(); log();
~log(); ~log();
public:
public:
template<class T> template<class T>
inline log & operator<<(const T & x) inline log & operator<<(const T & x)
{ {
@ -16,8 +19,9 @@ public:
message << x; message << x;
return *this; return *this;
} }
private: private:
std::ostringstream message; std::ostringstream message;
}; };
#endif _LOG_H

View File

@ -4,7 +4,6 @@
#include "variable.h" #include "variable.h"
#include "instruction.h" #include "instruction.h"
#include "debugger.h" #include "debugger.h"
#include "data.h"
#include "simplescript.h" #include "simplescript.h"
#include "console.h" #include "console.h"
#include "math.h" #include "math.h"
@ -301,7 +300,7 @@ extern "C" DLL_EXPORT void _dbg_dbgexitsignal()
if(memleaks()) if(memleaks())
{ {
char msg[256] = ""; char msg[256] = "";
sprintf(msg, "%d memory leak(s) found!\n\nPlease send contact the authors of x64_dbg.", memleaks()); sprintf(msg, "%d memory leak(s) found!\n\nPlease contact the authors of x64_dbg.", memleaks());
MessageBoxA(0, msg, "error", MB_ICONERROR | MB_SYSTEMMODAL); MessageBoxA(0, msg, "error", MB_ICONERROR | MB_SYSTEMMODAL);
} }
else else

View File

@ -58,7 +58,6 @@
<ClInclude Include="breakpoint.h" /> <ClInclude Include="breakpoint.h" />
<ClInclude Include="command.h" /> <ClInclude Include="command.h" />
<ClInclude Include="console.h" /> <ClInclude Include="console.h" />
<ClInclude Include="data.h" />
<ClInclude Include="dbghelp\dbghelp.h" /> <ClInclude Include="dbghelp\dbghelp.h" />
<ClInclude Include="debugger.h" /> <ClInclude Include="debugger.h" />
<ClInclude Include="debugger_commands.h" /> <ClInclude Include="debugger_commands.h" />

View File

@ -13,30 +13,6 @@
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter> </Filter>
<Filter Include="Header Files\BeaEngine">
<UniqueIdentifier>{6028af23-e8de-4db7-b1c7-bee2b5a4402b}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\dbghelp">
<UniqueIdentifier>{5623fb24-3b6d-49a6-a0d3-1cfcc46f87bd}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\TitanEngine">
<UniqueIdentifier>{23226861-3b20-42db-8dd6-c5d276ba7a83}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\XEDParse">
<UniqueIdentifier>{6b85ff77-8866-4618-9d46-006d8c349f8f}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\DeviceNameResolver">
<UniqueIdentifier>{f4eb1487-15d6-4836-9d20-339d0f18c31f}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\jansson">
<UniqueIdentifier>{b63305e2-2b10-46eb-839f-5e9080fa8ad8}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\lz4">
<UniqueIdentifier>{6a8d58f0-1417-4bff-aecd-0f9f5e0641f9}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\UString">
<UniqueIdentifier>{adf51b13-6f3b-4b04-9ba9-21fb7a38150d}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\UString"> <Filter Include="Source Files\UString">
<UniqueIdentifier>{ee24febc-948e-4226-ba0e-68a9b449fb23}</UniqueIdentifier> <UniqueIdentifier>{ee24febc-948e-4226-ba0e-68a9b449fb23}</UniqueIdentifier>
</Filter> </Filter>
@ -55,6 +31,48 @@
<Filter Include="Source Files\Debugger Core"> <Filter Include="Source Files\Debugger Core">
<UniqueIdentifier>{52e2c3ae-0223-4216-b896-41d9f171f731}</UniqueIdentifier> <UniqueIdentifier>{52e2c3ae-0223-4216-b896-41d9f171f731}</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="Header Files\Debugger Core">
<UniqueIdentifier>{164592cf-e2c9-4c98-abf6-ea47d37653a1}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Third Party">
<UniqueIdentifier>{d2362bf7-ff20-493d-be01-0fb7e6dca8c9}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Third Party\TitanEngine">
<UniqueIdentifier>{23226861-3b20-42db-8dd6-c5d276ba7a83}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Third Party\UString">
<UniqueIdentifier>{adf51b13-6f3b-4b04-9ba9-21fb7a38150d}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Third Party\XEDParse">
<UniqueIdentifier>{6b85ff77-8866-4618-9d46-006d8c349f8f}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Third Party\BeaEngine">
<UniqueIdentifier>{6028af23-e8de-4db7-b1c7-bee2b5a4402b}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Third Party\dbghelp">
<UniqueIdentifier>{5623fb24-3b6d-49a6-a0d3-1cfcc46f87bd}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Third Party\DeviceNameResolver">
<UniqueIdentifier>{f4eb1487-15d6-4836-9d20-339d0f18c31f}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Third Party\jansson">
<UniqueIdentifier>{b63305e2-2b10-46eb-839f-5e9080fa8ad8}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Third Party\lz4">
<UniqueIdentifier>{6a8d58f0-1417-4bff-aecd-0f9f5e0641f9}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Interfaces/Exports">
<UniqueIdentifier>{714f2eb1-20d7-47ed-a641-ba8a66da2e7a}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Utilities">
<UniqueIdentifier>{938130d5-63d6-44c2-9604-70f1f101890c}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Core">
<UniqueIdentifier>{ccf4c0a0-bb97-4090-acc5-bc6b343300bf}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Information">
<UniqueIdentifier>{b006b04c-d7ea-49cb-b097-0cac1388f98e}</UniqueIdentifier>
</Filter>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="main.cpp"> <ClCompile Include="main.cpp">
@ -164,161 +182,158 @@
</ClCompile> </ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="_exports.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="_global.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="addrinfo.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="argument.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="breakpoint.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="command.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="console.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="data.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="debugger.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="instruction.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="math.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="memory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="msgqueue.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="simplescript.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="threading.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="value.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="variable.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="x64_dbg.h"> <ClInclude Include="x64_dbg.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="plugin_loader.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="_plugins.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="_plugin_types.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="assemble.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="disasm_helper.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="symbolinfo.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="stackinfo.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="thread.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="undocumented.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="disasm_fast.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="reference.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="BeaEngine\basic_types.h"> <ClInclude Include="BeaEngine\basic_types.h">
<Filter>Header Files\BeaEngine</Filter> <Filter>Header Files\Third Party\BeaEngine</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="BeaEngine\BeaEngine.h"> <ClInclude Include="BeaEngine\BeaEngine.h">
<Filter>Header Files\BeaEngine</Filter> <Filter>Header Files\Third Party\BeaEngine</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="BeaEngine\export.h"> <ClInclude Include="BeaEngine\export.h">
<Filter>Header Files\BeaEngine</Filter> <Filter>Header Files\Third Party\BeaEngine</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="BeaEngine\macros.h"> <ClInclude Include="BeaEngine\macros.h">
<Filter>Header Files\BeaEngine</Filter> <Filter>Header Files\Third Party\BeaEngine</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="dbghelp\dbghelp.h"> <ClInclude Include="dbghelp\dbghelp.h">
<Filter>Header Files\dbghelp</Filter> <Filter>Header Files\Third Party\dbghelp</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="XEDParse\XEDParse.h"> <ClInclude Include="XEDParse\XEDParse.h">
<Filter>Header Files\XEDParse</Filter> <Filter>Header Files\Third Party\XEDParse</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="TitanEngine\TitanEngine.h"> <ClInclude Include="TitanEngine\TitanEngine.h">
<Filter>Header Files\TitanEngine</Filter> <Filter>Header Files\Third Party\TitanEngine</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="DeviceNameResolver\DeviceNameResolver.h"> <ClInclude Include="DeviceNameResolver\DeviceNameResolver.h">
<Filter>Header Files\DeviceNameResolver</Filter> <Filter>Header Files\Third Party\DeviceNameResolver</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="jansson\jansson.h"> <ClInclude Include="jansson\jansson.h">
<Filter>Header Files\jansson</Filter> <Filter>Header Files\Third Party\jansson</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="jansson\jansson_config.h"> <ClInclude Include="jansson\jansson_config.h">
<Filter>Header Files\jansson</Filter> <Filter>Header Files\Third Party\jansson</Filter>
</ClInclude>
<ClInclude Include="murmurhash.h">
<Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="lz4\lz4.h"> <ClInclude Include="lz4\lz4.h">
<Filter>Header Files\lz4</Filter> <Filter>Header Files\Third Party\lz4</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="lz4\lz4file.h"> <ClInclude Include="lz4\lz4file.h">
<Filter>Header Files\lz4</Filter> <Filter>Header Files\Third Party\lz4</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="lz4\lz4hc.h"> <ClInclude Include="lz4\lz4hc.h">
<Filter>Header Files\lz4</Filter> <Filter>Header Files\Third Party\lz4</Filter>
</ClInclude>
<ClInclude Include="_dbgfunctions.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="patches.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="debugger_commands.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="handle.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="dynamicmem.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="log.h">
<Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="UString\Exception.h"> <ClInclude Include="UString\Exception.h">
<Filter>Header Files\UString</Filter> <Filter>Header Files\Third Party\UString</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="UString\String.h"> <ClInclude Include="UString\String.h">
<Filter>Header Files\UString</Filter> <Filter>Header Files\Third Party\UString</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="UString\UString.h"> <ClInclude Include="UString\UString.h">
<Filter>Header Files\UString</Filter> <Filter>Header Files\Third Party\UString</Filter>
</ClInclude>
<ClInclude Include="_global.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="argument.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="console.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="command.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="math.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="msgqueue.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="threading.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="value.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="variable.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="plugin_loader.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="murmurhash.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="debugger.h">
<Filter>Header Files\Debugger Core</Filter>
</ClInclude>
<ClInclude Include="debugger_commands.h">
<Filter>Header Files\Debugger Core</Filter>
</ClInclude>
<ClInclude Include="instruction.h">
<Filter>Header Files\Debugger Core</Filter>
</ClInclude>
<ClInclude Include="addrinfo.h">
<Filter>Header Files\Information</Filter>
</ClInclude>
<ClInclude Include="breakpoint.h">
<Filter>Header Files\Information</Filter>
</ClInclude>
<ClInclude Include="stackinfo.h">
<Filter>Header Files\Information</Filter>
</ClInclude>
<ClInclude Include="symbolinfo.h">
<Filter>Header Files\Information</Filter>
</ClInclude>
<ClInclude Include="_plugins.h">
<Filter>Header Files\Interfaces/Exports</Filter>
</ClInclude>
<ClInclude Include="_exports.h">
<Filter>Header Files\Interfaces/Exports</Filter>
</ClInclude>
<ClInclude Include="_dbgfunctions.h">
<Filter>Header Files\Interfaces/Exports</Filter>
</ClInclude>
<ClInclude Include="_plugin_types.h">
<Filter>Header Files\Interfaces/Exports</Filter>
</ClInclude>
<ClInclude Include="assemble.h">
<Filter>Header Files\Utilities</Filter>
</ClInclude>
<ClInclude Include="disasm_fast.h">
<Filter>Header Files\Utilities</Filter>
</ClInclude>
<ClInclude Include="disasm_helper.h">
<Filter>Header Files\Utilities</Filter>
</ClInclude>
<ClInclude Include="memory.h">
<Filter>Header Files\Utilities</Filter>
</ClInclude>
<ClInclude Include="patches.h">
<Filter>Header Files\Utilities</Filter>
</ClInclude>
<ClInclude Include="reference.h">
<Filter>Header Files\Utilities</Filter>
</ClInclude>
<ClInclude Include="simplescript.h">
<Filter>Header Files\Utilities</Filter>
</ClInclude>
<ClInclude Include="thread.h">
<Filter>Header Files\Utilities</Filter>
</ClInclude>
<ClInclude Include="dynamicmem.h">
<Filter>Header Files\Utilities</Filter>
</ClInclude>
<ClInclude Include="handle.h">
<Filter>Header Files\Utilities</Filter>
</ClInclude>
<ClInclude Include="log.h">
<Filter>Header Files\Utilities</Filter>
</ClInclude>
<ClInclude Include="undocumented.h">
<Filter>Header Files\Debugger Core</Filter>
</ClInclude> </ClInclude>
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -17,6 +17,7 @@
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
@ -55,11 +56,9 @@ IDI_ICON1 ICON "..\\bug.ico"
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// Manifest // RT_MANIFEST
// //
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
1 RT_MANIFEST ".\\manifest.xml" 1 RT_MANIFEST ".\\manifest.xml"
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
@ -68,8 +67,8 @@ IDI_ICON1 ICON "..\\bug.ico"
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,0,2,2 FILEVERSION 0,0,2,3
PRODUCTVERSION 0,0,2,2 PRODUCTVERSION 0,0,2,3
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@ -85,7 +84,7 @@ BEGIN
BLOCK "040904b0" BLOCK "040904b0"
BEGIN BEGIN
VALUE "FileDescription", "x64_dbg" VALUE "FileDescription", "x64_dbg"
VALUE "FileVersion", "0.0.2.2" VALUE "FileVersion", "0.0.2.3"
VALUE "LegalCopyright", "x64dbg.com" VALUE "LegalCopyright", "x64dbg.com"
VALUE "ProductName", "x64_dbg" VALUE "ProductName", "x64_dbg"
VALUE "ProductVersion", "V2.2ALPHA" VALUE "ProductVersion", "V2.2ALPHA"