diff --git a/x64_dbg_bridge/bridgemain.cpp b/x64_dbg_bridge/bridgemain.cpp index 89e405fd..4779ffd3 100644 --- a/x64_dbg_bridge/bridgemain.cpp +++ b/x64_dbg_bridge/bridgemain.cpp @@ -4,7 +4,7 @@ #include static HINSTANCE hInst; -static char szIniFile[1024]=""; +static char szIniFile[1024] = ""; #ifdef _WIN64 #define dbg_lib "x64_dbg.dll" @@ -34,17 +34,17 @@ BRIDGE_IMPEXP const char* BridgeInit() ///Settings load if(!GetModuleFileNameA(0, szIniFile, 1024)) return "Error getting module path!"; - int len=(int)strlen(szIniFile); - while(szIniFile[len]!='.' && szIniFile[len]!='\\' && len) + int len = (int)strlen(szIniFile); + while(szIniFile[len] != '.' && szIniFile[len] != '\\' && len) len--; - if(szIniFile[len]=='\\') + if(szIniFile[len] == '\\') strcat(szIniFile, ".ini"); else strcpy(&szIniFile[len], ".ini"); HINSTANCE hInst; const char* szLib; - static char szError[256]=""; + static char szError[256] = ""; //GUI Load LOADLIBRARY(gui_lib); @@ -86,7 +86,7 @@ BRIDGE_IMPEXP const char* BridgeStart() BRIDGE_IMPEXP void* BridgeAlloc(size_t size) { - unsigned char* a=(unsigned char*)GlobalAlloc(GMEM_FIXED, size); + unsigned char* a = (unsigned char*)GlobalAlloc(GMEM_FIXED, size); if(!a) { MessageBoxA(0, "Could not allocate memory", "Error", MB_ICONERROR); @@ -114,13 +114,13 @@ BRIDGE_IMPEXP bool BridgeSettingGetUint(const char* section, const char* key, du { if(!section || !key || !value) return false; - char newvalue[MAX_SETTING_SIZE]=""; + char newvalue[MAX_SETTING_SIZE] = ""; if(!BridgeSettingGet(section, key, newvalue)) return false; #ifdef _WIN64 - int ret=sscanf(newvalue, "%llX", value); + int ret = sscanf(newvalue, "%llX", value); #else - int ret=sscanf(newvalue, "%X", value); + int ret = sscanf(newvalue, "%X", value); #endif //_WIN64 if(ret) return true; @@ -140,7 +140,7 @@ BRIDGE_IMPEXP bool BridgeSettingSetUint(const char* section, const char* key, du { if(!section || !key) return false; - char newvalue[MAX_SETTING_SIZE]=""; + char newvalue[MAX_SETTING_SIZE] = ""; #ifdef _WIN64 sprintf(newvalue, "%llX", value); #else @@ -162,7 +162,7 @@ BRIDGE_IMPEXP bool DbgMemRead(duint va, unsigned char* dest, duint size) GuiAddLogMessage("DbgMemRead with invalid boundaries!\n"); return false; } - bool ret=_dbg_memread(va, dest, size, 0); + bool ret = _dbg_memread(va, dest, size, 0); if(!ret) memset(dest, 0x90, size); return ret; @@ -180,7 +180,7 @@ BRIDGE_IMPEXP bool DbgMemWrite(duint va, const unsigned char* src, duint size) BRIDGE_IMPEXP duint DbgMemGetPageSize(duint base) { - duint size=0; + duint size = 0; _dbg_memfindbaseaddr(base, &size); return size; } @@ -202,7 +202,7 @@ BRIDGE_IMPEXP bool DbgMemMap(MEMMAP* memmap) BRIDGE_IMPEXP bool DbgIsValidExpression(const char* expression) { - duint value=0; + duint value = 0; return _dbg_valfromstring(expression, &value); } @@ -222,10 +222,10 @@ BRIDGE_IMPEXP bool DbgGetLabelAt(duint addr, SEGMENTREG segment, char* text) //( return false; ADDRINFO info; memset(&info, 0, sizeof(info)); - info.flags=flaglabel; + info.flags = flaglabel; if(!_dbg_addrinfoget(addr, segment, &info)) { - duint addr_=0; + duint addr_ = 0; if(!DbgMemIsValidReadPtr(addr)) return false; DbgMemRead(addr, (unsigned char*)&addr_, sizeof(duint)); @@ -240,11 +240,11 @@ BRIDGE_IMPEXP bool DbgGetLabelAt(duint addr, SEGMENTREG segment, char* text) //( BRIDGE_IMPEXP bool DbgSetLabelAt(duint addr, const char* text) { - if(!text || strlen(text)>=MAX_LABEL_SIZE || !addr) + if(!text || strlen(text) >= MAX_LABEL_SIZE || !addr) return false; ADDRINFO info; memset(&info, 0, sizeof(info)); - info.flags=flaglabel; + info.flags = flaglabel; strcpy(info.label, text); if(!_dbg_addrinfoset(addr, &info)) return false; @@ -257,7 +257,7 @@ BRIDGE_IMPEXP bool DbgGetCommentAt(duint addr, char* text) //comment (not live) return false; ADDRINFO info; memset(&info, 0, sizeof(info)); - info.flags=flagcomment; + info.flags = flagcomment; if(!_dbg_addrinfoget(addr, SEG_DEFAULT, &info)) return false; strcpy(text, info.comment); @@ -266,11 +266,11 @@ BRIDGE_IMPEXP bool DbgGetCommentAt(duint addr, char* text) //comment (not live) BRIDGE_IMPEXP bool DbgSetCommentAt(duint addr, const char* text) { - if(!text || strlen(text)>=MAX_COMMENT_SIZE || !addr) + if(!text || strlen(text) >= MAX_COMMENT_SIZE || !addr) return false; ADDRINFO info; memset(&info, 0, sizeof(info)); - info.flags=flagcomment; + info.flags = flagcomment; strcpy(info.comment, text); if(!_dbg_addrinfoset(addr, &info)) return false; @@ -283,7 +283,7 @@ BRIDGE_IMPEXP bool DbgGetModuleAt(duint addr, char* text) return false; ADDRINFO info; memset(&info, 0, sizeof(info)); - info.flags=flagmodule; + info.flags = flagmodule; if(!_dbg_addrinfoget(addr, SEG_DEFAULT, &info)) return false; strcpy(text, info.module); @@ -296,7 +296,7 @@ BRIDGE_IMPEXP bool DbgGetBookmarkAt(duint addr) return false; ADDRINFO info; memset(&info, 0, sizeof(info)); - info.flags=flagbookmark; + info.flags = flagbookmark; if(!_dbg_addrinfoget(addr, SEG_DEFAULT, &info)) return false; return info.isbookmark; @@ -308,8 +308,8 @@ BRIDGE_IMPEXP bool DbgSetBookmarkAt(duint addr, bool isbookmark) return false; ADDRINFO info; memset(&info, 0, sizeof(info)); - info.flags=flagbookmark; - info.isbookmark=isbookmark; + info.flags = flagbookmark; + info.isbookmark = isbookmark; return _dbg_addrinfoset(addr, &info); } @@ -330,7 +330,7 @@ BRIDGE_IMPEXP BPXTYPE DbgGetBpxTypeAt(duint addr) BRIDGE_IMPEXP duint DbgValFromString(const char* string) { - duint value=0; + duint value = 0; _dbg_valfromstring(string, &value); return value; } @@ -342,7 +342,7 @@ BRIDGE_IMPEXP bool DbgGetRegDump(REGDUMP* regdump) BRIDGE_IMPEXP bool DbgValToString(const char* string, duint value) { - duint valueCopy=value; + duint valueCopy = value; return _dbg_valtostring(string, &valueCopy); } @@ -365,16 +365,16 @@ BRIDGE_IMPEXP FUNCTYPE DbgGetFunctionTypeAt(duint addr) { ADDRINFO info; memset(&info, 0, sizeof(info)); - info.flags=flagfunction; + info.flags = flagfunction; if(!_dbg_addrinfoget(addr, SEG_DEFAULT, &info)) return FUNC_NONE; - duint start=info.function.start; - duint end=info.function.end; - if(start==end) + duint start = info.function.start; + duint end = info.function.end; + if(start == end) return FUNC_SINGLE; - else if(addr==start) + else if(addr == start) return FUNC_BEGIN; - else if(addr==end) + else if(addr == end) return FUNC_END; return FUNC_MIDDLE; } @@ -383,15 +383,15 @@ BRIDGE_IMPEXP LOOPTYPE DbgGetLoopTypeAt(duint addr, int depth) { ADDRINFO info; memset(&info, 0, sizeof(info)); - info.flags=flagloop; - info.loop.depth=depth; + info.flags = flagloop; + info.loop.depth = depth; if(!_dbg_addrinfoget(addr, SEG_DEFAULT, &info)) return LOOP_NONE; - duint start=info.loop.start; - duint end=info.loop.end; - if(addr==start) + duint start = info.loop.start; + duint end = info.loop.end; + if(addr == start) return LOOP_BEGIN; - else if(addr==end) + else if(addr == end) return LOOP_END; return LOOP_MIDDLE; } @@ -465,9 +465,9 @@ BRIDGE_IMPEXP bool DbgScriptGetBranchInfo(int line, SCRIPTBRANCH* info) BRIDGE_IMPEXP void DbgSymbolEnum(duint base, CBSYMBOLENUM cbSymbolEnum, void* user) { SYMBOLCBINFO cbInfo; - cbInfo.base=base; - cbInfo.cbSymbolEnum=cbSymbolEnum; - cbInfo.user=user; + cbInfo.base = base; + cbInfo.cbSymbolEnum = cbSymbolEnum; + cbInfo.user = user; _dbg_sendmessage(DBG_SYMBOL_ENUM, &cbInfo, 0); } @@ -517,19 +517,19 @@ BRIDGE_IMPEXP void DbgMenuEntryClicked(int hEntry) BRIDGE_IMPEXP bool DbgFunctionGet(duint addr, duint* start, duint* end) { FUNCTION_LOOP_INFO info; - info.addr=addr; + info.addr = addr; if(!_dbg_sendmessage(DBG_FUNCTION_GET, &info, 0)) return false; - *start=info.start; - *end=info.end; + *start = info.start; + *end = info.end; return true; } BRIDGE_IMPEXP bool DbgFunctionOverlaps(duint start, duint end) { FUNCTION_LOOP_INFO info; - info.start=start; - info.end=end; + info.start = start; + info.end = end; if(!_dbg_sendmessage(DBG_FUNCTION_OVERLAPS, &info, 0)) return false; return true; @@ -538,9 +538,9 @@ BRIDGE_IMPEXP bool DbgFunctionOverlaps(duint start, duint end) BRIDGE_IMPEXP bool DbgFunctionAdd(duint start, duint end) { FUNCTION_LOOP_INFO info; - info.start=start; - info.end=end; - info.manual=false; + info.start = start; + info.end = end; + info.manual = false; if(!_dbg_sendmessage(DBG_FUNCTION_ADD, &info, 0)) return false; return true; @@ -549,7 +549,7 @@ BRIDGE_IMPEXP bool DbgFunctionAdd(duint start, duint end) BRIDGE_IMPEXP bool DbgFunctionDel(duint addr) { FUNCTION_LOOP_INFO info; - info.addr=addr; + info.addr = addr; if(!_dbg_sendmessage(DBG_FUNCTION_DEL, &info, 0)) return false; return true; @@ -558,21 +558,21 @@ BRIDGE_IMPEXP bool DbgFunctionDel(duint addr) BRIDGE_IMPEXP bool DbgLoopGet(int depth, duint addr, duint* start, duint* end) { FUNCTION_LOOP_INFO info; - info.addr=addr; - info.depth=depth; + info.addr = addr; + info.depth = depth; if(!_dbg_sendmessage(DBG_LOOP_GET, &info, 0)) return false; - *start=info.start; - *end=info.end; + *start = info.start; + *end = info.end; return true; } BRIDGE_IMPEXP bool DbgLoopOverlaps(int depth, duint start, duint end) { FUNCTION_LOOP_INFO info; - info.start=start; - info.end=end; - info.depth=depth; + info.start = start; + info.end = end; + info.depth = depth; if(!_dbg_sendmessage(DBG_LOOP_OVERLAPS, &info, 0)) return false; return true; @@ -581,9 +581,9 @@ BRIDGE_IMPEXP bool DbgLoopOverlaps(int depth, duint start, duint end) BRIDGE_IMPEXP bool DbgLoopAdd(duint start, duint end) { FUNCTION_LOOP_INFO info; - info.start=start; - info.end=end; - info.manual=false; + info.start = start; + info.end = end; + info.manual = false; if(!_dbg_sendmessage(DBG_LOOP_ADD, &info, 0)) return false; return true; @@ -592,8 +592,8 @@ BRIDGE_IMPEXP bool DbgLoopAdd(duint start, duint end) BRIDGE_IMPEXP bool DbgLoopDel(int depth, duint addr) { FUNCTION_LOOP_INFO info; - info.addr=addr; - info.depth=depth; + info.addr = addr; + info.depth = depth; if(!_dbg_sendmessage(DBG_LOOP_DEL, &info, 0)) return false; return true; @@ -842,9 +842,9 @@ BRIDGE_IMPEXP void GuiReferenceDeleteAllColumns() BRIDGE_IMPEXP void GuiReferenceSetCellContent(int row, int col, const char* str) { CELLINFO info; - info.row=row; - info.col=col; - info.str=str; + info.row = row; + info.col = col; + info.str = str; _gui_sendmessage(GUI_REF_SETCELLCONTENT, &info, 0); } @@ -981,7 +981,7 @@ BRIDGE_IMPEXP void GuiUpdateCallStack() //Main BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { - hInst=hinstDLL; + hInst = hinstDLL; return TRUE; } diff --git a/x64_dbg_bridge/bridgemain.h b/x64_dbg_bridge/bridgemain.h index 8b375171..f70aedde 100644 --- a/x64_dbg_bridge/bridgemain.h +++ b/x64_dbg_bridge/bridgemain.h @@ -87,20 +87,20 @@ typedef enum typedef enum { - flagmodule=1, - flaglabel=2, - flagcomment=4, - flagbookmark=8, - flagfunction=16, - flagloop=32 + flagmodule = 1, + flaglabel = 2, + flagcomment = 4, + flagbookmark = 8, + flagfunction = 16, + flagloop = 32 } ADDRINFOFLAGS; typedef enum { - bp_none=0, - bp_normal=1, - bp_hardware=2, - bp_memory=4 + bp_none = 0, + bp_normal = 1, + bp_hardware = 2, + bp_memory = 4 } BPXTYPE; typedef enum @@ -476,7 +476,7 @@ typedef struct bool branch; //jumps/calls bool call; //instruction is a call int size; - char instruction[MAX_MNEMONIC_SIZE*4]; + char instruction[MAX_MNEMONIC_SIZE * 4]; } BASIC_INSTRUCTION_INFO; typedef struct diff --git a/x64_dbg_dbg/BeaEngine/BeaEngine.h b/x64_dbg_dbg/BeaEngine/BeaEngine.h index 2beaea50..3f94a5fb 100644 --- a/x64_dbg_dbg/BeaEngine/BeaEngine.h +++ b/x64_dbg_dbg/BeaEngine/BeaEngine.h @@ -382,9 +382,9 @@ enum SPECIAL_INFO extern "C" #endif -BEA_API int __bea_callspec__ Disasm (LPDISASM pDisAsm); -BEA_API const__ char* __bea_callspec__ BeaEngineVersion (void); -BEA_API const__ char* __bea_callspec__ BeaEngineRevision (void); +BEA_API int __bea_callspec__ Disasm(LPDISASM pDisAsm); +BEA_API const__ char* __bea_callspec__ BeaEngineVersion(void); +BEA_API const__ char* __bea_callspec__ BeaEngineRevision(void); #if defined(__cplusplus) && defined(__BORLANDC__) }; using namespace BeaEngine; diff --git a/x64_dbg_dbg/BeaEngine/macros.h b/x64_dbg_dbg/BeaEngine/macros.h index 97afa6e7..48940b00 100644 --- a/x64_dbg_dbg/BeaEngine/macros.h +++ b/x64_dbg_dbg/BeaEngine/macros.h @@ -24,7 +24,7 @@ #if defined(__cplusplus) #define BEA_UNUSED_ID(identifier) template -inline void BEA_UNUSED_ARG(const T& BEA_UNUSED_ID(t)) { } +inline void BEA_UNUSED_ARG(const T & BEA_UNUSED_ID(t)) { } #else #define BEA_UNUSED_ARG(a) #endif diff --git a/x64_dbg_dbg/TitanEngine/TitanEngine.h b/x64_dbg_dbg/TitanEngine/TitanEngine.h index 81c54283..39fd072c 100644 --- a/x64_dbg_dbg/TitanEngine/TitanEngine.h +++ b/x64_dbg_dbg/TitanEngine/TitanEngine.h @@ -590,8 +590,8 @@ __declspec(dllexport) ULONG_PTR TITCALL ConvertVAtoFileOffset(ULONG_PTR FileMapV __declspec(dllexport) ULONG_PTR TITCALL ConvertVAtoFileOffsetEx(ULONG_PTR FileMapVA, DWORD FileSize, ULONG_PTR ImageBase, ULONG_PTR AddressToConvert, bool AddressIsRVA, bool ReturnType); __declspec(dllexport) ULONG_PTR TITCALL ConvertFileOffsetToVA(ULONG_PTR FileMapVA, ULONG_PTR AddressToConvert, bool ReturnType); __declspec(dllexport) ULONG_PTR TITCALL ConvertFileOffsetToVAEx(ULONG_PTR FileMapVA, DWORD FileSize, ULONG_PTR ImageBase, ULONG_PTR AddressToConvert, bool ReturnType); -__declspec(dllexport) bool TITCALL MemoryReadSafe(HANDLE hProcess, LPVOID lpBaseAddress, LPVOID lpBuffer, SIZE_T nSize, SIZE_T * lpNumberOfBytesRead); -__declspec(dllexport) bool TITCALL MemoryWriteSafe(HANDLE hProcess, LPVOID lpBaseAddress, LPCVOID lpBuffer, SIZE_T nSize, SIZE_T * lpNumberOfBytesWritten); +__declspec(dllexport) bool TITCALL MemoryReadSafe(HANDLE hProcess, LPVOID lpBaseAddress, LPVOID lpBuffer, SIZE_T nSize, SIZE_T* lpNumberOfBytesRead); +__declspec(dllexport) bool TITCALL MemoryWriteSafe(HANDLE hProcess, LPVOID lpBaseAddress, LPCVOID lpBuffer, SIZE_T nSize, SIZE_T* lpNumberOfBytesWritten); // TitanEngine.Realigner.functions: __declspec(dllexport) bool TITCALL FixHeaderCheckSum(char* szFileName); __declspec(dllexport) bool TITCALL FixHeaderCheckSumW(wchar_t* szFileName); diff --git a/x64_dbg_dbg/XEDParse/XEDParse.h b/x64_dbg_dbg/XEDParse/XEDParse.h index 7101ce59..8a5912e5 100644 --- a/x64_dbg_dbg/XEDParse/XEDParse.h +++ b/x64_dbg_dbg/XEDParse/XEDParse.h @@ -16,13 +16,13 @@ #define XEDPARSE_MAXASMSIZE 16 //typedefs -typedef bool (XEDPARSE_CALL *CBXEDPARSE_UNKNOWN)(const char* text, ULONGLONG* value); +typedef bool (XEDPARSE_CALL* CBXEDPARSE_UNKNOWN)(const char* text, ULONGLONG* value); //XEDParse enums enum XEDPARSE_STATUS { - XEDPARSE_ERROR=0, - XEDPARSE_OK=1 + XEDPARSE_ERROR = 0, + XEDPARSE_OK = 1 }; //XEDParse structs diff --git a/x64_dbg_dbg/_dbgfunctions.cpp b/x64_dbg_dbg/_dbgfunctions.cpp index 7a475776..3554aff7 100644 --- a/x64_dbg_dbg/_dbgfunctions.cpp +++ b/x64_dbg_dbg/_dbgfunctions.cpp @@ -23,10 +23,10 @@ static bool _assembleatex(duint addr, const char* instruction, char* error, bool static bool _sectionfromaddr(duint addr, char* section) { - HMODULE hMod=(HMODULE)modbasefromaddr(addr); + HMODULE hMod = (HMODULE)modbasefromaddr(addr); if(!hMod) return false; - char curModPath[MAX_PATH]=""; + char curModPath[MAX_PATH] = ""; if(!GetModuleFileNameExA(fdProcessInfo->hProcess, hMod, curModPath, MAX_PATH)) return false; HANDLE FileHandle; @@ -35,11 +35,11 @@ static bool _sectionfromaddr(duint addr, char* section) ULONG_PTR FileMapVA; if(StaticFileLoad(curModPath, UE_ACCESS_READ, false, &FileHandle, &LoadedSize, &FileMap, &FileMapVA)) { - uint rva=addr-(uint)hMod; - int sectionNumber=GetPE32SectionNumberFromVA(FileMapVA, GetPE32DataFromMappedFile(FileMapVA, 0, UE_IMAGEBASE)+rva); - if(sectionNumber>=0) + uint rva = addr - (uint)hMod; + int sectionNumber = GetPE32SectionNumberFromVA(FileMapVA, GetPE32DataFromMappedFile(FileMapVA, 0, UE_IMAGEBASE) + rva); + if(sectionNumber >= 0) { - const char* name=(const char*)GetPE32DataFromMappedFile(FileMapVA, sectionNumber, UE_SECTIONNAME); + const char* name = (const char*)GetPE32DataFromMappedFile(FileMapVA, sectionNumber, UE_SECTIONNAME); if(section) strcpy(section, name); StaticFileUnload(curModPath, false, FileHandle, LoadedSize, FileMap, FileMapVA); @@ -59,11 +59,11 @@ static bool _patchinrange(duint start, duint end) { if(start > end) { - duint a=start; - start=end; - end=a; + duint a = start; + start = end; + end = a; } - for(duint i=start; i end) { - duint a=start; - start=end; - end=a; + duint a = start; + start = end; + end = a; } - for(duint i=start; icount=pagecount; + memmap->count = pagecount; if(!pagecount) return true; - memmap->page=(MEMPAGE*)BridgeAlloc(sizeof(MEMPAGE)*pagecount); + memmap->page = (MEMPAGE*)BridgeAlloc(sizeof(MEMPAGE) * pagecount); memset(memmap->page, 0, sizeof(MEMPAGE)*pagecount); - int j=0; - for(MemoryMap::iterator i=memoryPages.begin(); i!=memoryPages.end(); ++i,j++) + int j = 0; + for(MemoryMap::iterator i = memoryPages.begin(); i != memoryPages.end(); ++i, j++) memcpy(&memmap->page[j], &i->second, sizeof(MEMPAGE)); return true; } @@ -71,11 +71,11 @@ extern "C" DLL_EXPORT bool _dbg_isjumpgoingtoexecute(duint addr) static uint cacheFlags; static uint cacheAddr; static bool cacheResult; - if(cacheAddr!=addr or cacheFlags!=GetContextDataEx(hActiveThread, UE_EFLAGS)) + if(cacheAddr != addr or cacheFlags != GetContextDataEx(hActiveThread, UE_EFLAGS)) { - cacheFlags=GetContextDataEx(hActiveThread, UE_EFLAGS); - cacheAddr=addr; - cacheResult=IsJumpGoingToExecuteEx(fdProcessInfo->hProcess, fdProcessInfo->hThread, (ULONG_PTR)cacheAddr, cacheFlags); + cacheFlags = GetContextDataEx(hActiveThread, UE_EFLAGS); + cacheAddr = addr; + cacheResult = IsJumpGoingToExecuteEx(fdProcessInfo->hProcess, fdProcessInfo->hThread, (ULONG_PTR)cacheAddr, cacheFlags); } return cacheResult; } @@ -84,23 +84,23 @@ extern "C" DLL_EXPORT bool _dbg_addrinfoget(duint addr, SEGMENTREG segment, ADDR { if(!DbgIsDebugging()) return false; - bool retval=false; - if(addrinfo->flags&flagmodule) //get module + bool retval = false; + if(addrinfo->flags & flagmodule) //get module { - char module[64]=""; - if(modnamefromaddr(addr, module, false) and strlen(module)module, module); - retval=true; + retval = true; } } - if(addrinfo->flags&flaglabel) + if(addrinfo->flags & flaglabel) { if(labelget(addr, addrinfo->label)) - retval=true; + retval = true; else //no user labels { - DWORD64 displacement=0; + DWORD64 displacement = 0; char buffer[sizeof(SYMBOL_INFO) + MAX_LABEL_SIZE * sizeof(char)]; PSYMBOL_INFO pSymbol = (PSYMBOL_INFO)buffer; pSymbol->SizeOfStruct = sizeof(SYMBOL_INFO); @@ -109,7 +109,7 @@ extern "C" DLL_EXPORT bool _dbg_addrinfoget(duint addr, SEGMENTREG segment, ADDR { if(settingboolget("Engine", "UndecorateSymbolNames") or !UnDecorateSymbolName(pSymbol->Name, addrinfo->label, MAX_LABEL_SIZE, UNDNAME_COMPLETE)) strcpy(addrinfo->label, pSymbol->Name); - retval=true; + retval = true; } if(!retval) //search for CALL { @@ -117,40 +117,40 @@ extern "C" DLL_EXPORT bool _dbg_addrinfoget(duint addr, SEGMENTREG segment, ADDR memset(&basicinfo, 0, sizeof(BASIC_INSTRUCTION_INFO)); if(disasmfast(addr, &basicinfo) && basicinfo.branch && !basicinfo.call && basicinfo.memory.value) //thing is a JMP { - uint val=0; + uint val = 0; if(memread(fdProcessInfo->hProcess, (const void*)basicinfo.memory.value, &val, sizeof(val), 0)) { if(SymFromAddr(fdProcessInfo->hProcess, (DWORD64)val, &displacement, pSymbol) and !displacement) { if(settingboolget("Engine", "UndecorateSymbolNames") or !UnDecorateSymbolName(pSymbol->Name, addrinfo->label, MAX_LABEL_SIZE, UNDNAME_COMPLETE)) sprintf_s(addrinfo->label, "JMP.&%s", pSymbol->Name); - retval=true; + retval = true; } } } } } } - if(addrinfo->flags&flagbookmark) + if(addrinfo->flags & flagbookmark) { - addrinfo->isbookmark=bookmarkget(addr); - retval=true; + addrinfo->isbookmark = bookmarkget(addr); + retval = true; } - if(addrinfo->flags&flagfunction) + if(addrinfo->flags & flagfunction) { if(functionget(addr, &addrinfo->function.start, &addrinfo->function.end)) - retval=true; + retval = true; } - if(addrinfo->flags&flagloop) + if(addrinfo->flags & flagloop) { if(loopget(addrinfo->loop.depth, addr, &addrinfo->loop.start, &addrinfo->loop.end)) - retval=true; + retval = true; } - if(addrinfo->flags&flagcomment) + if(addrinfo->flags & flagcomment) { - *addrinfo->comment=0; + *addrinfo->comment = 0; if(commentget(addr, addrinfo->comment)) - retval=true; + retval = true; else { DWORD dwDisplacement; @@ -158,50 +158,50 @@ extern "C" DLL_EXPORT bool _dbg_addrinfoget(duint addr, SEGMENTREG segment, ADDR line.SizeOfStruct = sizeof(IMAGEHLP_LINE64); if(SymGetLineFromAddr64(fdProcessInfo->hProcess, (DWORD64)addr, &dwDisplacement, &line) and !dwDisplacement) { - char filename[deflen]=""; + char filename[deflen] = ""; strcpy(filename, line.FileName); - int len=(int)strlen(filename); - while(filename[len]!='\\' and len!=0) + int len = (int)strlen(filename); + while(filename[len] != '\\' and len != 0) len--; if(len) len++; - sprintf(addrinfo->comment, "%s:%u", filename+len, line.LineNumber); - retval=true; + sprintf(addrinfo->comment, "%s:%u", filename + len, line.LineNumber); + retval = true; } else if(!bOnlyCipAutoComments || addr == GetContextDataEx(hActiveThread, UE_CIP)) //no line number { DISASM_INSTR instr; std::string temp_string; ADDRINFO newinfo; - char ascii[256*2]=""; - char unicode[256*2]=""; + char ascii[256 * 2] = ""; + char unicode[256 * 2] = ""; memset(&instr, 0, sizeof(DISASM_INSTR)); disasmget(addr, &instr); - int len_left=MAX_COMMENT_SIZE; - for(int i=0,j=0; i ; addr:label + if(instr.arg[i].constant == instr.arg[i].value) //avoid: call ; addr:label { - if(instr.type==instr_branch or !disasmgetstringat(instr.arg[i].constant, &strtype, ascii, unicode, len_left) or strtype==str_none) + if(instr.type == instr_branch or !disasmgetstringat(instr.arg[i].constant, &strtype, ascii, unicode, len_left) or strtype == str_none) continue; switch(strtype) { case str_none: break; case str_ascii: - temp_string=instr.arg[i].mnemonic; + temp_string = instr.arg[i].mnemonic; temp_string.append(":\""); temp_string.append(ascii); temp_string.append("\""); break; case str_unicode: - temp_string=instr.arg[i].mnemonic; + temp_string = instr.arg[i].mnemonic; temp_string.append(":L\""); temp_string.append(unicode); temp_string.append("\""); @@ -215,20 +215,20 @@ extern "C" DLL_EXPORT bool _dbg_addrinfoget(duint addr, SEGMENTREG segment, ADDR case str_none: if(*newinfo.label) { - temp_string="["; + temp_string = "["; temp_string.append(instr.arg[i].mnemonic); temp_string.append("]:"); temp_string.append(newinfo.label); } break; case str_ascii: - temp_string="["; + temp_string = "["; temp_string.append(instr.arg[i].mnemonic); temp_string.append("]:"); temp_string.append(ascii); break; case str_unicode: - temp_string="["; + temp_string = "["; temp_string.append(instr.arg[i].mnemonic); temp_string.append("]:"); temp_string.append(unicode); @@ -237,26 +237,26 @@ extern "C" DLL_EXPORT bool _dbg_addrinfoget(duint addr, SEGMENTREG segment, ADDR } else if(instr.arg[i].value and (disasmgetstringat(instr.arg[i].value, &strtype, ascii, unicode, len_left) or _dbg_addrinfoget(instr.arg[i].value, instr.arg[i].segment, &newinfo))) { - if(instr.type!=instr_normal) //stack/jumps (eg add esp,4 or jmp 401110) cannot directly point to strings - strtype=str_none; + if(instr.type != instr_normal) //stack/jumps (eg add esp,4 or jmp 401110) cannot directly point to strings + strtype = str_none; switch(strtype) { case str_none: if(*newinfo.label) { - temp_string=instr.arg[i].mnemonic; + temp_string = instr.arg[i].mnemonic; temp_string.append(":"); temp_string.append(newinfo.label); } break; case str_ascii: - temp_string=instr.arg[i].mnemonic; + temp_string = instr.arg[i].mnemonic; temp_string.append(":\""); temp_string.append(ascii); temp_string.append("\""); break; case str_unicode: - temp_string=instr.arg[i].mnemonic; + temp_string = instr.arg[i].mnemonic; temp_string.append(":L\""); temp_string.append(unicode); temp_string.append("\""); @@ -268,14 +268,14 @@ extern "C" DLL_EXPORT bool _dbg_addrinfoget(duint addr, SEGMENTREG segment, ADDR if(!strstr(addrinfo->comment, temp_string.c_str())) { - unsigned int maxlen=MAX_COMMENT_SIZE-j-1; - if(maxlencomment+j, ", %s", temp_string.c_str()); + j += sprintf(addrinfo->comment + j, ", %s", temp_string.c_str()); else - j+=sprintf(addrinfo->comment+j, "%s", temp_string.c_str()); - retval=true; + j += sprintf(addrinfo->comment + j, "%s", temp_string.c_str()); + retval = true; } } } @@ -286,23 +286,23 @@ extern "C" DLL_EXPORT bool _dbg_addrinfoget(duint addr, SEGMENTREG segment, ADDR extern "C" DLL_EXPORT bool _dbg_addrinfoset(duint addr, ADDRINFO* addrinfo) { - bool retval=false; - if(addrinfo->flags&flaglabel) //set label + bool retval = false; + if(addrinfo->flags & flaglabel) //set label { if(labelset(addr, addrinfo->label, true)) - retval=true; + retval = true; } - if(addrinfo->flags&flagcomment) //set comment + if(addrinfo->flags & flagcomment) //set comment { if(commentset(addr, addrinfo->comment, true)) - retval=true; + retval = true; } - if(addrinfo->flags&flagbookmark) //set bookmark + if(addrinfo->flags & flagbookmark) //set bookmark { if(addrinfo->isbookmark) - retval=bookmarkset(addr, true); + retval = bookmarkset(addr, true); else - retval=bookmarkdel(addr); + retval = bookmarkdel(addr); } return retval; } @@ -312,22 +312,22 @@ extern "C" DLL_EXPORT int _dbg_bpgettypeat(duint addr) static uint cacheAddr; static int cacheBpCount; static int cacheResult; - int bpcount=bpgetlist(0); - if(cacheAddr!=addr or cacheBpCount!=bpcount) + int bpcount = bpgetlist(0); + if(cacheAddr != addr or cacheBpCount != bpcount) { BREAKPOINT bp; - cacheAddr=addr; - cacheResult=0; - cacheBpCount=bpcount; + cacheAddr = addr; + cacheResult = 0; + cacheBpCount = bpcount; if(bpget(addr, BPNORMAL, 0, &bp)) if(bp.enabled) - cacheResult|=bp_normal; + cacheResult |= bp_normal; if(bpget(addr, BPHARDWARE, 0, &bp)) if(bp.enabled) - cacheResult|=bp_hardware; + cacheResult |= bp_hardware; if(bpget(addr, BPMEMORY, 0, &bp)) if(bp.enabled) - cacheResult|=bp_memory; + cacheResult |= bp_memory; } return cacheResult; } @@ -341,89 +341,89 @@ extern "C" DLL_EXPORT bool _dbg_getregdump(REGDUMP* regdump) } REGDUMP r; #ifdef _WIN64 - r.cax=GetContextDataEx(hActiveThread, UE_RAX); + r.cax = GetContextDataEx(hActiveThread, UE_RAX); #else - r.cax=(duint)GetContextDataEx(hActiveThread, UE_EAX); + r.cax = (duint)GetContextDataEx(hActiveThread, UE_EAX); #endif // _WIN64 #ifdef _WIN64 - r.ccx=GetContextDataEx(hActiveThread, UE_RCX); + r.ccx = GetContextDataEx(hActiveThread, UE_RCX); #else - r.ccx=(duint)GetContextDataEx(hActiveThread, UE_ECX); + r.ccx = (duint)GetContextDataEx(hActiveThread, UE_ECX); #endif // _WIN64 #ifdef _WIN64 - r.cdx=GetContextDataEx(hActiveThread, UE_RDX); + r.cdx = GetContextDataEx(hActiveThread, UE_RDX); #else - r.cdx=(duint)GetContextDataEx(hActiveThread, UE_EDX); + r.cdx = (duint)GetContextDataEx(hActiveThread, UE_EDX); #endif // _WIN64 #ifdef _WIN64 - r.cbx=GetContextDataEx(hActiveThread, UE_RBX); + r.cbx = GetContextDataEx(hActiveThread, UE_RBX); #else - r.cbx=(duint)GetContextDataEx(hActiveThread, UE_EBX); + r.cbx = (duint)GetContextDataEx(hActiveThread, UE_EBX); #endif // _WIN64 #ifdef _WIN64 - r.cbp=GetContextDataEx(hActiveThread, UE_RBP); + r.cbp = GetContextDataEx(hActiveThread, UE_RBP); #else - r.cbp=(duint)GetContextDataEx(hActiveThread, UE_EBP); + r.cbp = (duint)GetContextDataEx(hActiveThread, UE_EBP); #endif // _WIN64 #ifdef _WIN64 - r.csi=GetContextDataEx(hActiveThread, UE_RSI); + r.csi = GetContextDataEx(hActiveThread, UE_RSI); #else - r.csi=(duint)GetContextDataEx(hActiveThread, UE_ESI); + r.csi = (duint)GetContextDataEx(hActiveThread, UE_ESI); #endif // _WIN64 #ifdef _WIN64 - r.cdi=GetContextDataEx(hActiveThread, UE_RDI); + r.cdi = GetContextDataEx(hActiveThread, UE_RDI); #else - r.cdi=(duint)GetContextDataEx(hActiveThread, UE_EDI); + r.cdi = (duint)GetContextDataEx(hActiveThread, UE_EDI); #endif // _WIN64 #ifdef _WIN64 - r.r8=GetContextDataEx(hActiveThread, UE_R8); + r.r8 = GetContextDataEx(hActiveThread, UE_R8); #endif // _WIN64 #ifdef _WIN64 - r.r9=GetContextDataEx(hActiveThread, UE_R9); + r.r9 = GetContextDataEx(hActiveThread, UE_R9); #endif // _WIN64 #ifdef _WIN64 - r.r10=GetContextDataEx(hActiveThread, UE_R10); + r.r10 = GetContextDataEx(hActiveThread, UE_R10); #endif // _WIN64 #ifdef _WIN64 - r.r11=GetContextDataEx(hActiveThread, UE_R11); + r.r11 = GetContextDataEx(hActiveThread, UE_R11); #endif // _WIN64 #ifdef _WIN64 - r.r12=GetContextDataEx(hActiveThread, UE_R12); + r.r12 = GetContextDataEx(hActiveThread, UE_R12); #endif // _WIN64 #ifdef _WIN64 - r.r13=GetContextDataEx(hActiveThread, UE_R13); + r.r13 = GetContextDataEx(hActiveThread, UE_R13); #endif // _WIN64 #ifdef _WIN64 - r.r14=GetContextDataEx(hActiveThread, UE_R14); + r.r14 = GetContextDataEx(hActiveThread, UE_R14); #endif // _WIN64 #ifdef _WIN64 - r.r15=GetContextDataEx(hActiveThread, UE_R15); + r.r15 = GetContextDataEx(hActiveThread, UE_R15); #endif // _WIN64 - r.csp=(duint)GetContextDataEx(hActiveThread, UE_CSP); - r.cip=(duint)GetContextDataEx(hActiveThread, UE_CIP); - r.eflags=(unsigned int)GetContextDataEx(hActiveThread, UE_EFLAGS); - r.gs=(unsigned short)(GetContextDataEx(hActiveThread, UE_SEG_GS)&0xFFFF); - r.fs=(unsigned short)(GetContextDataEx(hActiveThread, UE_SEG_FS)&0xFFFF); - r.es=(unsigned short)(GetContextDataEx(hActiveThread, UE_SEG_ES)&0xFFFF); - r.ds=(unsigned short)(GetContextDataEx(hActiveThread, UE_SEG_DS)&0xFFFF); - r.cs=(unsigned short)(GetContextDataEx(hActiveThread, UE_SEG_CS)&0xFFFF); - r.ss=(unsigned short)(GetContextDataEx(hActiveThread, UE_SEG_SS)&0xFFFF); - r.dr0=(duint)GetContextDataEx(hActiveThread, UE_DR0); - r.dr1=(duint)GetContextDataEx(hActiveThread, UE_DR1); - r.dr2=(duint)GetContextDataEx(hActiveThread, UE_DR2); - r.dr3=(duint)GetContextDataEx(hActiveThread, UE_DR3); - r.dr6=(duint)GetContextDataEx(hActiveThread, UE_DR6); - r.dr7=(duint)GetContextDataEx(hActiveThread, UE_DR7); - duint cflags=r.eflags; - r.flags.c=valflagfromstring(cflags, "cf"); - r.flags.p=valflagfromstring(cflags, "pf"); - r.flags.a=valflagfromstring(cflags, "af"); - r.flags.z=valflagfromstring(cflags, "zf"); - r.flags.s=valflagfromstring(cflags, "sf"); - r.flags.t=valflagfromstring(cflags, "tf"); - r.flags.i=valflagfromstring(cflags, "if"); - r.flags.d=valflagfromstring(cflags, "df"); - r.flags.o=valflagfromstring(cflags, "of"); + r.csp = (duint)GetContextDataEx(hActiveThread, UE_CSP); + r.cip = (duint)GetContextDataEx(hActiveThread, UE_CIP); + r.eflags = (unsigned int)GetContextDataEx(hActiveThread, UE_EFLAGS); + r.gs = (unsigned short)(GetContextDataEx(hActiveThread, UE_SEG_GS) & 0xFFFF); + r.fs = (unsigned short)(GetContextDataEx(hActiveThread, UE_SEG_FS) & 0xFFFF); + r.es = (unsigned short)(GetContextDataEx(hActiveThread, UE_SEG_ES) & 0xFFFF); + r.ds = (unsigned short)(GetContextDataEx(hActiveThread, UE_SEG_DS) & 0xFFFF); + r.cs = (unsigned short)(GetContextDataEx(hActiveThread, UE_SEG_CS) & 0xFFFF); + r.ss = (unsigned short)(GetContextDataEx(hActiveThread, UE_SEG_SS) & 0xFFFF); + r.dr0 = (duint)GetContextDataEx(hActiveThread, UE_DR0); + r.dr1 = (duint)GetContextDataEx(hActiveThread, UE_DR1); + r.dr2 = (duint)GetContextDataEx(hActiveThread, UE_DR2); + r.dr3 = (duint)GetContextDataEx(hActiveThread, UE_DR3); + r.dr6 = (duint)GetContextDataEx(hActiveThread, UE_DR6); + r.dr7 = (duint)GetContextDataEx(hActiveThread, UE_DR7); + duint cflags = r.eflags; + r.flags.c = valflagfromstring(cflags, "cf"); + r.flags.p = valflagfromstring(cflags, "pf"); + r.flags.a = valflagfromstring(cflags, "af"); + r.flags.z = valflagfromstring(cflags, "zf"); + r.flags.s = valflagfromstring(cflags, "sf"); + r.flags.t = valflagfromstring(cflags, "tf"); + r.flags.i = valflagfromstring(cflags, "if"); + r.flags.d = valflagfromstring(cflags, "df"); + r.flags.o = valflagfromstring(cflags, "of"); memcpy(regdump, &r, sizeof(REGDUMP)); return true; } @@ -438,18 +438,18 @@ extern "C" DLL_EXPORT int _dbg_getbplist(BPXTYPE type, BPMAP* bpmap) if(!bpmap) return 0; std::vector list; - int bpcount=bpgetlist(&list); - if(bpcount==0) + int bpcount = bpgetlist(&list); + if(bpcount == 0) { - bpmap->count=0; + bpmap->count = 0; return 0; } - int retcount=0; + int retcount = 0; std::vector bridgeList; BRIDGEBP curBp; - unsigned short slot=0; - for(int i=0; i>8) + switch(((DWORD)list[i].titantype) >> 8) { case UE_DR0: - slot=0; + slot = 0; break; case UE_DR1: - slot=1; + slot = 1; break; case UE_DR2: - slot=2; + slot = 2; break; case UE_DR3: - slot=3; + slot = 3; break; } - curBp.addr=list[i].addr; - curBp.enabled=list[i].enabled; + curBp.addr = list[i].addr; + curBp.enabled = list[i].enabled; //TODO: fix this if(memisvalidreadptr(fdProcessInfo->hProcess, curBp.addr)) - curBp.active=true; + curBp.active = true; strcpy(curBp.mod, list[i].mod); strcpy(curBp.name, list[i].name); - curBp.singleshoot=list[i].singleshoot; - curBp.slot=slot; + curBp.singleshoot = list[i].singleshoot; + curBp.slot = slot; if(curBp.active) { bridgeList.push_back(curBp); @@ -515,12 +515,12 @@ extern "C" DLL_EXPORT int _dbg_getbplist(BPXTYPE type, BPMAP* bpmap) } if(!retcount) { - bpmap->count=retcount; + bpmap->count = retcount; return retcount; } - bpmap->count=retcount; - bpmap->bp=(BRIDGEBP*)BridgeAlloc(sizeof(BRIDGEBP)*retcount); - for(int i=0; icount = retcount; + bpmap->bp = (BRIDGEBP*)BridgeAlloc(sizeof(BRIDGEBP) * retcount); + for(int i = 0; i < retcount; i++) memcpy(&bpmap->bp[i], &bridgeList.at(i), sizeof(BRIDGEBP)); return retcount; } @@ -530,17 +530,17 @@ extern "C" DLL_EXPORT uint _dbg_getbranchdestination(uint addr) DISASM_INSTR instr; memset(&instr, 0, sizeof(instr)); disasmget(addr, &instr); - if(instr.type!=instr_branch) + if(instr.type != instr_branch) return 0; if(strstr(instr.instruction, "ret")) { - uint atcsp=DbgValFromString("@csp"); + uint atcsp = DbgValFromString("@csp"); if(DbgMemIsValidReadPtr(atcsp)) return atcsp; else return 0; } - else if(instr.arg[0].type==arg_memory) + else if(instr.arg[0].type == arg_memory) return instr.arg[0].memvalue; else return instr.arg[0].value; @@ -623,7 +623,7 @@ extern "C" DLL_EXPORT uint _dbg_sendmessage(DBGMSG type, void* param1, void* par case DBG_SYMBOL_ENUM: { - SYMBOLCBINFO* cbInfo=(SYMBOLCBINFO*)param1; + SYMBOLCBINFO* cbInfo = (SYMBOLCBINFO*)param1; symenum(cbInfo->base, cbInfo->cbSymbolEnum, cbInfo->user); } break; @@ -695,23 +695,23 @@ extern "C" DLL_EXPORT uint _dbg_sendmessage(DBGMSG type, void* param1, void* par else SetEngineVariable(UE_ENGINE_SET_DEBUG_PRIVILEGE, false); } - char exceptionRange[MAX_SETTING_SIZE]=""; + char exceptionRange[MAX_SETTING_SIZE] = ""; dbgclearignoredexceptions(); if(BridgeSettingGet("Exceptions", "IgnoreRange", exceptionRange)) { - char* entry=strtok(exceptionRange, ","); + char* entry = strtok(exceptionRange, ","); while(entry) { unsigned long start; unsigned long end; - if(sscanf(entry, "%08X-%08X", &start, &end)==2 && start<=end) + if(sscanf(entry, "%08X-%08X", &start, &end) == 2 && start <= end) { ExceptionRange range; - range.start=start; - range.end=end; + range.start = start; + range.end = end; dbgaddignoredexception(range); } - entry=strtok(0, ","); + entry = strtok(0, ","); } } if(BridgeSettingGetUint("Disassembler", "OnlyCipAutoComments", &setting)) @@ -734,77 +734,77 @@ extern "C" DLL_EXPORT uint _dbg_sendmessage(DBGMSG type, void* param1, void* par DISASM disasm; memset(&disasm, 0, sizeof(disasm)); #ifdef _WIN64 - disasm.Archi=64; + disasm.Archi = 64; #endif // _WIN64 - disasm.EIP=(UIntPtr)data; - disasm.VirtualAddr=(UInt64)param1; - int len=Disasm(&disasm); - uint i=0; - BASIC_INSTRUCTION_INFO* basicinfo=(BASIC_INSTRUCTION_INFO*)param2; + disasm.EIP = (UIntPtr)data; + disasm.VirtualAddr = (UInt64)param1; + int len = Disasm(&disasm); + uint i = 0; + BASIC_INSTRUCTION_INFO* basicinfo = (BASIC_INSTRUCTION_INFO*)param2; fillbasicinfo(&disasm, basicinfo); - basicinfo->size=len; + basicinfo->size = len; } break; case DBG_MENU_ENTRY_CLICKED: { - int hEntry=(int)(uint)param1; + int hEntry = (int)(uint)param1; pluginmenucall(hEntry); } break; case DBG_FUNCTION_GET: { - FUNCTION_LOOP_INFO* info=(FUNCTION_LOOP_INFO*)param1; + FUNCTION_LOOP_INFO* info = (FUNCTION_LOOP_INFO*)param1; return (uint)functionget(info->addr, &info->start, &info->end); } break; case DBG_FUNCTION_OVERLAPS: { - FUNCTION_LOOP_INFO* info=(FUNCTION_LOOP_INFO*)param1; + FUNCTION_LOOP_INFO* info = (FUNCTION_LOOP_INFO*)param1; return (uint)functionoverlaps(info->start, info->end); } break; case DBG_FUNCTION_ADD: { - FUNCTION_LOOP_INFO* info=(FUNCTION_LOOP_INFO*)param1; + FUNCTION_LOOP_INFO* info = (FUNCTION_LOOP_INFO*)param1; return (uint)functionadd(info->start, info->end, info->manual); } break; case DBG_FUNCTION_DEL: { - FUNCTION_LOOP_INFO* info=(FUNCTION_LOOP_INFO*)param1; + FUNCTION_LOOP_INFO* info = (FUNCTION_LOOP_INFO*)param1; return (uint)functiondel(info->addr); } break; case DBG_LOOP_GET: { - FUNCTION_LOOP_INFO* info=(FUNCTION_LOOP_INFO*)param1; + FUNCTION_LOOP_INFO* info = (FUNCTION_LOOP_INFO*)param1; return (uint)loopget(info->depth, info->addr, &info->start, &info->end); } break; case DBG_LOOP_OVERLAPS: { - FUNCTION_LOOP_INFO* info=(FUNCTION_LOOP_INFO*)param1; + FUNCTION_LOOP_INFO* info = (FUNCTION_LOOP_INFO*)param1; return (uint)loopoverlaps(info->depth, info->start, info->end, 0); } break; case DBG_LOOP_ADD: { - FUNCTION_LOOP_INFO* info=(FUNCTION_LOOP_INFO*)param1; + FUNCTION_LOOP_INFO* info = (FUNCTION_LOOP_INFO*)param1; return (uint)loopadd(info->start, info->end, info->manual); } break; case DBG_LOOP_DEL: { - FUNCTION_LOOP_INFO* info=(FUNCTION_LOOP_INFO*)param1; + FUNCTION_LOOP_INFO* info = (FUNCTION_LOOP_INFO*)param1; return (uint)loopdel(info->depth, info->addr); } break; @@ -875,10 +875,10 @@ extern "C" DLL_EXPORT uint _dbg_sendmessage(DBGMSG type, void* param1, void* par case DBG_GET_STRING_AT: { STRING_TYPE strtype; - char string[512]=""; + char string[512] = ""; if(disasmgetstringat((uint)param1, &strtype, string, string, 500)) { - if(strtype==str_ascii) + if(strtype == str_ascii) sprintf((char*)param2, "\"%s\"", string); else //unicode sprintf((char*)param2, "L\"%s\"", string); diff --git a/x64_dbg_dbg/_global.cpp b/x64_dbg_dbg/_global.cpp index ab1fed08..ed1dbad1 100644 --- a/x64_dbg_dbg/_global.cpp +++ b/x64_dbg_dbg/_global.cpp @@ -2,8 +2,8 @@ #include HINSTANCE hInst; -char dbbasepath[deflen]=""; -char dbpath[3*deflen]=""; +char dbbasepath[deflen] = ""; +char dbpath[3 * deflen] = ""; void* emalloc(size_t size) { @@ -15,12 +15,12 @@ void efree(void* ptr) efree(ptr, "efree:???"); } -static int emalloc_count=0; -static char alloctrace[MAX_PATH]=""; +static int emalloc_count = 0; +static char alloctrace[MAX_PATH] = ""; void* emalloc(size_t size, const char* reason) { - unsigned char* a=(unsigned char*)GlobalAlloc(GMEM_FIXED, size); + unsigned char* a = (unsigned char*)GlobalAlloc(GMEM_FIXED, size); if(!a) { MessageBoxA(0, "Could not allocate memory", "Error", MB_ICONERROR); @@ -62,23 +62,23 @@ bool arraycontains(const char* cmd_list, const char* cmd) //TODO: fix this function a little if(!cmd_list or !cmd) return false; - char temp[deflen]=""; + char temp[deflen] = ""; strcpy(temp, cmd_list); - int len=(int)strlen(cmd_list); - if(len>=deflen) + int len = (int)strlen(cmd_list); + if(len >= deflen) return false; - for(int i=0; i 0) { - for(int i=0; isecond.name); if(extension) @@ -170,36 +170,36 @@ bool modnamefromaddr(uint addr, char* modname, bool extension) uint modbasefromaddr(uint addr) { - const ModulesInfo::iterator found=modinfo.find(Range(addr, addr)); - if(found==modinfo.end()) //not found + const ModulesInfo::iterator found = modinfo.find(Range(addr, addr)); + if(found == modinfo.end()) //not found return 0; return found->second.base; } uint modhashfromva(uint va) //return a unique hash from a VA { - const ModulesInfo::iterator found=modinfo.find(Range(va, va)); - if(found==modinfo.end()) //not found + const ModulesInfo::iterator found = modinfo.find(Range(va, va)); + if(found == modinfo.end()) //not found return va; - return found->second.hash+(va-found->second.base); + return found->second.hash + (va - found->second.base); } uint modhashfromname(const char* mod) //return MODINFO.hash { if(!mod or !*mod) return 0; - int len=(int)strlen(mod); + int len = (int)strlen(mod); return murmurhash(mod, len); } uint modbasefromname(const char* modname) { - if(!modname or strlen(modname)>=MAX_MODULE_SIZE) + if(!modname or strlen(modname) >= MAX_MODULE_SIZE) return 0; - for(ModulesInfo::iterator i=modinfo.begin(); i!=modinfo.end(); ++i) + for(ModulesInfo::iterator i = modinfo.begin(); i != modinfo.end(); ++i) { - MODINFO* curMod=&i->second; - char curmodname[MAX_MODULE_SIZE]=""; + MODINFO* curMod = &i->second; + char curmodname[MAX_MODULE_SIZE] = ""; sprintf(curmodname, "%s%s", curMod->name, curMod->extension); if(!_stricmp(curmodname, modname)) //with extension return curMod->base; @@ -211,18 +211,18 @@ uint modbasefromname(const char* modname) uint modsizefromaddr(uint addr) { - const ModulesInfo::iterator found=modinfo.find(Range(addr, addr)); - if(found==modinfo.end()) //not found + const ModulesInfo::iterator found = modinfo.find(Range(addr, addr)); + if(found == modinfo.end()) //not found return 0; return found->second.size; } bool modsectionsfromaddr(uint addr, std::vector* sections) { - const ModulesInfo::iterator found=modinfo.find(Range(addr, addr)); - if(found==modinfo.end()) //not found + const ModulesInfo::iterator found = modinfo.find(Range(addr, addr)); + if(found == modinfo.end()) //not found return false; - *sections=found->second.sections; + *sections = found->second.sections; return true; } @@ -231,64 +231,64 @@ bool apienumexports(uint base, EXPORTENUMCALLBACK cbEnum) { MEMORY_BASIC_INFORMATION mbi; VirtualQueryEx(fdProcessInfo->hProcess, (const void*)base, &mbi, sizeof(mbi)); - uint size=mbi.RegionSize; - void* buffer=emalloc(size, "apienumexports:buffer"); + uint size = mbi.RegionSize; + void* buffer = emalloc(size, "apienumexports:buffer"); if(!memread(fdProcessInfo->hProcess, (const void*)base, buffer, size, 0)) { efree(buffer, "apienumexports:buffer"); return false; } - IMAGE_NT_HEADERS* pnth=(IMAGE_NT_HEADERS*)((uint)buffer+GetPE32DataFromMappedFile((ULONG_PTR)buffer, 0, UE_PE_OFFSET)); - uint export_dir_rva=pnth->OptionalHeader.DataDirectory[0].VirtualAddress; - uint export_dir_size=pnth->OptionalHeader.DataDirectory[0].Size; + IMAGE_NT_HEADERS* pnth = (IMAGE_NT_HEADERS*)((uint)buffer + GetPE32DataFromMappedFile((ULONG_PTR)buffer, 0, UE_PE_OFFSET)); + uint export_dir_rva = pnth->OptionalHeader.DataDirectory[0].VirtualAddress; + uint export_dir_size = pnth->OptionalHeader.DataDirectory[0].Size; efree(buffer, "apienumexports:buffer"); IMAGE_EXPORT_DIRECTORY export_dir; memset(&export_dir, 0, sizeof(export_dir)); - memread(fdProcessInfo->hProcess, (const void*)(export_dir_rva+base), &export_dir, sizeof(export_dir), 0); - unsigned int NumberOfNames=export_dir.NumberOfNames; + memread(fdProcessInfo->hProcess, (const void*)(export_dir_rva + base), &export_dir, sizeof(export_dir), 0); + unsigned int NumberOfNames = export_dir.NumberOfNames; if(!export_dir.NumberOfFunctions or !NumberOfNames) //no named exports return false; - char modname[MAX_MODULE_SIZE]=""; + char modname[MAX_MODULE_SIZE] = ""; modnamefromaddr(base, modname, true); - uint original_name_va=export_dir.Name+base; - char original_name[deflen]=""; + uint original_name_va = export_dir.Name + base; + char original_name[deflen] = ""; memset(original_name, 0, sizeof(original_name)); memread(fdProcessInfo->hProcess, (const void*)original_name_va, original_name, deflen, 0); - char* AddrOfFunctions_va=(char*)(export_dir.AddressOfFunctions+base); - char* AddrOfNames_va=(char*)(export_dir.AddressOfNames+base); - char* AddrOfNameOrdinals_va=(char*)(export_dir.AddressOfNameOrdinals+base); - for(DWORD i=0; ihProcess, AddrOfNames_va+sizeof(DWORD)*i, &curAddrOfName, sizeof(DWORD), 0); - char* cur_name_va=(char*)(curAddrOfName+base); - char cur_name[deflen]=""; + DWORD curAddrOfName = 0; + memread(fdProcessInfo->hProcess, AddrOfNames_va + sizeof(DWORD)*i, &curAddrOfName, sizeof(DWORD), 0); + char* cur_name_va = (char*)(curAddrOfName + base); + char cur_name[deflen] = ""; memset(cur_name, 0, deflen); memread(fdProcessInfo->hProcess, cur_name_va, cur_name, deflen, 0); - WORD curAddrOfNameOrdinals=0; - memread(fdProcessInfo->hProcess, AddrOfNameOrdinals_va+sizeof(WORD)*i, &curAddrOfNameOrdinals, sizeof(WORD), 0); - DWORD curFunctionRva=0; - memread(fdProcessInfo->hProcess, AddrOfFunctions_va+sizeof(DWORD)*curAddrOfNameOrdinals, &curFunctionRva, sizeof(DWORD), 0); + WORD curAddrOfNameOrdinals = 0; + memread(fdProcessInfo->hProcess, AddrOfNameOrdinals_va + sizeof(WORD)*i, &curAddrOfNameOrdinals, sizeof(WORD), 0); + DWORD curFunctionRva = 0; + memread(fdProcessInfo->hProcess, AddrOfFunctions_va + sizeof(DWORD)*curAddrOfNameOrdinals, &curFunctionRva, sizeof(DWORD), 0); - if(curFunctionRva>=export_dir_rva and curFunctionRva= export_dir_rva and curFunctionRva < export_dir_rva + export_dir_size) { - char forwarded_api[deflen]=""; + char forwarded_api[deflen] = ""; memset(forwarded_api, 0, deflen); - memread(fdProcessInfo->hProcess, (void*)(curFunctionRva+base), forwarded_api, deflen, 0); - int len=(int)strlen(forwarded_api); - int j=0; - while(forwarded_api[j]!='.' and jhProcess, (void*)(curFunctionRva + base), forwarded_api, deflen, 0); + int len = (int)strlen(forwarded_api); + int j = 0; + while(forwarded_api[j] != '.' and j < len) j++; - if(forwarded_api[j]=='.') + if(forwarded_api[j] == '.') { - forwarded_api[j]=0; - HINSTANCE hTempDll=LoadLibraryExA(forwarded_api, 0, DONT_RESOLVE_DLL_REFERENCES|LOAD_LIBRARY_AS_DATAFILE); + forwarded_api[j] = 0; + HINSTANCE hTempDll = LoadLibraryExA(forwarded_api, 0, DONT_RESOLVE_DLL_REFERENCES | LOAD_LIBRARY_AS_DATAFILE); if(hTempDll) { - uint local_addr=(uint)GetProcAddress(hTempDll, forwarded_api+j+1); + uint local_addr = (uint)GetProcAddress(hTempDll, forwarded_api + j + 1); if(local_addr) { - uint remote_addr=ImporterGetRemoteAPIAddress(fdProcessInfo->hProcess, local_addr); + uint remote_addr = ImporterGetRemoteAPIAddress(fdProcessInfo->hProcess, local_addr); cbEnum(base, modname, cur_name, remote_addr); } } @@ -296,7 +296,7 @@ bool apienumexports(uint base, EXPORTENUMCALLBACK cbEnum) } else { - cbEnum(base, modname, cur_name, curFunctionRva+base); + cbEnum(base, modname, cur_name, curFunctionRva + base); } } return true; @@ -305,18 +305,18 @@ bool apienumexports(uint base, EXPORTENUMCALLBACK cbEnum) ///comment functions bool commentset(uint addr, const char* text, bool manual) { - if(!DbgIsDebugging() or !memisvalidreadptr(fdProcessInfo->hProcess, addr) or !text or strlen(text)>=MAX_COMMENT_SIZE-1) + if(!DbgIsDebugging() or !memisvalidreadptr(fdProcessInfo->hProcess, addr) or !text or strlen(text) >= MAX_COMMENT_SIZE - 1) return false; if(!*text) //NOTE: delete when there is no text return commentdel(addr); COMMENTSINFO comment; - comment.manual=manual; + comment.manual = manual; strcpy(comment.text, text); modnamefromaddr(addr, comment.mod, true); - comment.addr=addr-modbasefromaddr(addr); - const uint key=modhashfromva(addr); + comment.addr = addr - modbasefromaddr(addr); + const uint key = modhashfromva(addr); if(!comments.insert(std::make_pair(key, comment)).second) //key already present - comments[key]=comment; + comments[key] = comment; return true; } @@ -324,8 +324,8 @@ bool commentget(uint addr, char* text) { if(!DbgIsDebugging()) return false; - const CommentsInfo::iterator found=comments.find(modhashfromva(addr)); - if(found==comments.end()) //not found + const CommentsInfo::iterator found = comments.find(modhashfromva(addr)); + if(found == comments.end()) //not found return false; strcpy(text, found->second.text); return true; @@ -335,28 +335,28 @@ bool commentdel(uint addr) { if(!DbgIsDebugging()) return false; - return (comments.erase(modhashfromva(addr))==1); + return (comments.erase(modhashfromva(addr)) == 1); } void commentdelrange(uint start, uint end) { if(!DbgIsDebugging()) return; - bool bDelAll=(start==0 && end==~0); //0x00000000-0xFFFFFFFF - uint modbase=modbasefromaddr(start); - if(modbase!=modbasefromaddr(end)) + bool bDelAll = (start == 0 && end == ~0); //0x00000000-0xFFFFFFFF + uint modbase = modbasefromaddr(start); + if(modbase != modbasefromaddr(end)) return; - start-=modbase; - end-=modbase; - CommentsInfo::iterator i=comments.begin(); - while(i!=comments.end()) + start -= modbase; + end -= modbase; + CommentsInfo::iterator i = comments.begin(); + while(i != comments.end()) { if(i->second.manual) //ignore manual { i++; continue; } - if(bDelAll || (i->second.addr>=start && i->second.addrsecond.addr >= start && i->second.addr < end)) comments.erase(i++); else i++; @@ -365,12 +365,12 @@ void commentdelrange(uint start, uint end) void commentcachesave(JSON root) { - const JSON jsoncomments=json_array(); - const JSON jsonautocomments=json_array(); - for(CommentsInfo::iterator i=comments.begin(); i!=comments.end(); ++i) + const JSON jsoncomments = json_array(); + const JSON jsonautocomments = json_array(); + for(CommentsInfo::iterator i = comments.begin(); i != comments.end(); ++i) { - const COMMENTSINFO curComment=i->second; - JSON curjsoncomment=json_object(); + const COMMENTSINFO curComment = i->second; + JSON curjsoncomment = json_object(); json_object_set_new(curjsoncomment, "module", json_string(curComment.mod)); json_object_set_new(curjsoncomment, "address", json_hex(curComment.addr)); json_object_set_new(curjsoncomment, "text", json_string(curComment.text)); @@ -390,7 +390,7 @@ void commentcachesave(JSON root) void commentcacheload(JSON root) { comments.clear(); - const JSON jsoncomments=json_object_get(root, "comments"); + const JSON jsoncomments = json_object_get(root, "comments"); if(jsoncomments) { size_t i; @@ -398,23 +398,23 @@ void commentcacheload(JSON root) json_array_foreach(jsoncomments, i, value) { COMMENTSINFO curComment; - const char* mod=json_string_value(json_object_get(value, "module")); - if(mod && *mod && strlen(mod)second; - commentlist[j].addr+=modbasefromname(commentlist[j].mod); + commentlist[j] = i->second; + commentlist[j].addr += modbasefromname(commentlist[j].mod); } return true; } @@ -463,18 +463,18 @@ bool commentenum(COMMENTSINFO* commentlist, size_t* cbsize) ///label functions bool labelset(uint addr, const char* text, bool manual) { - if(!DbgIsDebugging() or !memisvalidreadptr(fdProcessInfo->hProcess, addr) or !text or strlen(text)>=MAX_LABEL_SIZE-1 or strstr(text, "&")) + if(!DbgIsDebugging() or !memisvalidreadptr(fdProcessInfo->hProcess, addr) or !text or strlen(text) >= MAX_LABEL_SIZE - 1 or strstr(text, "&")) return false; if(!*text) //NOTE: delete when there is no text return labeldel(addr); LABELSINFO label; - label.manual=manual; + label.manual = manual; strcpy(label.text, text); modnamefromaddr(addr, label.mod, true); - label.addr=addr-modbasefromaddr(addr); - uint key=modhashfromva(addr); + label.addr = addr - modbasefromaddr(addr); + uint key = modhashfromva(addr); if(!labels.insert(std::make_pair(modhashfromva(key), label)).second) //already present - labels[key]=label; + labels[key] = label; return true; } @@ -482,12 +482,12 @@ bool labelfromstring(const char* text, uint* addr) { if(!DbgIsDebugging()) return false; - for(LabelsInfo::iterator i=labels.begin(); i!=labels.end(); ++i) + for(LabelsInfo::iterator i = labels.begin(); i != labels.end(); ++i) { if(!strcmp(i->second.text, text)) { if(addr) - *addr=i->second.addr+modbasefromname(i->second.mod); + *addr = i->second.addr + modbasefromname(i->second.mod); return true; } } @@ -498,8 +498,8 @@ bool labelget(uint addr, char* text) { if(!DbgIsDebugging()) return false; - const LabelsInfo::iterator found=labels.find(modhashfromva(addr)); - if(found==labels.end()) //not found + const LabelsInfo::iterator found = labels.find(modhashfromva(addr)); + if(found == labels.end()) //not found return false; if(text) strcpy(text, found->second.text); @@ -510,28 +510,28 @@ bool labeldel(uint addr) { if(!DbgIsDebugging()) return false; - return (labels.erase(modhashfromva(addr))>0); + return (labels.erase(modhashfromva(addr)) > 0); } void labeldelrange(uint start, uint end) { if(!DbgIsDebugging()) return; - bool bDelAll=(start==0 && end==~0); //0x00000000-0xFFFFFFFF - uint modbase=modbasefromaddr(start); - if(modbase!=modbasefromaddr(end)) + bool bDelAll = (start == 0 && end == ~0); //0x00000000-0xFFFFFFFF + uint modbase = modbasefromaddr(start); + if(modbase != modbasefromaddr(end)) return; - start-=modbase; - end-=modbase; - LabelsInfo::iterator i=labels.begin(); - while(i!=labels.end()) + start -= modbase; + end -= modbase; + LabelsInfo::iterator i = labels.begin(); + while(i != labels.end()) { if(i->second.manual) //ignore manual { i++; continue; } - if(bDelAll || (i->second.addr>=start && i->second.addrsecond.addr >= start && i->second.addr < end)) labels.erase(i++); else i++; @@ -540,12 +540,12 @@ void labeldelrange(uint start, uint end) void labelcachesave(JSON root) { - const JSON jsonlabels=json_array(); - const JSON jsonautolabels=json_array(); - for(LabelsInfo::iterator i=labels.begin(); i!=labels.end(); ++i) + const JSON jsonlabels = json_array(); + const JSON jsonautolabels = json_array(); + for(LabelsInfo::iterator i = labels.begin(); i != labels.end(); ++i) { - const LABELSINFO curLabel=i->second; - JSON curjsonlabel=json_object(); + const LABELSINFO curLabel = i->second; + JSON curjsonlabel = json_object(); json_object_set_new(curjsonlabel, "module", json_string(curLabel.mod)); json_object_set_new(curjsonlabel, "address", json_hex(curLabel.addr)); json_object_set_new(curjsonlabel, "text", json_string(curLabel.text)); @@ -565,7 +565,7 @@ void labelcachesave(JSON root) void labelcacheload(JSON root) { labels.clear(); - const JSON jsonlabels=json_object_get(root, "labels"); + const JSON jsonlabels = json_object_get(root, "labels"); if(jsonlabels) { size_t i; @@ -573,27 +573,27 @@ void labelcacheload(JSON root) json_array_foreach(jsonlabels, i, value) { LABELSINFO curLabel; - const char* mod=json_string_value(json_object_get(value, "module")); - if(mod && *mod && strlen(mod)second; - labellist[j].addr+=modbasefromname(labellist[j].mod); + labellist[j] = i->second; + labellist[j].addr += modbasefromname(labellist[j].mod); } return true; } @@ -646,8 +646,8 @@ bool bookmarkset(uint addr, bool manual) return false; BOOKMARKSINFO bookmark; modnamefromaddr(addr, bookmark.mod, true); - bookmark.addr=addr-modbasefromaddr(addr); - bookmark.manual=manual; + bookmark.addr = addr - modbasefromaddr(addr); + bookmark.manual = manual; if(!bookmarks.insert(std::make_pair(modhashfromva(addr), bookmark)).second) return bookmarkdel(addr); return true; @@ -666,28 +666,28 @@ bool bookmarkdel(uint addr) { if(!DbgIsDebugging()) return false; - return (bookmarks.erase(modhashfromva(addr))>0); + return (bookmarks.erase(modhashfromva(addr)) > 0); } void bookmarkdelrange(uint start, uint end) { if(!DbgIsDebugging()) return; - bool bDelAll=(start==0 && end==~0); //0x00000000-0xFFFFFFFF - uint modbase=modbasefromaddr(start); - if(modbase!=modbasefromaddr(end)) + bool bDelAll = (start == 0 && end == ~0); //0x00000000-0xFFFFFFFF + uint modbase = modbasefromaddr(start); + if(modbase != modbasefromaddr(end)) return; - start-=modbase; - end-=modbase; - BookmarksInfo::iterator i=bookmarks.begin(); - while(i!=bookmarks.end()) + start -= modbase; + end -= modbase; + BookmarksInfo::iterator i = bookmarks.begin(); + while(i != bookmarks.end()) { if(i->second.manual) //ignore manual { i++; continue; } - if(bDelAll || (i->second.addr>=start && i->second.addrsecond.addr >= start && i->second.addr < end)) bookmarks.erase(i++); else i++; @@ -696,12 +696,12 @@ void bookmarkdelrange(uint start, uint end) void bookmarkcachesave(JSON root) { - const JSON jsonbookmarks=json_array(); - const JSON jsonautobookmarks=json_array(); - for(BookmarksInfo::iterator i=bookmarks.begin(); i!=bookmarks.end(); ++i) + const JSON jsonbookmarks = json_array(); + const JSON jsonautobookmarks = json_array(); + for(BookmarksInfo::iterator i = bookmarks.begin(); i != bookmarks.end(); ++i) { - const BOOKMARKSINFO curBookmark=i->second; - JSON curjsonbookmark=json_object(); + const BOOKMARKSINFO curBookmark = i->second; + JSON curjsonbookmark = json_object(); json_object_set_new(curjsonbookmark, "module", json_string(curBookmark.mod)); json_object_set_new(curjsonbookmark, "address", json_hex(curBookmark.addr)); if(curBookmark.manual) @@ -720,7 +720,7 @@ void bookmarkcachesave(JSON root) void bookmarkcacheload(JSON root) { bookmarks.clear(); - const JSON jsonbookmarks=json_object_get(root, "bookmarks"); + const JSON jsonbookmarks = json_object_get(root, "bookmarks"); if(jsonbookmarks) { size_t i; @@ -728,18 +728,18 @@ void bookmarkcacheload(JSON root) json_array_foreach(jsonbookmarks, i, value) { BOOKMARKSINFO curBookmark; - const char* mod=json_string_value(json_object_get(value, "module")); - if(mod && *mod && strlen(mod)second; - bookmarklist[j].addr+=modbasefromname(bookmarklist[j].mod); + bookmarklist[j] = i->second; + bookmarklist[j].addr += modbasefromname(bookmarklist[j].mod); } return true; } @@ -783,18 +783,18 @@ bool bookmarkenum(BOOKMARKSINFO* bookmarklist, size_t* cbsize) ///function database bool functionadd(uint start, uint end, bool manual) { - if(!DbgIsDebugging() or endhProcess, start)) + if(!DbgIsDebugging() or end < start or !memisvalidreadptr(fdProcessInfo->hProcess, start)) return false; - const uint modbase=modbasefromaddr(start); - if(modbase!=modbasefromaddr(end)) //the function boundaries are not in the same module + const uint modbase = modbasefromaddr(start); + if(modbase != modbasefromaddr(end)) //the function boundaries are not in the same module return false; if(functionoverlaps(start, end)) return false; FUNCTIONSINFO function; modnamefromaddr(start, function.mod, true); - function.start=start-modbase; - function.end=end-modbase; - function.manual=manual; + function.start = start - modbase; + function.end = end - modbase; + function.manual = manual; functions.insert(std::make_pair(ModuleRange(modhashfromva(modbase), Range(function.start, function.end)), function)); return true; } @@ -803,52 +803,52 @@ bool functionget(uint addr, uint* start, uint* end) { if(!DbgIsDebugging()) return false; - uint modbase=modbasefromaddr(addr); - const FunctionsInfo::iterator found=functions.find(ModuleRange(modhashfromva(modbase), Range(addr-modbase, addr-modbase))); - if(found==functions.end()) //not found + uint modbase = modbasefromaddr(addr); + const FunctionsInfo::iterator found = functions.find(ModuleRange(modhashfromva(modbase), Range(addr - modbase, addr - modbase))); + if(found == functions.end()) //not found return false; if(start) - *start=found->second.start+modbase; + *start = found->second.start + modbase; if(end) - *end=found->second.end+modbase; + *end = found->second.end + modbase; return true; } bool functionoverlaps(uint start, uint end) { - if(!DbgIsDebugging() or end0); + const uint modbase = modbasefromaddr(start); + return (functions.count(ModuleRange(modhashfromva(modbase), Range(start - modbase, end - modbase))) > 0); } bool functiondel(uint addr) { if(!DbgIsDebugging()) return false; - const uint modbase=modbasefromaddr(addr); - return (functions.erase(ModuleRange(modhashfromva(modbase), Range(addr-modbase, addr-modbase)))>0); + const uint modbase = modbasefromaddr(addr); + return (functions.erase(ModuleRange(modhashfromva(modbase), Range(addr - modbase, addr - modbase))) > 0); } void functiondelrange(uint start, uint end) { if(!DbgIsDebugging()) return; - bool bDelAll=(start==0 && end==~0); //0x00000000-0xFFFFFFFF - uint modbase=modbasefromaddr(start); - if(modbase!=modbasefromaddr(end)) + bool bDelAll = (start == 0 && end == ~0); //0x00000000-0xFFFFFFFF + uint modbase = modbasefromaddr(start); + if(modbase != modbasefromaddr(end)) return; - start-=modbase; - end-=modbase; - FunctionsInfo::iterator i=functions.begin(); - while(i!=functions.end()) + start -= modbase; + end -= modbase; + FunctionsInfo::iterator i = functions.begin(); + while(i != functions.end()) { if(i->second.manual) //ignore manual { i++; continue; } - if(bDelAll or !(i->second.start<=end and i->second.end>=start)) + if(bDelAll or !(i->second.start <= end and i->second.end >= start)) functions.erase(i++); else i++; @@ -857,12 +857,12 @@ void functiondelrange(uint start, uint end) void functioncachesave(JSON root) { - const JSON jsonfunctions=json_array(); - const JSON jsonautofunctions=json_array(); - for(FunctionsInfo::iterator i=functions.begin(); i!=functions.end(); ++i) + const JSON jsonfunctions = json_array(); + const JSON jsonautofunctions = json_array(); + for(FunctionsInfo::iterator i = functions.begin(); i != functions.end(); ++i) { - const FUNCTIONSINFO curFunction=i->second; - JSON curjsonfunction=json_object(); + const FUNCTIONSINFO curFunction = i->second; + JSON curjsonfunction = json_object(); json_object_set_new(curjsonfunction, "module", json_string(curFunction.mod)); json_object_set_new(curjsonfunction, "start", json_hex(curFunction.start)); json_object_set_new(curjsonfunction, "end", json_hex(curFunction.end)); @@ -882,7 +882,7 @@ void functioncachesave(JSON root) void functioncacheload(JSON root) { functions.clear(); - const JSON jsonfunctions=json_object_get(root, "functions"); + const JSON jsonfunctions = json_object_get(root, "functions"); if(jsonfunctions) { size_t i; @@ -890,21 +890,21 @@ void functioncacheload(JSON root) json_array_foreach(jsonfunctions, i, value) { FUNCTIONSINFO curFunction; - const char* mod=json_string_value(json_object_get(value, "module")); - if(mod && *mod && strlen(mod)second; - uint modbase=modbasefromname(functionlist[j].mod); - functionlist[j].start+=modbase; - functionlist[j].end+=modbase; + functionlist[j] = i->second; + uint modbase = modbasefromname(functionlist[j].mod); + functionlist[j].start += modbase; + functionlist[j].end += modbase; } return true; } @@ -953,24 +953,24 @@ bool functionenum(FUNCTIONSINFO* functionlist, size_t* cbsize) //loop database bool loopadd(uint start, uint end, bool manual) { - if(!DbgIsDebugging() or endhProcess, start)) + if(!DbgIsDebugging() or end < start or !memisvalidreadptr(fdProcessInfo->hProcess, start)) return false; - const uint modbase=modbasefromaddr(start); - if(modbase!=modbasefromaddr(end)) //the function boundaries are not in the same mem page + const uint modbase = modbasefromaddr(start); + if(modbase != modbasefromaddr(end)) //the function boundaries are not in the same mem page return false; int finaldepth; if(loopoverlaps(0, start, end, &finaldepth)) //loop cannot overlap another loop return false; LOOPSINFO loop; modnamefromaddr(start, loop.mod, true); - loop.start=start-modbase; - loop.end=end-modbase; - loop.depth=finaldepth; + loop.start = start - modbase; + loop.end = end - modbase; + loop.depth = finaldepth; if(finaldepth) - loopget(finaldepth-1, start, &loop.parent, 0); + loopget(finaldepth - 1, start, &loop.parent, 0); else - loop.parent=0; - loop.manual=manual; + loop.parent = 0; + loop.manual = manual; loops.insert(std::make_pair(DepthModuleRange(finaldepth, ModuleRange(modhashfromva(modbase), Range(loop.start, loop.end))), loop)); return true; } @@ -979,14 +979,14 @@ bool loopget(int depth, uint addr, uint* start, uint* end) { if(!DbgIsDebugging()) return false; - const uint modbase=modbasefromaddr(addr); - LoopsInfo::iterator found=loops.find(DepthModuleRange(depth, ModuleRange(modhashfromva(modbase), Range(addr-modbase, addr-modbase)))); - if(found==loops.end()) //not found + const uint modbase = modbasefromaddr(addr); + LoopsInfo::iterator found = loops.find(DepthModuleRange(depth, ModuleRange(modhashfromva(modbase), Range(addr - modbase, addr - modbase)))); + if(found == loops.end()) //not found return false; if(start) - *start=found->second.start+modbase; + *start = found->second.start + modbase; if(end) - *end=found->second.end+modbase; + *end = found->second.end + modbase; return true; } @@ -996,31 +996,31 @@ bool loopoverlaps(int depth, uint start, uint end, int* finaldepth) if(!DbgIsDebugging()) return false; - const uint modbase=modbasefromaddr(start); - uint curStart=start-modbase; - uint curEnd=end-modbase; - const uint key=modhashfromva(modbase); + const uint modbase = modbasefromaddr(start); + uint curStart = start - modbase; + uint curEnd = end - modbase; + const uint key = modhashfromva(modbase); //check if the new loop fits in the old loop - for(LoopsInfo::iterator i=loops.begin(); i!=loops.end(); ++i) + for(LoopsInfo::iterator i = loops.begin(); i != loops.end(); ++i) { - if(i->first.second.first!=key) //only look in the current module + if(i->first.second.first != key) //only look in the current module continue; - LOOPSINFO* curLoop=&i->second; - if(curLoop->startend>curEnd and curLoop->depth==depth) - return loopoverlaps(depth+1, curStart, curEnd, finaldepth); + LOOPSINFO* curLoop = &i->second; + if(curLoop->start < curStart and curLoop->end > curEnd and curLoop->depth == depth) + return loopoverlaps(depth + 1, curStart, curEnd, finaldepth); } if(finaldepth) - *finaldepth=depth; + *finaldepth = depth; //check for loop overlaps - for(LoopsInfo::iterator i=loops.begin(); i!=loops.end(); ++i) + for(LoopsInfo::iterator i = loops.begin(); i != loops.end(); ++i) { - if(i->first.second.first!=key) //only look in the current module + if(i->first.second.first != key) //only look in the current module continue; - LOOPSINFO* curLoop=&i->second; - if(curLoop->start<=curEnd and curLoop->end>=curStart and curLoop->depth==depth) + LOOPSINFO* curLoop = &i->second; + if(curLoop->start <= curEnd and curLoop->end >= curStart and curLoop->depth == depth) return true; } return false; @@ -1033,12 +1033,12 @@ bool loopdel(int depth, uint addr) void loopcachesave(JSON root) { - const JSON jsonloops=json_array(); - const JSON jsonautoloops=json_array(); - for(LoopsInfo::iterator i=loops.begin(); i!=loops.end(); ++i) + const JSON jsonloops = json_array(); + const JSON jsonautoloops = json_array(); + for(LoopsInfo::iterator i = loops.begin(); i != loops.end(); ++i) { - const LOOPSINFO curLoop=i->second; - JSON curjsonloop=json_object(); + const LOOPSINFO curLoop = i->second; + JSON curjsonloop = json_object(); json_object_set_new(curjsonloop, "module", json_string(curLoop.mod)); json_object_set_new(curjsonloop, "start", json_hex(curLoop.start)); json_object_set_new(curjsonloop, "end", json_hex(curLoop.end)); @@ -1060,7 +1060,7 @@ void loopcachesave(JSON root) void loopcacheload(JSON root) { loops.clear(); - const JSON jsonloops=json_object_get(root, "loops"); + const JSON jsonloops = json_object_get(root, "loops"); if(jsonloops) { size_t i; @@ -1068,22 +1068,22 @@ void loopcacheload(JSON root) json_array_foreach(jsonloops, i, value) { LOOPSINFO curLoop; - const char* mod=json_string_value(json_object_get(value, "module")); - if(mod && *mod && strlen(mod)second; - uint modbase=modbasefromname(looplist[j].mod); - looplist[j].start+=modbase; - looplist[j].end+=modbase; + looplist[j] = i->second; + uint modbase = modbasefromname(looplist[j].mod); + looplist[j].start += modbase; + looplist[j].end += modbase; } return true; } \ No newline at end of file diff --git a/x64_dbg_dbg/addrinfo.h b/x64_dbg_dbg/addrinfo.h index 9e0a61b3..deb3a7e1 100644 --- a/x64_dbg_dbg/addrinfo.h +++ b/x64_dbg_dbg/addrinfo.h @@ -10,7 +10,7 @@ typedef std::pair DepthModuleRange; //depth + modulerange struct RangeCompare { - bool operator()(const Range& a, const Range& b) const //a before b? + bool operator()(const Range & a, const Range & b) const //a before b? { return a.second < b.first; } @@ -18,7 +18,7 @@ struct RangeCompare struct OverlappingRangeCompare { - bool operator()(const Range& a, const Range& b) const //a before b? + bool operator()(const Range & a, const Range & b) const //a before b? { return a.second < b.first || a.second < b.second; } @@ -26,7 +26,7 @@ struct OverlappingRangeCompare struct ModuleRangeCompare { - bool operator()(const ModuleRange& a, const ModuleRange& b) const + bool operator()(const ModuleRange & a, const ModuleRange & b) const { if(a.first < b.first) //module hash is smaller return true; @@ -38,7 +38,7 @@ struct ModuleRangeCompare struct DepthModuleRangeCompare { - bool operator()(const DepthModuleRange& a, const DepthModuleRange& b) const + bool operator()(const DepthModuleRange & a, const DepthModuleRange & b) const { if(a.first < b.first) //module depth is smaller return true; diff --git a/x64_dbg_dbg/argument.cpp b/x64_dbg_dbg/argument.cpp index 0ccd214c..601f5855 100644 --- a/x64_dbg_dbg/argument.cpp +++ b/x64_dbg_dbg/argument.cpp @@ -24,117 +24,117 @@ formatarg: */ void argformat(char* cmd) { - if(strlen(cmd)>=deflen) + if(strlen(cmd) >= deflen) return; - char command_[deflen]=""; - char* command=command_; + char command_[deflen] = ""; + char* command = command_; strcpy(command, cmd); - while(*command==' ') + while(*command == ' ') command++; - int len=(int)strlen(command); - int start=0; - for(int i=0; i=deflen) + int len = (int)strlen(cmd); + if(!len or len >= deflen) return -1; - int arg_count=0; + int arg_count = 0; - int start=0; - while(cmd[start]!=' ' and start=deflen) + if(strlen(cmd) >= deflen) return false; - int argcount=arggetcount(cmd); - if((arg_num+1)>argcount) + int argcount = arggetcount(cmd); + if((arg_num + 1) > argcount) { if(!optional) - dprintf("missing argument nr %d\n", arg_num+1); + dprintf("missing argument nr %d\n", arg_num + 1); return false; } - int start=0; - while(cmd[start]!=' ') //ignore the command + int start = 0; + while(cmd[start] != ' ') //ignore the command start++; - while(cmd[start]==' ') //ignore initial spaces + while(cmd[start] == ' ') //ignore initial spaces start++; - char temp_[deflen]=""; - char* temp=temp_+1; - strcpy(temp, cmd+start); - int len=(int)strlen(temp); - for(int i=0; i=XEDPARSE_MAXBUFSIZE) + if(strlen(instruction) >= XEDPARSE_MAXBUFSIZE) return false; XEDPARSE parse; memset(&parse, 0, sizeof(parse)); #ifdef _WIN64 - parse.x64=true; + parse.x64 = true; #else //x86 - parse.x64=false; + parse.x64 = false; #endif - parse.cbUnknown=cbUnknown; - parse.cip=addr; + parse.cbUnknown = cbUnknown; + parse.cip = addr; strcpy(parse.instr, instruction); - if(XEDParseAssemble(&parse)==XEDPARSE_ERROR) + if(XEDParseAssemble(&parse) == XEDPARSE_ERROR) { if(error) strcpy(error, parse.error); @@ -41,7 +41,7 @@ bool assemble(uint addr, unsigned char* dest, int* size, const char* instruction if(dest) memcpy(dest, parse.dest, parse.dest_size); if(size) - *size=parse.dest_size; + *size = parse.dest_size; return true; } @@ -53,23 +53,23 @@ bool assembleat(uint addr, const char* instruction, int* size, char* error, bool if(!assemble(addr, dest, &destSize, instruction, error)) return false; //calculate the number of NOPs to insert - int origLen=disasmgetsize(addr); - while(origLenhProcess, (void*)addr, dest, destSize, 0); + bool ret = mempatch(fdProcessInfo->hProcess, (void*)addr, dest, destSize, 0); if(ret && fillnop && nopsize) { if(size) - *size+=nopsize; - if(!mempatch(fdProcessInfo->hProcess, (void*)(addr+destSize), nops, nopsize, 0)) - ret=false; + *size += nopsize; + if(!mempatch(fdProcessInfo->hProcess, (void*)(addr + destSize), nops, nopsize, 0)) + ret = false; } GuiUpdatePatches(); return true; diff --git a/x64_dbg_dbg/breakpoint.cpp b/x64_dbg_dbg/breakpoint.cpp index e8e7647d..3958c3b5 100644 --- a/x64_dbg_dbg/breakpoint.cpp +++ b/x64_dbg_dbg/breakpoint.cpp @@ -12,12 +12,12 @@ int bpgetlist(std::vector* list) if(!DbgIsDebugging()) return false; BREAKPOINT curBp; - int count=0; - for(BreakpointsInfo::iterator i=breakpoints.begin(); i!=breakpoints.end(); ++i) + int count = 0; + for(BreakpointsInfo::iterator i = breakpoints.begin(); i != breakpoints.end(); ++i) { - curBp=i->second; - curBp.addr+=modbasefromname(curBp.mod); - curBp.active=memisvalidreadptr(fdProcessInfo->hProcess, curBp.addr); + curBp = i->second; + curBp.addr += modbasefromname(curBp.mod); + curBp.active = memisvalidreadptr(fdProcessInfo->hProcess, curBp.addr); count++; if(list) list->push_back(curBp); @@ -31,18 +31,18 @@ bool bpnew(uint addr, bool enabled, bool singleshoot, short oldbytes, BP_TYPE ty return false; BREAKPOINT bp; modnamefromaddr(addr, bp.mod, true); - uint modbase=modbasefromaddr(addr); - bp.active=true; - bp.addr=addr-modbase; - bp.enabled=enabled; - if(name and *name) + uint modbase = modbasefromaddr(addr); + bp.active = true; + bp.addr = addr - modbase; + bp.enabled = enabled; + if(name and * name) strcpy(bp.name, name); else - *bp.name='\0'; - bp.oldbytes=oldbytes; - bp.singleshoot=singleshoot; - bp.titantype=titantype; - bp.type=type; + *bp.name = '\0'; + bp.oldbytes = oldbytes; + bp.singleshoot = singleshoot; + bp.titantype = titantype; + bp.type = type; breakpoints.insert(std::make_pair(BreakpointKey(type, modhashfromva(addr)), bp)); return true; } @@ -54,29 +54,29 @@ bool bpget(uint addr, BP_TYPE type, const char* name, BREAKPOINT* bp) BREAKPOINT curBp; if(!name) { - BreakpointsInfo::iterator found=breakpoints.find(BreakpointKey(type, modhashfromva(addr))); - if(found==breakpoints.end()) //not found + BreakpointsInfo::iterator found = breakpoints.find(BreakpointKey(type, modhashfromva(addr))); + if(found == breakpoints.end()) //not found return false; if(!bp) return true; - curBp=found->second; - curBp.addr+=modbasefromaddr(addr); - curBp.active=memisvalidreadptr(fdProcessInfo->hProcess, curBp.addr); - *bp=curBp; + curBp = found->second; + curBp.addr += modbasefromaddr(addr); + curBp.active = memisvalidreadptr(fdProcessInfo->hProcess, curBp.addr); + *bp = curBp; return true; } - for(BreakpointsInfo::iterator i=breakpoints.begin(); i!=breakpoints.end(); ++i) + for(BreakpointsInfo::iterator i = breakpoints.begin(); i != breakpoints.end(); ++i) { - curBp=i->second; - if(name and *name) + curBp = i->second; + if(name and * name) { if(!strcmp(name, curBp.name)) { if(bp) { - curBp.addr+=modbasefromname(curBp.mod); - curBp.active=memisvalidreadptr(fdProcessInfo->hProcess, curBp.addr); - *bp=curBp; + curBp.addr += modbasefromname(curBp.mod); + curBp.active = memisvalidreadptr(fdProcessInfo->hProcess, curBp.addr); + *bp = curBp; } return true; } @@ -89,17 +89,17 @@ bool bpdel(uint addr, BP_TYPE type) { if(!DbgIsDebugging()) return false; - return (breakpoints.erase(BreakpointKey(type, modhashfromva(addr)))>0); + return (breakpoints.erase(BreakpointKey(type, modhashfromva(addr))) > 0); } bool bpenable(uint addr, BP_TYPE type, bool enable) { if(!DbgIsDebugging()) return false; - BreakpointsInfo::iterator found=breakpoints.find(BreakpointKey(type, modhashfromva(addr))); - if(found==breakpoints.end()) //not found + BreakpointsInfo::iterator found = breakpoints.find(BreakpointKey(type, modhashfromva(addr))); + if(found == breakpoints.end()) //not found return false; - breakpoints[found->first].enabled=enable; + breakpoints[found->first].enabled = enable; return true; } @@ -107,8 +107,8 @@ bool bpsetname(uint addr, BP_TYPE type, const char* name) { if(!DbgIsDebugging() or !name or !*name) return false; - BreakpointsInfo::iterator found=breakpoints.find(BreakpointKey(type, modhashfromva(addr))); - if(found==breakpoints.end()) //not found + BreakpointsInfo::iterator found = breakpoints.find(BreakpointKey(type, modhashfromva(addr))); + if(found == breakpoints.end()) //not found return false; strcpy(breakpoints[found->first].name, name); return true; @@ -118,10 +118,10 @@ bool bpsettitantype(uint addr, BP_TYPE type, int titantype) { if(!DbgIsDebugging()) return false; - BreakpointsInfo::iterator found=breakpoints.find(BreakpointKey(type, modhashfromva(addr))); - if(found==breakpoints.end()) //not found + BreakpointsInfo::iterator found = breakpoints.find(BreakpointKey(type, modhashfromva(addr))); + if(found == breakpoints.end()) //not found return false; - breakpoints[found->first].titantype=titantype; + breakpoints[found->first].titantype = titantype; return true; } @@ -129,28 +129,28 @@ bool bpenumall(BPENUMCALLBACK cbEnum, const char* module) { if(!DbgIsDebugging()) return false; - bool retval=true; + bool retval = true; BREAKPOINT curBp; - BreakpointsInfo::iterator i=breakpoints.begin(); - while(i!=breakpoints.end()) + BreakpointsInfo::iterator i = breakpoints.begin(); + while(i != breakpoints.end()) { - BreakpointsInfo::iterator j=i; + BreakpointsInfo::iterator j = i; ++i; - curBp=j->second; - curBp.addr+=modbasefromname(curBp.mod); //RVA to VA - curBp.active=memisvalidreadptr(fdProcessInfo->hProcess, curBp.addr); //TODO: wtf am I doing? - if(module and *module) + curBp = j->second; + curBp.addr += modbasefromname(curBp.mod); //RVA to VA + curBp.active = memisvalidreadptr(fdProcessInfo->hProcess, curBp.addr); //TODO: wtf am I doing? + if(module and * module) { if(!strcmp(curBp.mod, module)) { if(!cbEnum(&curBp)) - retval=false; + retval = false; } } else { if(!cbEnum(&curBp)) - retval=false; + retval = false; } } return retval; @@ -163,10 +163,10 @@ bool bpenumall(BPENUMCALLBACK cbEnum) int bpgetcount(BP_TYPE type, bool enabledonly) { - int count=0; - for(BreakpointsInfo::iterator i=breakpoints.begin(); i!=breakpoints.end(); ++i) + int count = 0; + for(BreakpointsInfo::iterator i = breakpoints.begin(); i != breakpoints.end(); ++i) { - if(i->first.first==type && (!enabledonly || i->second.enabled)) + if(i->first.first == type && (!enabledonly || i->second.enabled)) count++; } return count; @@ -177,39 +177,39 @@ void bptobridge(const BREAKPOINT* bp, BRIDGEBP* bridge) if(!bp or !bridge) return; memset(bridge, 0, sizeof(BRIDGEBP)); - bridge->active=bp->active; - bridge->addr=bp->addr; - bridge->enabled=bp->enabled; + bridge->active = bp->active; + bridge->addr = bp->addr; + bridge->enabled = bp->enabled; strcpy(bridge->mod, bp->mod); strcpy(bridge->name, bp->name); - bridge->singleshoot=bp->singleshoot; + bridge->singleshoot = bp->singleshoot; switch(bp->type) { case BPNORMAL: - bridge->type=bp_normal; + bridge->type = bp_normal; break; case BPHARDWARE: - bridge->type=bp_hardware; + bridge->type = bp_hardware; break; case BPMEMORY: - bridge->type=bp_memory; + bridge->type = bp_memory; default: - bridge->type=bp_none; + bridge->type = bp_none; } } void bpcachesave(JSON root) { - const JSON jsonbreakpoints=json_array(); - for(BreakpointsInfo::iterator i=breakpoints.begin(); i!=breakpoints.end(); ++i) + const JSON jsonbreakpoints = json_array(); + for(BreakpointsInfo::iterator i = breakpoints.begin(); i != breakpoints.end(); ++i) { - const BREAKPOINT curBreakpoint=i->second; + const BREAKPOINT curBreakpoint = i->second; if(curBreakpoint.singleshoot) continue; //skip - JSON curjsonbreakpoint=json_object(); + JSON curjsonbreakpoint = json_object(); json_object_set_new(curjsonbreakpoint, "address", json_hex(curBreakpoint.addr)); json_object_set_new(curjsonbreakpoint, "enabled", json_boolean(curBreakpoint.enabled)); - if(curBreakpoint.type==BPNORMAL) + if(curBreakpoint.type == BPNORMAL) json_object_set_new(curjsonbreakpoint, "oldbytes", json_hex(curBreakpoint.oldbytes)); json_object_set_new(curjsonbreakpoint, "type", json_integer(curBreakpoint.type)); json_object_set_new(curjsonbreakpoint, "titantype", json_hex(curBreakpoint.titantype)); @@ -225,7 +225,7 @@ void bpcachesave(JSON root) void bpcacheload(JSON root) { breakpoints.clear(); - const JSON jsonbreakpoints=json_object_get(root, "breakpoints"); + const JSON jsonbreakpoints = json_object_get(root, "breakpoints"); if(jsonbreakpoints) { size_t i; @@ -234,19 +234,19 @@ void bpcacheload(JSON root) { BREAKPOINT curBreakpoint; memset(&curBreakpoint, 0, sizeof(BREAKPOINT)); - curBreakpoint.type=(BP_TYPE)json_integer_value(json_object_get(value, "type")); - if(curBreakpoint.type==BPNORMAL) - curBreakpoint.oldbytes=(short)json_hex_value(json_object_get(value, "oldbytes")); - curBreakpoint.addr=(uint)json_hex_value(json_object_get(value, "address")); - curBreakpoint.enabled=json_boolean_value(json_object_get(value, "enabled")); - curBreakpoint.titantype=(DWORD)json_hex_value(json_object_get(value, "titantype")); - const char* name=json_string_value(json_object_get(value, "name")); + curBreakpoint.type = (BP_TYPE)json_integer_value(json_object_get(value, "type")); + if(curBreakpoint.type == BPNORMAL) + curBreakpoint.oldbytes = (short)json_hex_value(json_object_get(value, "oldbytes")); + curBreakpoint.addr = (uint)json_hex_value(json_object_get(value, "address")); + curBreakpoint.enabled = json_boolean_value(json_object_get(value, "enabled")); + curBreakpoint.titantype = (DWORD)json_hex_value(json_object_get(value, "titantype")); + const char* name = json_string_value(json_object_get(value, "name")); if(name) strcpy(curBreakpoint.name, name); - const char* mod=json_string_value(json_object_get(value, "module")); - if(mod && *mod && strlen(mod)name) return 0; - COMMAND* prev=0; + COMMAND* prev = 0; while(cur) { if(arraycontains(cur->name, name)) { if(link) - *link=prev; + *link = prev; return cur; } - prev=cur; - cur=cur->next; + prev = cur; + cur = cur->next; } return 0; } COMMAND* cmdinit() { - COMMAND* cmd=(COMMAND*)emalloc(sizeof(COMMAND), "cmdinit:cmd"); + COMMAND* cmd = (COMMAND*)emalloc(sizeof(COMMAND), "cmdinit:cmd"); memset(cmd, 0, sizeof(COMMAND)); return cmd; } void cmdfree(COMMAND* cmd_list) { - COMMAND* cur=cmd_list; + COMMAND* cur = cmd_list; while(cur) { efree(cur->name, "cmdfree:cur->name"); - COMMAND* next=cur->next; + COMMAND* next = cur->next; efree(cur, "cmdfree:cur"); - cur=next; + cur = next; } } @@ -49,39 +49,39 @@ bool cmdnew(COMMAND* command_list, const char* name, CBCOMMAND cbCommand, bool d if(!command_list or !cbCommand or !name or !*name or cmdfind(command_list, name, 0)) return false; COMMAND* cmd; - bool nonext=false; + bool nonext = false; if(!command_list->name) { - cmd=command_list; - nonext=true; + cmd = command_list; + nonext = true; } else - cmd=(COMMAND*)emalloc(sizeof(COMMAND), "cmdnew:cmd"); + cmd = (COMMAND*)emalloc(sizeof(COMMAND), "cmdnew:cmd"); memset(cmd, 0, sizeof(COMMAND)); - cmd->name=(char*)emalloc(strlen(name)+1, "cmdnew:cmd->name"); + cmd->name = (char*)emalloc(strlen(name) + 1, "cmdnew:cmd->name"); strcpy(cmd->name, name); - cmd->cbCommand=cbCommand; - cmd->debugonly=debugonly; - COMMAND* cur=command_list; + cmd->cbCommand = cbCommand; + cmd->debugonly = debugonly; + COMMAND* cur = command_list; if(!nonext) { while(cur->next) - cur=cur->next; - cur->next=cmd; + cur = cur->next; + cur->next = cmd; } return true; } COMMAND* cmdget(COMMAND* command_list, const char* cmd) { - char new_cmd[deflen]=""; + char new_cmd[deflen] = ""; strcpy(new_cmd, cmd); - int len=(int)strlen(new_cmd); - int start=0; - while(new_cmd[start]!=' ' and startcbCommand; - found->cbCommand=cbCommand; - found->debugonly=debugonly; + CBCOMMAND old = found->cbCommand; + found->cbCommand = cbCommand; + found->debugonly = debugonly; return old; } bool cmddel(COMMAND* command_list, const char* name) { - COMMAND* prev=0; - COMMAND* found=cmdfind(command_list, name, &prev); + COMMAND* prev = 0; + COMMAND* found = cmdfind(command_list, name, &prev); if(!found) return false; efree(found->name, "cmddel:found->name"); - if(found==command_list) + if(found == command_list) { - COMMAND* next=command_list->next; + COMMAND* next = command_list->next; if(next) { memcpy(command_list, command_list->next, sizeof(COMMAND)); - command_list->next=next->next; + command_list->next = next->next; efree(next, "cmddel:next"); } else @@ -121,7 +121,7 @@ bool cmddel(COMMAND* command_list, const char* name) } else { - prev->next=found->next; + prev->next = found->next; efree(found, "cmddel:found"); } return true; @@ -138,8 +138,8 @@ CMDRESULT cmdloop(COMMAND* command_list, CBCOMMAND cbUnknownCommand, CBCOMMANDPR { if(!cbUnknownCommand or !cbCommandProvider) return STATUS_ERROR; - char command[deflen]=""; - bool bLoop=true; + char command[deflen] = ""; + bool bLoop = true; while(bLoop) { if(!cbCommandProvider(command, deflen)) @@ -149,17 +149,17 @@ CMDRESULT cmdloop(COMMAND* command_list, CBCOMMAND cbUnknownCommand, CBCOMMANDPR argformat(command); //default formatting COMMAND* cmd; if(!cbCommandFinder) //'clean' command processing - cmd=cmdget(command_list, command); + cmd = cmdget(command_list, command); else //'dirty' command processing - cmd=cbCommandFinder(command_list, command); + cmd = cbCommandFinder(command_list, command); if(!cmd or !cmd->cbCommand) //unknown command { char* argv[1]; - *argv=command; - CMDRESULT res=cbUnknownCommand(1, argv); - if((error_is_fatal and res==STATUS_ERROR) or res==STATUS_EXIT) - bLoop=false; + *argv = command; + CMDRESULT res = cbUnknownCommand(1, argv); + if((error_is_fatal and res == STATUS_ERROR) or res == STATUS_EXIT) + bLoop = false; } else { @@ -167,25 +167,25 @@ CMDRESULT cmdloop(COMMAND* command_list, CBCOMMAND cbUnknownCommand, CBCOMMANDPR { dputs("this command is debug-only"); if(error_is_fatal) - bLoop=false; + bLoop = false; } else { - int argcount=arggetcount(command); - char** argv=(char**)emalloc((argcount+1)*sizeof(char*), "cmdloop:argv"); - argv[0]=command; - for(int i=0; icbCommand(argcount+1, argv); - for(int i=0; icbCommand(argcount + 1, argv); + for(int i = 0; i < argcount; i++) + efree(argv[i + 1], "cmdloop:argv[i+1]"); efree(argv, "cmdloop:argv"); - if((error_is_fatal and res==STATUS_ERROR) or res==STATUS_EXIT) - bLoop=false; + if((error_is_fatal and res == STATUS_ERROR) or res == STATUS_EXIT) + bLoop = false; } } } @@ -205,36 +205,36 @@ static bool isvalidexpression(const char* expression) static void specialformat(char* string) { - int len=(int)strlen(string); - char* found=strstr(string, "="); - char* str=(char*)emalloc(len*2, "specialformat:str"); - char* backup=(char*)emalloc(len+1, "specialformat:backup"); + int len = (int)strlen(string); + char* found = strstr(string, "="); + char* str = (char*)emalloc(len * 2, "specialformat:str"); + char* backup = (char*)emalloc(len + 1, "specialformat:backup"); strcpy(backup, string); //create a backup of the string - memset(str, 0, len*2); + memset(str, 0, len * 2); if(found) //contains = { - char* a=(found-1); - *found=0; + char* a = (found - 1); + *found = 0; found++; if(!*found) { - *found='='; + *found = '='; efree(str, "specialformat:str"); efree(backup, "specialformat:backup"); return; } - int flen=(int)strlen(found); //n(+)=n++ - if((found[flen-1]=='+' and found[flen-2]=='+') or (found[flen-1]=='-' and found[flen-2]=='-')) //eax++/eax-- + int flen = (int)strlen(found); //n(+)=n++ + if((found[flen - 1] == '+' and found[flen - 2] == '+') or (found[flen - 1] == '-' and found[flen - 2] == '-')) //eax++/eax-- { - found[flen-2]=0; - char op=found[flen-1]; + found[flen - 2] = 0; + char op = found[flen - 1]; sprintf(str, "%s%c1", found, op); strcpy(found, str); } - if(mathisoperator(*a)>2) //x*=3 -> x=x*3 + if(mathisoperator(*a) > 2) //x*=3 -> x=x*3 { - char op=*a; - *a=0; + char op = *a; + *a = 0; if(isvalidexpression(string)) sprintf(str, "mov %s,%s%c%s", string, string, op, found); else @@ -249,10 +249,10 @@ static void specialformat(char* string) } strcpy(string, str); } - else if((string[len-1]=='+' and string[len-2]=='+') or (string[len-1]=='-' and string[len-2]=='-')) //eax++/eax-- + else if((string[len - 1] == '+' and string[len - 2] == '+') or (string[len - 1] == '-' and string[len - 2] == '-')) //eax++/eax-- { - string[len-2]=0; - char op=string[len-1]; + string[len - 2] = 0; + char op = string[len - 1]; if(isvalidexpression(string)) sprintf(str, "mov %s,%s%c1", string, string, op); else @@ -268,11 +268,11 @@ static void specialformat(char* string) */ COMMAND* cmdfindmain(COMMAND* cmd_list, char* command) { - COMMAND* cmd=cmdfind(cmd_list, command, 0); + COMMAND* cmd = cmdfind(cmd_list, command, 0); if(!cmd) { specialformat(command); - cmd=cmdget(cmd_list, command); + cmd = cmdget(cmd_list, command); } if(!cmd or !cmd->cbCommand) mathformat(command); @@ -283,26 +283,26 @@ CMDRESULT cmddirectexec(COMMAND* cmd_list, const char* cmd) { if(!cmd or !strlen(cmd)) return STATUS_ERROR; - char command[deflen]=""; + char command[deflen] = ""; strcpy(command, cmd); argformat(command); - COMMAND* found=cmdfindmain(cmd_list, command); + COMMAND* found = cmdfindmain(cmd_list, command); if(!found or !found->cbCommand) return STATUS_ERROR; if(found->debugonly and !DbgIsDebugging()) return STATUS_ERROR; - int argcount=arggetcount(command); - char** argv=(char**)emalloc((argcount+1)*sizeof(char*), "cmddirectexec:argv"); - argv[0]=command; - for(int i=0; icbCommand(argcount+1, argv); - for(int i=0; icbCommand(argcount + 1, argv); + for(int i = 0; i < argcount; i++) + efree(argv[i + 1], "cmddirectexec:argv[i+1]"); efree(argv, "cmddirectexec:argv"); return res; } diff --git a/x64_dbg_dbg/command.h b/x64_dbg_dbg/command.h index def51fec..c2f38f42 100644 --- a/x64_dbg_dbg/command.h +++ b/x64_dbg_dbg/command.h @@ -9,13 +9,13 @@ struct COMMAND; enum CMDRESULT { - STATUS_ERROR=false, - STATUS_CONTINUE=true, - STATUS_EXIT=2, - STATUS_PAUSE=3 + STATUS_ERROR = false, + STATUS_CONTINUE = true, + STATUS_EXIT = 2, + STATUS_PAUSE = 3 }; -typedef CMDRESULT (*CBCOMMAND)(int, char**); +typedef CMDRESULT(*CBCOMMAND)(int, char**); typedef bool (*CBCOMMANDPROVIDER)(char*, int); typedef COMMAND* (*CBCOMMANDFINDER)(COMMAND*, char*); diff --git a/x64_dbg_dbg/console.cpp b/x64_dbg_dbg/console.cpp index dfbec136..de10e662 100644 --- a/x64_dbg_dbg/console.cpp +++ b/x64_dbg_dbg/console.cpp @@ -11,7 +11,7 @@ void dprintf(const char* format, ...) { va_list args; va_start(args, format); - *msg=0; + *msg = 0; vsnprintf(msg, sizeof(msg), format, args); GuiAddLogMessage(msg); } diff --git a/x64_dbg_dbg/dbghelp/dbghelp.h b/x64_dbg_dbg/dbghelp/dbghelp.h index 1bd54793..19eda7b4 100644 --- a/x64_dbg_dbg/dbghelp/dbghelp.h +++ b/x64_dbg_dbg/dbghelp/dbghelp.h @@ -141,7 +141,7 @@ typedef struct _LOADED_IMAGE #define ERROR_NO_PDB_POINTER 0x8802 // image does not point to a pdb file typedef BOOL -(CALLBACK *PFIND_DEBUG_FILE_CALLBACK)( +(CALLBACK* PFIND_DEBUG_FILE_CALLBACK)( __in HANDLE FileHandle, __in PCSTR FileName, __in PVOID CallerData @@ -158,7 +158,7 @@ SymFindDebugInfoFile( ); typedef BOOL -(CALLBACK *PFIND_DEBUG_FILE_CALLBACKW)( +(CALLBACK* PFIND_DEBUG_FILE_CALLBACKW)( __in HANDLE FileHandle, __in PCWSTR FileName, __in PVOID CallerData @@ -176,7 +176,7 @@ SymFindDebugInfoFileW( HANDLE IMAGEAPI -FindDebugInfoFile ( +FindDebugInfoFile( __in PCSTR FileName, __in PCSTR SymbolPath, __out_ecount(MAX_PATH + 1) PSTR DebugFilePath @@ -184,7 +184,7 @@ FindDebugInfoFile ( HANDLE IMAGEAPI -FindDebugInfoFileEx ( +FindDebugInfoFileEx( __in PCSTR FileName, __in PCSTR SymbolPath, __out_ecount(MAX_PATH + 1) PSTR DebugFilePath, @@ -194,7 +194,7 @@ FindDebugInfoFileEx ( HANDLE IMAGEAPI -FindDebugInfoFileExW ( +FindDebugInfoFileExW( __in PCWSTR FileName, __in PCWSTR SymbolPath, __out_ecount(MAX_PATH + 1) PWSTR DebugFilePath, @@ -203,7 +203,7 @@ FindDebugInfoFileExW ( ); typedef BOOL -(CALLBACK *PFINDFILEINPATHCALLBACK)( +(CALLBACK* PFINDFILEINPATHCALLBACK)( __in PCSTR filename, __in PVOID context ); @@ -224,7 +224,7 @@ SymFindFileInPath( ); typedef BOOL -(CALLBACK *PFINDFILEINPATHCALLBACKW)( +(CALLBACK* PFINDFILEINPATHCALLBACKW)( __in PCWSTR filename, __in PVOID context ); @@ -245,7 +245,7 @@ SymFindFileInPathW( ); typedef BOOL -(CALLBACK *PFIND_EXE_FILE_CALLBACK)( +(CALLBACK* PFIND_EXE_FILE_CALLBACK)( __in HANDLE FileHandle, __in PCSTR FileName, __in_opt PVOID CallerData @@ -262,7 +262,7 @@ SymFindExecutableImage( ); typedef BOOL -(CALLBACK *PFIND_EXE_FILE_CALLBACKW)( +(CALLBACK* PFIND_EXE_FILE_CALLBACKW)( __in HANDLE FileHandle, __in PCWSTR FileName, __in_opt PVOID CallerData @@ -308,23 +308,23 @@ FindExecutableImageExW( PIMAGE_NT_HEADERS IMAGEAPI -ImageNtHeader ( +ImageNtHeader( __in PVOID Base ); PVOID IMAGEAPI -ImageDirectoryEntryToDataEx ( +ImageDirectoryEntryToDataEx( __in PVOID Base, __in BOOLEAN MappedAsImage, __in USHORT DirectoryEntry, __out PULONG Size, - __out_opt PIMAGE_SECTION_HEADER *FoundHeader + __out_opt PIMAGE_SECTION_HEADER* FoundHeader ); PVOID IMAGEAPI -ImageDirectoryEntryToData ( +ImageDirectoryEntryToData( __in PVOID Base, __in BOOLEAN MappedAsImage, __in USHORT DirectoryEntry, @@ -345,7 +345,7 @@ ImageRvaToVa( __in PIMAGE_NT_HEADERS NtHeaders, __in PVOID Base, __in ULONG Rva, - __in_opt OUT PIMAGE_SECTION_HEADER *LastRvaSection + __in_opt OUT PIMAGE_SECTION_HEADER* LastRvaSection ); #ifndef _WIN64 @@ -433,7 +433,7 @@ SearchTreeForFileW( ); typedef BOOL -(CALLBACK *PENUMDIRTREE_CALLBACK)( +(CALLBACK* PENUMDIRTREE_CALLBACK)( __in PCSTR FilePath, __in_opt PVOID CallerData ); @@ -450,7 +450,7 @@ EnumDirTree( ); typedef BOOL -(CALLBACK *PENUMDIRTREE_CALLBACKW)( +(CALLBACK* PENUMDIRTREE_CALLBACKW)( __in PCWSTR FilePath, __in_opt PVOID CallerData ); @@ -800,7 +800,7 @@ typedef struct _tagSTACKFRAME typedef BOOL -(__stdcall *PREAD_PROCESS_MEMORY_ROUTINE64)( +(__stdcall* PREAD_PROCESS_MEMORY_ROUTINE64)( __in HANDLE hProcess, __in DWORD64 qwBaseAddress, __out_bcount(nSize) PVOID lpBuffer, @@ -810,21 +810,21 @@ BOOL typedef PVOID -(__stdcall *PFUNCTION_TABLE_ACCESS_ROUTINE64)( +(__stdcall* PFUNCTION_TABLE_ACCESS_ROUTINE64)( __in HANDLE ahProcess, __in DWORD64 AddrBase ); typedef DWORD64 -(__stdcall *PGET_MODULE_BASE_ROUTINE64)( +(__stdcall* PGET_MODULE_BASE_ROUTINE64)( __in HANDLE hProcess, __in DWORD64 Address ); typedef DWORD64 -(__stdcall *PTRANSLATE_ADDRESS_ROUTINE64)( +(__stdcall* PTRANSLATE_ADDRESS_ROUTINE64)( __in HANDLE hProcess, __in HANDLE hThread, __in LPADDRESS64 lpaddr @@ -857,7 +857,7 @@ StackWalk64( typedef BOOL -(__stdcall *PREAD_PROCESS_MEMORY_ROUTINE)( +(__stdcall* PREAD_PROCESS_MEMORY_ROUTINE)( __in HANDLE hProcess, __in DWORD lpBaseAddress, __out_bcount(nSize) PVOID lpBuffer, @@ -867,21 +867,21 @@ BOOL typedef PVOID -(__stdcall *PFUNCTION_TABLE_ACCESS_ROUTINE)( +(__stdcall* PFUNCTION_TABLE_ACCESS_ROUTINE)( __in HANDLE hProcess, __in DWORD AddrBase ); typedef DWORD -(__stdcall *PGET_MODULE_BASE_ROUTINE)( +(__stdcall* PGET_MODULE_BASE_ROUTINE)( __in HANDLE hProcess, __in DWORD Address ); typedef DWORD -(__stdcall *PTRANSLATE_ADDRESS_ROUTINE)( +(__stdcall* PTRANSLATE_ADDRESS_ROUTINE)( __in HANDLE hProcess, __in HANDLE hThread, __out LPADDRESS lpaddr @@ -936,21 +936,21 @@ GetTimestampForLoadedLibrary( // typedefs for function pointers // typedef BOOL -(CALLBACK *PSYM_ENUMMODULES_CALLBACK64)( +(CALLBACK* PSYM_ENUMMODULES_CALLBACK64)( __in PCSTR ModuleName, __in DWORD64 BaseOfDll, __in_opt PVOID UserContext ); typedef BOOL -(CALLBACK *PSYM_ENUMMODULES_CALLBACKW64)( +(CALLBACK* PSYM_ENUMMODULES_CALLBACKW64)( __in PCWSTR ModuleName, __in DWORD64 BaseOfDll, __in_opt PVOID UserContext ); typedef BOOL -(CALLBACK *PENUMLOADED_MODULES_CALLBACK64)( +(CALLBACK* PENUMLOADED_MODULES_CALLBACK64)( __in PCSTR ModuleName, __in DWORD64 ModuleBase, __in ULONG ModuleSize, @@ -958,7 +958,7 @@ typedef BOOL ); typedef BOOL -(CALLBACK *PENUMLOADED_MODULES_CALLBACKW64)( +(CALLBACK* PENUMLOADED_MODULES_CALLBACKW64)( __in PCWSTR ModuleName, __in DWORD64 ModuleBase, __in ULONG ModuleSize, @@ -966,7 +966,7 @@ typedef BOOL ); typedef BOOL -(CALLBACK *PSYM_ENUMSYMBOLS_CALLBACK64)( +(CALLBACK* PSYM_ENUMSYMBOLS_CALLBACK64)( __in PCSTR SymbolName, __in DWORD64 SymbolAddress, __in ULONG SymbolSize, @@ -974,7 +974,7 @@ typedef BOOL ); typedef BOOL -(CALLBACK *PSYM_ENUMSYMBOLS_CALLBACK64W)( +(CALLBACK* PSYM_ENUMSYMBOLS_CALLBACK64W)( __in PCWSTR SymbolName, __in DWORD64 SymbolAddress, __in ULONG SymbolSize, @@ -982,7 +982,7 @@ typedef BOOL ); typedef BOOL -(CALLBACK *PSYMBOL_REGISTERED_CALLBACK64)( +(CALLBACK* PSYMBOL_REGISTERED_CALLBACK64)( __in HANDLE hProcess, __in ULONG ActionCode, __in_opt ULONG64 CallbackData, @@ -991,7 +991,7 @@ typedef BOOL typedef PVOID -(CALLBACK *PSYMBOL_FUNCENTRY_CALLBACK)( +(CALLBACK* PSYMBOL_FUNCENTRY_CALLBACK)( __in HANDLE hProcess, __in DWORD AddrBase, __in_opt PVOID UserContext @@ -999,7 +999,7 @@ PVOID typedef PVOID -(CALLBACK *PSYMBOL_FUNCENTRY_CALLBACK64)( +(CALLBACK* PSYMBOL_FUNCENTRY_CALLBACK64)( __in HANDLE hProcess, __in ULONG64 AddrBase, __in ULONG64 UserContext @@ -1017,14 +1017,14 @@ PVOID #else typedef BOOL -(CALLBACK *PSYM_ENUMMODULES_CALLBACK)( +(CALLBACK* PSYM_ENUMMODULES_CALLBACK)( __in PCSTR ModuleName, __in ULONG BaseOfDll, __in_opt PVOID UserContext ); typedef BOOL -(CALLBACK *PSYM_ENUMSYMBOLS_CALLBACK)( +(CALLBACK* PSYM_ENUMSYMBOLS_CALLBACK)( __in PCSTR SymbolName, __in ULONG SymbolAddress, __in ULONG SymbolSize, @@ -1032,7 +1032,7 @@ typedef BOOL ); typedef BOOL -(CALLBACK *PSYM_ENUMSYMBOLS_CALLBACKW)( +(CALLBACK* PSYM_ENUMSYMBOLS_CALLBACKW)( __in PCWSTR SymbolName, __in ULONG SymbolAddress, __in ULONG SymbolSize, @@ -1040,7 +1040,7 @@ typedef BOOL ); typedef BOOL -(CALLBACK *PENUMLOADED_MODULES_CALLBACK)( +(CALLBACK* PENUMLOADED_MODULES_CALLBACK)( __in PCSTR ModuleName, __in ULONG ModuleBase, __in ULONG ModuleSize, @@ -1048,7 +1048,7 @@ typedef BOOL ); typedef BOOL -(CALLBACK *PSYMBOL_REGISTERED_CALLBACK)( +(CALLBACK* PSYMBOL_REGISTERED_CALLBACK)( __in HANDLE hProcess, __in ULONG ActionCode, __in_opt PVOID CallbackData, @@ -1416,7 +1416,7 @@ typedef struct _IMAGEHLP_CBA_READ_MEMORY DWORD64 addr; // address to read from PVOID buf; // buffer to read to DWORD bytes; // amount of bytes to read - DWORD *bytesread; // pointer to store amount of bytes read + DWORD* bytesread; // pointer to store amount of bytes read } IMAGEHLP_CBA_READ_MEMORY, *PIMAGEHLP_CBA_READ_MEMORY; enum @@ -1569,9 +1569,9 @@ IMAGEAPI SymGetOmaps( __in HANDLE hProcess, __in DWORD64 BaseOfDll, - __out POMAP *OmapTo, + __out POMAP* OmapTo, __out PDWORD64 cOmapTo, - __out POMAP *OmapFrom, + __out POMAP* OmapFrom, __out PDWORD64 cOmapFrom ); @@ -1651,7 +1651,7 @@ SymMatchStringW( ); typedef BOOL -(CALLBACK *PSYM_ENUMSOURCEFILES_CALLBACK)( +(CALLBACK* PSYM_ENUMSOURCEFILES_CALLBACK)( __in PSOURCEFILE pSourceFile, __in_opt PVOID UserContext ); @@ -1670,7 +1670,7 @@ SymEnumSourceFiles( ); typedef BOOL -(CALLBACK *PSYM_ENUMSOURCEFILES_CALLBACKW)( +(CALLBACK* PSYM_ENUMSOURCEFILES_CALLBACKW)( __in PSOURCEFILEW pSourceFile, __in_opt PVOID UserContext ); @@ -1862,7 +1862,7 @@ typedef struct _SRCCODEINFOW } SRCCODEINFOW, *PSRCCODEINFOW; typedef BOOL -(CALLBACK *PSYM_ENUMLINES_CALLBACK)( +(CALLBACK* PSYM_ENUMLINES_CALLBACK)( __in PSRCCODEINFO LineInfo, __in_opt PVOID UserContext ); @@ -1879,7 +1879,7 @@ SymEnumLines( ); typedef BOOL -(CALLBACK *PSYM_ENUMLINES_CALLBACKW)( +(CALLBACK* PSYM_ENUMLINES_CALLBACKW)( __in PSRCCODEINFOW LineInfo, __in_opt PVOID UserContext ); @@ -2085,8 +2085,8 @@ IMAGEAPI SymMatchFileName( __in PCSTR FileName, __in PCSTR Match, - __deref_opt_out PSTR *FileNameStop, - __deref_opt_out PSTR *MatchStop + __deref_opt_out PSTR* FileNameStop, + __deref_opt_out PSTR* MatchStop ); BOOL @@ -2094,8 +2094,8 @@ IMAGEAPI SymMatchFileNameW( __in PCWSTR FileName, __in PCWSTR Match, - __deref_opt_out PWSTR *FileNameStop, - __deref_opt_out PWSTR *MatchStop + __deref_opt_out PWSTR* FileNameStop, + __deref_opt_out PWSTR* MatchStop ); BOOL @@ -2126,8 +2126,8 @@ SymGetSourceFileToken( __in HANDLE hProcess, __in ULONG64 Base, __in PCSTR FileSpec, - __deref_out PVOID *Token, - __out DWORD *Size + __deref_out PVOID* Token, + __out DWORD* Size ); BOOL @@ -2136,8 +2136,8 @@ SymGetSourceFileTokenW( __in HANDLE hProcess, __in ULONG64 Base, __in PCWSTR FileSpec, - __deref_out PVOID *Token, - __out DWORD *Size + __deref_out PVOID* Token, + __out DWORD* Size ); BOOL @@ -2182,7 +2182,7 @@ SymGetSourceVarFromTokenW( __in DWORD Size ); -typedef BOOL (CALLBACK *PENUMSOURCEFILETOKENSCALLBACK)(__in PVOID token, __in size_t size); +typedef BOOL (CALLBACK* PENUMSOURCEFILETOKENSCALLBACK)(__in PVOID token, __in size_t size); BOOL IMAGEAPI @@ -2457,7 +2457,7 @@ SymSetScopeFromIndex( ); typedef BOOL -(CALLBACK *PSYM_ENUMPROCESSES_CALLBACK)( +(CALLBACK* PSYM_ENUMPROCESSES_CALLBACK)( __in HANDLE hProcess, __in PVOID UserContext ); @@ -2556,7 +2556,7 @@ SymFromNameW( ); typedef BOOL -(CALLBACK *PSYM_ENUMERATESYMBOLS_CALLBACK)( +(CALLBACK* PSYM_ENUMERATESYMBOLS_CALLBACK)( __in PSYMBOL_INFO pSymInfo, __in ULONG SymbolSize, __in_opt PVOID UserContext @@ -2573,7 +2573,7 @@ SymEnumSymbols( ); typedef BOOL -(CALLBACK *PSYM_ENUMERATESYMBOLS_CALLBACKW)( +(CALLBACK* PSYM_ENUMERATESYMBOLS_CALLBACKW)( __in PSYMBOL_INFOW pSymInfo, __in ULONG SymbolSize, __in_opt PVOID UserContext @@ -2878,7 +2878,7 @@ SymAddSourceStream( __in size_t Size ); -typedef BOOL (WINAPI *SYMADDSOURCESTREAM)(HANDLE, ULONG64, PCSTR, PBYTE, size_t); +typedef BOOL (WINAPI* SYMADDSOURCESTREAM)(HANDLE, ULONG64, PCSTR, PBYTE, size_t); BOOL IMAGEAPI @@ -2890,7 +2890,7 @@ SymAddSourceStreamA( __in size_t Size ); -typedef BOOL (WINAPI *SYMADDSOURCESTREAMA)(HANDLE, ULONG64, PCSTR, PBYTE, size_t); +typedef BOOL (WINAPI* SYMADDSOURCESTREAMA)(HANDLE, ULONG64, PCSTR, PBYTE, size_t); BOOL IMAGEAPI @@ -2958,7 +2958,7 @@ BOOL IMAGEAPI SymSrvGetFileIndexes( __in PCSTR File, - __out GUID *Id, + __out GUID* Id, __out PDWORD Val1, __out_opt PDWORD Val2, __in DWORD Flags @@ -2968,7 +2968,7 @@ BOOL IMAGEAPI SymSrvGetFileIndexesW( __in PCWSTR File, - __out GUID *Id, + __out GUID* Id, __out PDWORD Val1, __out_opt PDWORD Val2, __in DWORD Flags @@ -2999,11 +2999,11 @@ SymSrvGetFileIndexString( typedef struct { DWORD sizeofstruct; - char file[MAX_PATH +1]; + char file[MAX_PATH + 1]; BOOL stripped; DWORD timestamp; DWORD size; - char dbgfile[MAX_PATH +1]; + char dbgfile[MAX_PATH + 1]; char pdbfile[MAX_PATH + 1]; GUID guid; DWORD sig; @@ -3013,11 +3013,11 @@ typedef struct typedef struct { DWORD sizeofstruct; - WCHAR file[MAX_PATH +1]; + WCHAR file[MAX_PATH + 1]; BOOL stripped; DWORD timestamp; DWORD size; - WCHAR dbgfile[MAX_PATH +1]; + WCHAR dbgfile[MAX_PATH + 1]; WCHAR pdbfile[MAX_PATH + 1]; GUID guid; DWORD sig; @@ -3119,7 +3119,7 @@ SymGetSymbolFileW( // Full user-mode dump creation. // -typedef BOOL (WINAPI *PDBGHELP_CREATE_USER_DUMP_CALLBACK)( +typedef BOOL (WINAPI* PDBGHELP_CREATE_USER_DUMP_CALLBACK)( __in DWORD DataType, __in PVOID* Data, __out LPDWORD DataLength, @@ -3199,36 +3199,36 @@ SymGetSymFromName( // Symbol server exports -typedef BOOL (WINAPI *PSYMBOLSERVERPROC)(PCSTR, PCSTR, PVOID, DWORD, DWORD, PSTR); -typedef BOOL (WINAPI *PSYMBOLSERVERPROCA)(PCSTR, PCSTR, PVOID, DWORD, DWORD, PSTR); -typedef BOOL (WINAPI *PSYMBOLSERVERPROCW)(PCWSTR, PCWSTR, PVOID, DWORD, DWORD, PWSTR); -typedef BOOL (WINAPI *PSYMBOLSERVERBYINDEXPROC)(PCSTR, PCSTR, PCSTR, PSTR); -typedef BOOL (WINAPI *PSYMBOLSERVERBYINDEXPROCA)(PCSTR, PCSTR, PCSTR, PSTR); -typedef BOOL (WINAPI *PSYMBOLSERVERBYINDEXPROCW)(PCWSTR, PCWSTR, PCWSTR, PWSTR); -typedef BOOL (WINAPI *PSYMBOLSERVEROPENPROC)(VOID); -typedef BOOL (WINAPI *PSYMBOLSERVERCLOSEPROC)(VOID); -typedef BOOL (WINAPI *PSYMBOLSERVERSETOPTIONSPROC)(UINT_PTR, ULONG64); -typedef BOOL (WINAPI *PSYMBOLSERVERSETOPTIONSWPROC)(UINT_PTR, ULONG64); -typedef BOOL (CALLBACK WINAPI *PSYMBOLSERVERCALLBACKPROC)(UINT_PTR action, ULONG64 data, ULONG64 context); -typedef UINT_PTR (WINAPI *PSYMBOLSERVERGETOPTIONSPROC)(); -typedef BOOL (WINAPI *PSYMBOLSERVERPINGPROC)(PCSTR); -typedef BOOL (WINAPI *PSYMBOLSERVERPINGPROCA)(PCSTR); -typedef BOOL (WINAPI *PSYMBOLSERVERPINGPROCW)(PCWSTR); -typedef BOOL (WINAPI *PSYMBOLSERVERGETVERSION)(LPAPI_VERSION); -typedef BOOL (WINAPI *PSYMBOLSERVERDELTANAME)(PCSTR, PVOID, DWORD, DWORD, PVOID, DWORD, DWORD, PSTR, size_t); -typedef BOOL (WINAPI *PSYMBOLSERVERDELTANAMEW)(PCWSTR, PVOID, DWORD, DWORD, PVOID, DWORD, DWORD, PWSTR, size_t); -typedef BOOL (WINAPI *PSYMBOLSERVERGETSUPPLEMENT)(PCSTR, PCSTR, PCSTR, PSTR, size_t); -typedef BOOL (WINAPI *PSYMBOLSERVERGETSUPPLEMENTW)(PCWSTR, PCWSTR, PCWSTR, PWSTR, size_t); -typedef BOOL (WINAPI *PSYMBOLSERVERSTORESUPPLEMENT)(PCSTR, PCSTR, PCSTR, PSTR, size_t, DWORD); -typedef BOOL (WINAPI *PSYMBOLSERVERSTORESUPPLEMENTW)(PCWSTR, PCWSTR, PCWSTR, PWSTR, size_t, DWORD); -typedef BOOL (WINAPI *PSYMBOLSERVERGETINDEXSTRING)(PVOID, DWORD, DWORD, PSTR, size_t); -typedef BOOL (WINAPI *PSYMBOLSERVERGETINDEXSTRINGW)(PVOID, DWORD, DWORD, PWSTR, size_t); -typedef BOOL (WINAPI *PSYMBOLSERVERSTOREFILE)(PCSTR, PCSTR, PVOID, DWORD, DWORD, PSTR, size_t, DWORD); -typedef BOOL (WINAPI *PSYMBOLSERVERSTOREFILEW)(PCWSTR, PCWSTR, PVOID, DWORD, DWORD, PWSTR, size_t, DWORD); -typedef BOOL (WINAPI *PSYMBOLSERVERISSTORE)(PCSTR); -typedef BOOL (WINAPI *PSYMBOLSERVERISSTOREW)(PCWSTR); -typedef DWORD (WINAPI *PSYMBOLSERVERVERSION)(); -typedef BOOL (CALLBACK WINAPI *PSYMBOLSERVERMESSAGEPROC)(UINT_PTR action, ULONG64 data, ULONG64 context); +typedef BOOL (WINAPI* PSYMBOLSERVERPROC)(PCSTR, PCSTR, PVOID, DWORD, DWORD, PSTR); +typedef BOOL (WINAPI* PSYMBOLSERVERPROCA)(PCSTR, PCSTR, PVOID, DWORD, DWORD, PSTR); +typedef BOOL (WINAPI* PSYMBOLSERVERPROCW)(PCWSTR, PCWSTR, PVOID, DWORD, DWORD, PWSTR); +typedef BOOL (WINAPI* PSYMBOLSERVERBYINDEXPROC)(PCSTR, PCSTR, PCSTR, PSTR); +typedef BOOL (WINAPI* PSYMBOLSERVERBYINDEXPROCA)(PCSTR, PCSTR, PCSTR, PSTR); +typedef BOOL (WINAPI* PSYMBOLSERVERBYINDEXPROCW)(PCWSTR, PCWSTR, PCWSTR, PWSTR); +typedef BOOL (WINAPI* PSYMBOLSERVEROPENPROC)(VOID); +typedef BOOL (WINAPI* PSYMBOLSERVERCLOSEPROC)(VOID); +typedef BOOL (WINAPI* PSYMBOLSERVERSETOPTIONSPROC)(UINT_PTR, ULONG64); +typedef BOOL (WINAPI* PSYMBOLSERVERSETOPTIONSWPROC)(UINT_PTR, ULONG64); +typedef BOOL (CALLBACK WINAPI* PSYMBOLSERVERCALLBACKPROC)(UINT_PTR action, ULONG64 data, ULONG64 context); +typedef UINT_PTR(WINAPI* PSYMBOLSERVERGETOPTIONSPROC)(); +typedef BOOL (WINAPI* PSYMBOLSERVERPINGPROC)(PCSTR); +typedef BOOL (WINAPI* PSYMBOLSERVERPINGPROCA)(PCSTR); +typedef BOOL (WINAPI* PSYMBOLSERVERPINGPROCW)(PCWSTR); +typedef BOOL (WINAPI* PSYMBOLSERVERGETVERSION)(LPAPI_VERSION); +typedef BOOL (WINAPI* PSYMBOLSERVERDELTANAME)(PCSTR, PVOID, DWORD, DWORD, PVOID, DWORD, DWORD, PSTR, size_t); +typedef BOOL (WINAPI* PSYMBOLSERVERDELTANAMEW)(PCWSTR, PVOID, DWORD, DWORD, PVOID, DWORD, DWORD, PWSTR, size_t); +typedef BOOL (WINAPI* PSYMBOLSERVERGETSUPPLEMENT)(PCSTR, PCSTR, PCSTR, PSTR, size_t); +typedef BOOL (WINAPI* PSYMBOLSERVERGETSUPPLEMENTW)(PCWSTR, PCWSTR, PCWSTR, PWSTR, size_t); +typedef BOOL (WINAPI* PSYMBOLSERVERSTORESUPPLEMENT)(PCSTR, PCSTR, PCSTR, PSTR, size_t, DWORD); +typedef BOOL (WINAPI* PSYMBOLSERVERSTORESUPPLEMENTW)(PCWSTR, PCWSTR, PCWSTR, PWSTR, size_t, DWORD); +typedef BOOL (WINAPI* PSYMBOLSERVERGETINDEXSTRING)(PVOID, DWORD, DWORD, PSTR, size_t); +typedef BOOL (WINAPI* PSYMBOLSERVERGETINDEXSTRINGW)(PVOID, DWORD, DWORD, PWSTR, size_t); +typedef BOOL (WINAPI* PSYMBOLSERVERSTOREFILE)(PCSTR, PCSTR, PVOID, DWORD, DWORD, PSTR, size_t, DWORD); +typedef BOOL (WINAPI* PSYMBOLSERVERSTOREFILEW)(PCWSTR, PCWSTR, PVOID, DWORD, DWORD, PWSTR, size_t, DWORD); +typedef BOOL (WINAPI* PSYMBOLSERVERISSTORE)(PCSTR); +typedef BOOL (WINAPI* PSYMBOLSERVERISSTOREW)(PCWSTR); +typedef DWORD (WINAPI* PSYMBOLSERVERVERSION)(); +typedef BOOL (CALLBACK WINAPI* PSYMBOLSERVERMESSAGEPROC)(UINT_PTR action, ULONG64 data, ULONG64 context); #define SYMSRV_VERSION 2 @@ -3857,7 +3857,7 @@ typedef struct _MINIDUMP_SYSTEM_INFO // ThreadId must be 4 bytes on all architectures. // -C_ASSERT (sizeof ( ((PPROCESS_INFORMATION)0)->dwThreadId ) == 4); +C_ASSERT(sizeof(((PPROCESS_INFORMATION)0)->dwThreadId) == 4); typedef struct _MINIDUMP_THREAD { @@ -4061,7 +4061,7 @@ typedef struct _MINIDUMP_HANDLE_DESCRIPTOR_2 // The latest MINIDUMP_HANDLE_DESCRIPTOR definition. typedef MINIDUMP_HANDLE_DESCRIPTOR_2 MINIDUMP_HANDLE_DESCRIPTOR_N; -typedef MINIDUMP_HANDLE_DESCRIPTOR_N *PMINIDUMP_HANDLE_DESCRIPTOR_N; +typedef MINIDUMP_HANDLE_DESCRIPTOR_N* PMINIDUMP_HANDLE_DESCRIPTOR_N; typedef struct _MINIDUMP_HANDLE_DATA_STREAM { @@ -4603,7 +4603,7 @@ typedef enum _MINIDUMP_SECONDARY_FLAGS typedef BOOL -(WINAPI * MINIDUMP_CALLBACK_ROUTINE) ( +(WINAPI* MINIDUMP_CALLBACK_ROUTINE)( __inout PVOID CallbackParam, __in PMINIDUMP_CALLBACK_INPUT CallbackInput, __inout PMINIDUMP_CALLBACK_OUTPUT CallbackOutput @@ -4661,9 +4661,9 @@ WINAPI MiniDumpReadDumpStream( __in PVOID BaseOfDump, __in ULONG StreamNumber, - __deref_out_opt PMINIDUMP_DIRECTORY * Dir, - __deref_out_opt PVOID * StreamPointer, - __out_opt ULONG * StreamSize + __deref_out_opt PMINIDUMP_DIRECTORY* Dir, + __deref_out_opt PVOID* StreamPointer, + __out_opt ULONG* StreamSize ); #pragma pack(pop) diff --git a/x64_dbg_dbg/debugger.cpp b/x64_dbg_dbg/debugger.cpp index 0bb69b5b..508403ff 100644 --- a/x64_dbg_dbg/debugger.cpp +++ b/x64_dbg_dbg/debugger.cpp @@ -11,27 +11,27 @@ #include "variable.h" #include "x64_dbg.h" -static PROCESS_INFORMATION g_pi= {0,0,0,0}; -static char szBaseFileName[MAX_PATH]=""; -static bool bFileIsDll=false; -static uint pDebuggedBase=0; -static uint pDebuggedEntry=0; -static bool isStepping=false; -static bool isPausedByUser=false; -static bool isDetachedByUser=false; -static bool bIsAttached=false; -static bool bSkipExceptions=false; -static bool bBreakOnNextDll=false; -static int ecount=0; +static PROCESS_INFORMATION g_pi = {0, 0, 0, 0}; +static char szBaseFileName[MAX_PATH] = ""; +static bool bFileIsDll = false; +static uint pDebuggedBase = 0; +static uint pDebuggedEntry = 0; +static bool isStepping = false; +static bool isPausedByUser = false; +static bool isDetachedByUser = false; +static bool bIsAttached = false; +static bool bSkipExceptions = false; +static bool bBreakOnNextDll = false; +static int ecount = 0; static std::vector ignoredExceptionRange; static std::map exceptionNames; -static SIZE_T cachePrivateUsage=0; +static SIZE_T cachePrivateUsage = 0; //Superglobal variables -char szFileName[MAX_PATH]=""; -char szSymbolCachePath[MAX_PATH]=""; -char sqlitedb[deflen]=""; -PROCESS_INFORMATION* fdProcessInfo=&g_pi; +char szFileName[MAX_PATH] = ""; +char szSymbolCachePath[MAX_PATH] = ""; +char sqlitedb[deflen] = ""; +PROCESS_INFORMATION* fdProcessInfo = &g_pi; HANDLE hActiveThread; static DWORD WINAPI memMapThread(void* ptr) @@ -40,7 +40,7 @@ static DWORD WINAPI memMapThread(void* ptr) { while(!DbgIsDebugging()) Sleep(1); - const SIZE_T PrivateUsage=dbggetprivateusage(fdProcessInfo->hProcess); + const SIZE_T PrivateUsage = dbggetprivateusage(fdProcessInfo->hProcess); if(cachePrivateUsage != PrivateUsage && !dbgisrunning()) //update the memory map when { cachePrivateUsage = PrivateUsage; @@ -123,7 +123,7 @@ SIZE_T dbggetprivateusage(HANDLE hProcess, bool update) if(!GetProcessMemoryInfo(fdProcessInfo->hProcess, (PPROCESS_MEMORY_COUNTERS)&memoryCounters, sizeof(PROCESS_MEMORY_COUNTERS_EX))) return 0; if(update) - cachePrivateUsage=memoryCounters.PrivateUsage; + cachePrivateUsage = memoryCounters.PrivateUsage; return memoryCounters.PrivateUsage; } @@ -135,10 +135,10 @@ uint dbgdebuggedbase() void dbgdisablebpx() { std::vector list; - int bpcount=bpgetlist(&list); - for(int i=0; i list; - int bpcount=bpgetlist(&list); - for(int i=0; i=curStart && exception<=curEnd) + unsigned int curStart = ignoredExceptionRange.at(i).start; + unsigned int curEnd = ignoredExceptionRange.at(i).end; + if(exception >= curStart && exception <= curEnd) return true; } return false; @@ -232,25 +232,25 @@ DWORD WINAPI updateCallStackThread(void* ptr) void DebugUpdateGui(uint disasm_addr, bool stack) { - uint cip=GetContextDataEx(hActiveThread, UE_CIP); + uint cip = GetContextDataEx(hActiveThread, UE_CIP); if(memisvalidreadptr(fdProcessInfo->hProcess, disasm_addr)) GuiDisasmAt(disasm_addr, cip); - uint csp=GetContextDataEx(hActiveThread, UE_CSP); + uint csp = GetContextDataEx(hActiveThread, UE_CSP); if(stack) GuiStackDumpAt(csp, csp); - static uint cacheCsp=0; - if(csp!=cacheCsp) + static uint cacheCsp = 0; + if(csp != cacheCsp) { - cacheCsp=csp; + cacheCsp = csp; CloseHandle(CreateThread(0, 0, updateCallStackThread, 0, 0, 0)); } - char modname[MAX_MODULE_SIZE]=""; - char modtext[MAX_MODULE_SIZE*2]=""; + char modname[MAX_MODULE_SIZE] = ""; + char modtext[MAX_MODULE_SIZE * 2] = ""; if(!modnamefromaddr(disasm_addr, modname, true)) - *modname=0; + *modname = 0; else sprintf(modtext, "Module: %s - ", modname); - char title[1024]=""; + char title[1024] = ""; sprintf(title, "File: %s - PID: %X - %sThread: %X", szBaseFileName, fdProcessInfo->dwProcessId, modtext, threadgetid(hActiveThread)); GuiUpdateWindowTitle(title); GuiUpdateAllViews(); @@ -258,22 +258,22 @@ void DebugUpdateGui(uint disasm_addr, bool stack) void cbUserBreakpoint() { - hActiveThread=threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); + hActiveThread = threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); BREAKPOINT bp; BRIDGEBP pluginBp; PLUG_CB_BREAKPOINT bpInfo; - bpInfo.breakpoint=0; + bpInfo.breakpoint = 0; if(!bpget(GetContextDataEx(hActiveThread, UE_CIP), BPNORMAL, 0, &bp) and bp.enabled) dputs("breakpoint reached not in list!"); else { - const char* bptype="INT3"; - int titantype=bp.titantype; - if((titantype&UE_BREAKPOINT_TYPE_UD2)==UE_BREAKPOINT_TYPE_UD2) - bptype="UD2"; - else if((titantype&UE_BREAKPOINT_TYPE_LONG_INT3)==UE_BREAKPOINT_TYPE_LONG_INT3) - bptype="LONG INT3"; - const char* symbolicname=symgetsymbolicname(bp.addr); + const char* bptype = "INT3"; + int titantype = bp.titantype; + if((titantype & UE_BREAKPOINT_TYPE_UD2) == UE_BREAKPOINT_TYPE_UD2) + bptype = "UD2"; + else if((titantype & UE_BREAKPOINT_TYPE_LONG_INT3) == UE_BREAKPOINT_TYPE_LONG_INT3) + bptype = "LONG INT3"; + const char* symbolicname = symgetsymbolicname(bp.addr); if(symbolicname) { if(*bp.name) @@ -291,16 +291,16 @@ void cbUserBreakpoint() if(bp.singleshoot) bpdel(bp.addr, BPNORMAL); bptobridge(&bp, &pluginBp); - bpInfo.breakpoint=&pluginBp; + bpInfo.breakpoint = &pluginBp; } DebugUpdateGui(GetContextDataEx(hActiveThread, UE_CIP), true); GuiSetDebugState(paused); //lock lock(WAITID_RUN); SetForegroundWindow(GuiGetWindowHandle()); - bSkipExceptions=false; + bSkipExceptions = false; PLUG_CB_PAUSEDEBUG pauseInfo; - pauseInfo.reserved=0; + pauseInfo.reserved = 0; plugincbcall(CB_PAUSEDEBUG, &pauseInfo); plugincbcall(CB_BREAKPOINT, &bpInfo); wait(WAITID_RUN); @@ -308,49 +308,49 @@ void cbUserBreakpoint() void cbHardwareBreakpoint(void* ExceptionAddress) { - hActiveThread=threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); - uint cip=GetContextDataEx(hActiveThread, UE_CIP); + hActiveThread = threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); + uint cip = GetContextDataEx(hActiveThread, UE_CIP); BREAKPOINT bp; BRIDGEBP pluginBp; PLUG_CB_BREAKPOINT bpInfo; - bpInfo.breakpoint=0; + bpInfo.breakpoint = 0; if(!bpget((uint)ExceptionAddress, BPHARDWARE, 0, &bp)) dputs("hardware breakpoint reached not in list!"); else { - const char* bpsize=""; + const char* bpsize = ""; switch(TITANGETSIZE(bp.titantype)) //size { case UE_HARDWARE_SIZE_1: - bpsize="byte, "; + bpsize = "byte, "; break; case UE_HARDWARE_SIZE_2: - bpsize="word, "; + bpsize = "word, "; break; case UE_HARDWARE_SIZE_4: - bpsize="dword, "; + bpsize = "dword, "; break; #ifdef _WIN64 case UE_HARDWARE_SIZE_8: - bpsize="qword, "; + bpsize = "qword, "; break; #endif //_WIN64 } - const char* bptype=""; + const char* bptype = ""; switch(TITANGETTYPE(bp.titantype)) //type { case UE_HARDWARE_EXECUTE: - bptype="execute"; - bpsize=""; + bptype = "execute"; + bpsize = ""; break; case UE_HARDWARE_READWRITE: - bptype="read/write"; + bptype = "read/write"; break; case UE_HARDWARE_WRITE: - bptype="write"; + bptype = "write"; break; } - const char* symbolicname=symgetsymbolicname(bp.addr); + const char* symbolicname = symgetsymbolicname(bp.addr); if(symbolicname) { if(*bp.name) @@ -366,16 +366,16 @@ void cbHardwareBreakpoint(void* ExceptionAddress) dprintf("hardware breakpoint (%s%s) at "fhex"!\n", bpsize, bptype, bp.addr); } bptobridge(&bp, &pluginBp); - bpInfo.breakpoint=&pluginBp; + bpInfo.breakpoint = &pluginBp; } DebugUpdateGui(cip, true); GuiSetDebugState(paused); //lock lock(WAITID_RUN); SetForegroundWindow(GuiGetWindowHandle()); - bSkipExceptions=false; + bSkipExceptions = false; PLUG_CB_PAUSEDEBUG pauseInfo; - pauseInfo.reserved=0; + pauseInfo.reserved = 0; plugincbcall(CB_PAUSEDEBUG, &pauseInfo); plugincbcall(CB_BREAKPOINT, &bpInfo); wait(WAITID_RUN); @@ -383,35 +383,35 @@ void cbHardwareBreakpoint(void* ExceptionAddress) void cbMemoryBreakpoint(void* ExceptionAddress) { - hActiveThread=threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); - uint cip=GetContextDataEx(hActiveThread, UE_CIP); + hActiveThread = threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); + uint cip = GetContextDataEx(hActiveThread, UE_CIP); uint size; - uint base=memfindbaseaddr((uint)ExceptionAddress, &size, true); + uint base = memfindbaseaddr((uint)ExceptionAddress, &size, true); BREAKPOINT bp; BRIDGEBP pluginBp; PLUG_CB_BREAKPOINT bpInfo; - bpInfo.breakpoint=0; + bpInfo.breakpoint = 0; if(!bpget(base, BPMEMORY, 0, &bp)) dputs("memory breakpoint reached not in list!"); else { - const char* bptype=""; + const char* bptype = ""; switch(bp.titantype) { case UE_MEMORY_READ: - bptype=" (read)"; + bptype = " (read)"; break; case UE_MEMORY_WRITE: - bptype=" (write)"; + bptype = " (write)"; break; case UE_MEMORY_EXECUTE: - bptype=" (execute)"; + bptype = " (execute)"; break; case UE_MEMORY: - bptype=" (read/write/execute)"; + bptype = " (read/write/execute)"; break; } - const char* symbolicname=symgetsymbolicname(bp.addr); + const char* symbolicname = symgetsymbolicname(bp.addr); if(symbolicname) { if(*bp.name) @@ -427,7 +427,7 @@ void cbMemoryBreakpoint(void* ExceptionAddress) dprintf("memory breakpoint%s at "fhex" ("fhex")!\n", bptype, bp.addr, ExceptionAddress); } bptobridge(&bp, &pluginBp); - bpInfo.breakpoint=&pluginBp; + bpInfo.breakpoint = &pluginBp; } if(bp.singleshoot) bpdel(bp.addr, BPMEMORY); //delete from breakpoint list @@ -436,9 +436,9 @@ void cbMemoryBreakpoint(void* ExceptionAddress) //lock lock(WAITID_RUN); SetForegroundWindow(GuiGetWindowHandle()); - bSkipExceptions=false; + bSkipExceptions = false; PLUG_CB_PAUSEDEBUG pauseInfo; - pauseInfo.reserved=0; + pauseInfo.reserved = 0; plugincbcall(CB_PAUSEDEBUG, &pauseInfo); plugincbcall(CB_BREAKPOINT, &bpInfo); wait(WAITID_RUN); @@ -446,7 +446,7 @@ void cbMemoryBreakpoint(void* ExceptionAddress) void cbLibrarianBreakpoint(void* lpData) { - bBreakOnNextDll=true; + bBreakOnNextDll = true; } static BOOL CALLBACK SymRegisterCallbackProc64(HANDLE hProcess, ULONG ActionCode, ULONG64 CallbackData, ULONG64 UserContext) @@ -454,51 +454,51 @@ static BOOL CALLBACK SymRegisterCallbackProc64(HANDLE hProcess, ULONG ActionCode UNREFERENCED_PARAMETER(hProcess); UNREFERENCED_PARAMETER(UserContext); PIMAGEHLP_CBA_EVENT evt; - switch (ActionCode) + switch(ActionCode) { case CBA_EVENT: { - evt=(PIMAGEHLP_CBA_EVENT)CallbackData; - const char* text=(const char*)evt->desc; + evt = (PIMAGEHLP_CBA_EVENT)CallbackData; + const char* text = (const char*)evt->desc; if(strstr(text, "Successfully received a response from the server.")) break; if(strstr(text, "Waiting for the server to respond to a request.")) break; - int len=(int)strlen(text); - bool suspress=false; - for(int i=0; iaddr, &size); if(!SetMemoryBPXEx(bp->addr, size, bp->titantype, !bp->singleshoot, (void*)cbMemoryBreakpoint)) dprintf("could not set memory breakpoint "fhex"!\n", bp->addr); @@ -544,7 +544,7 @@ static bool cbSetModuleBreakpoints(const BREAKPOINT* bp) case BPHARDWARE: { - DWORD drx=0; + DWORD drx = 0; if(!GetUnusedHardwareBreakPointRegister(&drx)) { dputs("you can only set 4 hardware breakpoints"); @@ -589,18 +589,18 @@ static bool cbRemoveModuleBreakpoints(const BREAKPOINT* bp) void cbStep() { - hActiveThread=threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); - isStepping=false; + hActiveThread = threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); + isStepping = false; DebugUpdateGui(GetContextDataEx(hActiveThread, UE_CIP), true); GuiSetDebugState(paused); PLUG_CB_STEPPED stepInfo; - stepInfo.reserved=0; + stepInfo.reserved = 0; //lock lock(WAITID_RUN); SetForegroundWindow(GuiGetWindowHandle()); - bSkipExceptions=false; + bSkipExceptions = false; PLUG_CB_PAUSEDEBUG pauseInfo; - pauseInfo.reserved=0; + pauseInfo.reserved = 0; plugincbcall(CB_PAUSEDEBUG, &pauseInfo); plugincbcall(CB_STEPPED, &stepInfo); wait(WAITID_RUN); @@ -608,31 +608,31 @@ void cbStep() static void cbRtrFinalStep() { - hActiveThread=threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); + hActiveThread = threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); DebugUpdateGui(GetContextDataEx(hActiveThread, UE_CIP), true); GuiSetDebugState(paused); //lock lock(WAITID_RUN); SetForegroundWindow(GuiGetWindowHandle()); - bSkipExceptions=false; + bSkipExceptions = false; PLUG_CB_PAUSEDEBUG pauseInfo; - pauseInfo.reserved=0; + pauseInfo.reserved = 0; plugincbcall(CB_PAUSEDEBUG, &pauseInfo); wait(WAITID_RUN); } static unsigned char getCIPch() { - unsigned char ch=0x90; - uint cip=GetContextDataEx(hActiveThread, UE_CIP); + unsigned char ch = 0x90; + uint cip = GetContextDataEx(hActiveThread, UE_CIP); memread(fdProcessInfo->hProcess, (void*)cip, &ch, 1, 0); return ch; } void cbRtrStep() { - unsigned int cipch=getCIPch(); - if(cipch==0xC3 or cipch==0xC2) + unsigned int cipch = getCIPch(); + if(cipch == 0xC3 or cipch == 0xC2) cbRtrFinalStep(); else StepOver((void*)cbRtrStep); @@ -641,8 +641,8 @@ void cbRtrStep() ///custom handlers static void cbCreateProcess(CREATE_PROCESS_DEBUG_INFO* CreateProcessInfo) { - void* base=CreateProcessInfo->lpBaseOfImage; - char DebugFileName[deflen]=""; + void* base = CreateProcessInfo->lpBaseOfImage; + char DebugFileName[deflen] = ""; if(!GetFileNameFromHandle(CreateProcessInfo->hFile, DebugFileName)) { if(!DevicePathFromFileHandleA(CreateProcessInfo->hFile, DebugFileName, deflen)) @@ -651,12 +651,12 @@ static void cbCreateProcess(CREATE_PROCESS_DEBUG_INFO* CreateProcessInfo) dprintf("Process Started: "fhex" %s\n", base, DebugFileName); //init program database - int len=(int)strlen(szFileName); - while(szFileName[len]!='\\' && len!=0) + int len = (int)strlen(szFileName); + while(szFileName[len] != '\\' && len != 0) len--; if(len) len++; - strcpy(sqlitedb, szFileName+len); + strcpy(sqlitedb, szFileName + len); #ifdef _WIN64 strcat(sqlitedb, ".dd64"); #else @@ -665,7 +665,7 @@ static void cbCreateProcess(CREATE_PROCESS_DEBUG_INFO* CreateProcessInfo) sprintf(dbpath, "%s\\%s", dbbasepath, sqlitedb); dprintf("Database file: %s\n", dbpath); dbload(); - SymSetOptions(SYMOPT_DEBUG|SYMOPT_LOAD_LINES|SYMOPT_ALLOW_ABSOLUTE_SYMBOLS|SYMOPT_FAVOR_COMPRESSED|SYMOPT_IGNORE_NT_SYMPATH); + SymSetOptions(SYMOPT_DEBUG | SYMOPT_LOAD_LINES | SYMOPT_ALLOW_ABSOLUTE_SYMBOLS | SYMOPT_FAVOR_COMPRESSED | SYMOPT_IGNORE_NT_SYMPATH); GuiSymbolLogClear(); char szServerSearchPath[MAX_PATH * 2] = ""; sprintf_s(szServerSearchPath, "SRV*%s", szSymbolCachePath); @@ -674,35 +674,35 @@ static void cbCreateProcess(CREATE_PROCESS_DEBUG_INFO* CreateProcessInfo) SymLoadModuleEx(fdProcessInfo->hProcess, CreateProcessInfo->hFile, DebugFileName, 0, (DWORD64)base, 0, 0, 0); IMAGEHLP_MODULE64 modInfo; memset(&modInfo, 0, sizeof(modInfo)); - modInfo.SizeOfStruct=sizeof(modInfo); + modInfo.SizeOfStruct = sizeof(modInfo); if(SymGetModuleInfo64(fdProcessInfo->hProcess, (DWORD64)base, &modInfo)) modload((uint)base, modInfo.ImageSize, modInfo.ImageName); dbggetprivateusage(fdProcessInfo->hProcess, true); memupdatemap(fdProcessInfo->hProcess); //update memory map - char modname[256]=""; + char modname[256] = ""; if(modnamefromaddr((uint)base, modname, true)) bpenumall(cbSetModuleBreakpoints, modname); GuiUpdateBreakpointsView(); if(!bFileIsDll and !bIsAttached) //Set entry breakpoint { - pDebuggedBase=(uint)CreateProcessInfo->lpBaseOfImage; //debugged base = executable - char command[256]=""; + pDebuggedBase = (uint)CreateProcessInfo->lpBaseOfImage; //debugged base = executable + char command[256] = ""; if(settingboolget("Events", "TlsCallbacks")) { - DWORD NumberOfCallBacks=0; + DWORD NumberOfCallBacks = 0; TLSGrabCallBackData(DebugFileName, 0, &NumberOfCallBacks); if(NumberOfCallBacks) { dprintf("TLS Callbacks: %d\n", NumberOfCallBacks); - uint* TLSCallBacks=(uint*)emalloc(NumberOfCallBacks*sizeof(uint), "cbCreateProcess:TLSCallBacks"); + uint* TLSCallBacks = (uint*)emalloc(NumberOfCallBacks * sizeof(uint), "cbCreateProcess:TLSCallBacks"); if(!TLSGrabCallBackData(DebugFileName, TLSCallBacks, &NumberOfCallBacks)) dputs("failed to get TLS callback addresses!"); else { - for(unsigned int i=0; ihThread; - threadInfo.lpStartAddress=CreateProcessInfo->lpStartAddress; - threadInfo.lpThreadLocalBase=CreateProcessInfo->lpThreadLocalBase; + threadInfo.hThread = CreateProcessInfo->hThread; + threadInfo.lpStartAddress = CreateProcessInfo->lpStartAddress; + threadInfo.lpThreadLocalBase = CreateProcessInfo->lpThreadLocalBase; threadcreate(&threadInfo); } static void cbExitProcess(EXIT_PROCESS_DEBUG_INFO* ExitProcess) { PLUG_CB_EXITPROCESS callbackInfo; - callbackInfo.ExitProcess=ExitProcess; + callbackInfo.ExitProcess = ExitProcess; plugincbcall(CB_EXITPROCESS, &callbackInfo); //Cleanup SymCleanup(fdProcessInfo->hProcess); @@ -746,19 +746,19 @@ static void cbExitProcess(EXIT_PROCESS_DEBUG_INFO* ExitProcess) static void cbCreateThread(CREATE_THREAD_DEBUG_INFO* CreateThread) { threadcreate(CreateThread); //update thread list - DWORD dwThreadId=((DEBUG_EVENT*)GetDebugData())->dwThreadId; - hActiveThread=threadgethandle(dwThreadId); + DWORD dwThreadId = ((DEBUG_EVENT*)GetDebugData())->dwThreadId; + hActiveThread = threadgethandle(dwThreadId); if(settingboolget("Events", "ThreadEntry")) { - char command[256]=""; + char command[256] = ""; sprintf(command, "bp "fhex",\"Thread %X\",ss", CreateThread->lpStartAddress, dwThreadId); cmddirectexec(dbggetcommandlist(), command); } PLUG_CB_CREATETHREAD callbackInfo; - callbackInfo.CreateThread=CreateThread; - callbackInfo.dwThreadId=dwThreadId; + callbackInfo.CreateThread = CreateThread; + callbackInfo.dwThreadId = dwThreadId; plugincbcall(CB_CREATETHREAD, &callbackInfo); dprintf("Thread %X created\n", dwThreadId); @@ -774,7 +774,7 @@ static void cbCreateThread(CREATE_THREAD_DEBUG_INFO* CreateThread) lock(WAITID_RUN); SetForegroundWindow(GuiGetWindowHandle()); PLUG_CB_PAUSEDEBUG pauseInfo; - pauseInfo.reserved=0; + pauseInfo.reserved = 0; plugincbcall(CB_PAUSEDEBUG, &pauseInfo); wait(WAITID_RUN); } @@ -782,11 +782,11 @@ static void cbCreateThread(CREATE_THREAD_DEBUG_INFO* CreateThread) static void cbExitThread(EXIT_THREAD_DEBUG_INFO* ExitThread) { - hActiveThread=threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); - DWORD dwThreadId=((DEBUG_EVENT*)GetDebugData())->dwThreadId; + hActiveThread = threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); + DWORD dwThreadId = ((DEBUG_EVENT*)GetDebugData())->dwThreadId; PLUG_CB_EXITTHREAD callbackInfo; - callbackInfo.ExitThread=ExitThread; - callbackInfo.dwThreadId=dwThreadId; + callbackInfo.ExitThread = ExitThread; + callbackInfo.dwThreadId = dwThreadId; plugincbcall(CB_EXITTHREAD, &callbackInfo); threadexit(dwThreadId); dprintf("Thread %X exit\n", dwThreadId); @@ -800,7 +800,7 @@ static void cbExitThread(EXIT_THREAD_DEBUG_INFO* ExitThread) lock(WAITID_RUN); SetForegroundWindow(GuiGetWindowHandle()); PLUG_CB_PAUSEDEBUG pauseInfo; - pauseInfo.reserved=0; + pauseInfo.reserved = 0; plugincbcall(CB_PAUSEDEBUG, &pauseInfo); wait(WAITID_RUN); } @@ -808,19 +808,19 @@ static void cbExitThread(EXIT_THREAD_DEBUG_INFO* ExitThread) static void cbSystemBreakpoint(void* ExceptionData) { - hActiveThread=threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); + hActiveThread = threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); //log message if(bIsAttached) dputs("attach breakpoint reached!"); else dputs("system breakpoint reached!"); - bSkipExceptions=false; //we are not skipping first-chance exceptions - uint cip=GetContextDataEx(hActiveThread, UE_CIP); + bSkipExceptions = false; //we are not skipping first-chance exceptions + uint cip = GetContextDataEx(hActiveThread, UE_CIP); GuiDumpAt(memfindbaseaddr(cip, 0, true)); //dump somewhere //plugin callbacks PLUG_CB_SYSTEMBREAKPOINT callbackInfo; - callbackInfo.reserved=0; + callbackInfo.reserved = 0; plugincbcall(CB_SYSTEMBREAKPOINT, &callbackInfo); if(bIsAttached ? settingboolget("Events", "AttachBreakpoint") : settingboolget("Events", "SystemBreakpoint")) @@ -832,7 +832,7 @@ static void cbSystemBreakpoint(void* ExceptionData) lock(WAITID_RUN); SetForegroundWindow(GuiGetWindowHandle()); PLUG_CB_PAUSEDEBUG pauseInfo; - pauseInfo.reserved=0; + pauseInfo.reserved = 0; plugincbcall(CB_PAUSEDEBUG, &pauseInfo); wait(WAITID_RUN); } @@ -840,9 +840,9 @@ static void cbSystemBreakpoint(void* ExceptionData) static void cbLoadDll(LOAD_DLL_DEBUG_INFO* LoadDll) { - hActiveThread=threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); - void* base=LoadDll->lpBaseOfDll; - char DLLDebugFileName[deflen]=""; + hActiveThread = threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); + void* base = LoadDll->lpBaseOfDll; + char DLLDebugFileName[deflen] = ""; if(!GetFileNameFromHandle(LoadDll->hFile, DLLDebugFileName)) { if(!DevicePathFromFileHandleA(LoadDll->hFile, DLLDebugFileName, deflen)) @@ -851,24 +851,24 @@ static void cbLoadDll(LOAD_DLL_DEBUG_INFO* LoadDll) SymLoadModuleEx(fdProcessInfo->hProcess, LoadDll->hFile, DLLDebugFileName, 0, (DWORD64)base, 0, 0, 0); IMAGEHLP_MODULE64 modInfo; memset(&modInfo, 0, sizeof(modInfo)); - modInfo.SizeOfStruct=sizeof(IMAGEHLP_MODULE64); + modInfo.SizeOfStruct = sizeof(IMAGEHLP_MODULE64); if(SymGetModuleInfo64(fdProcessInfo->hProcess, (DWORD64)base, &modInfo)) modload((uint)base, modInfo.ImageSize, modInfo.ImageName); dbggetprivateusage(fdProcessInfo->hProcess, true); memupdatemap(fdProcessInfo->hProcess); //update memory map - char modname[256]=""; + char modname[256] = ""; if(modnamefromaddr((uint)base, modname, true)) bpenumall(cbSetModuleBreakpoints, modname); GuiUpdateBreakpointsView(); - bool bAlreadySetEntry=false; + bool bAlreadySetEntry = false; if(bFileIsDll and !_stricmp(DLLDebugFileName, szFileName) and !bIsAttached) //Set entry breakpoint { - pDebuggedBase=(uint)base; - char command[256]=""; + pDebuggedBase = (uint)base; + char command[256] = ""; if(settingboolget("Events", "EntryBreakpoint")) { - bAlreadySetEntry=true; - sprintf(command, "bp "fhex",\"entry breakpoint\",ss", pDebuggedBase+pDebuggedEntry); + bAlreadySetEntry = true; + sprintf(command, "bp "fhex",\"entry breakpoint\",ss", pDebuggedBase + pDebuggedEntry); cmddirectexec(dbggetcommandlist(), command); } } @@ -876,11 +876,11 @@ static void cbLoadDll(LOAD_DLL_DEBUG_INFO* LoadDll) if((bBreakOnNextDll || settingboolget("Events", "DllEntry")) && !bAlreadySetEntry) { - uint oep=GetPE32Data(DLLDebugFileName, 0, UE_OEP); + uint oep = GetPE32Data(DLLDebugFileName, 0, UE_OEP); if(oep) { - char command[256]=""; - sprintf(command, "bp "fhex",\"DllMain (%s)\",ss", oep+(uint)base, modname); + char command[256] = ""; + sprintf(command, "bp "fhex",\"DllMain (%s)\",ss", oep + (uint)base, modname); cmddirectexec(dbggetcommandlist(), command); } } @@ -889,14 +889,14 @@ static void cbLoadDll(LOAD_DLL_DEBUG_INFO* LoadDll) //plugin callback PLUG_CB_LOADDLL callbackInfo; - callbackInfo.LoadDll=LoadDll; - callbackInfo.modInfo=&modInfo; - callbackInfo.modname=modname; + callbackInfo.LoadDll = LoadDll; + callbackInfo.modInfo = &modInfo; + callbackInfo.modname = modname; plugincbcall(CB_LOADDLL, &callbackInfo); if(bBreakOnNextDll || settingboolget("Events", "DllLoad")) { - bBreakOnNextDll=false; + bBreakOnNextDll = false; //update GUI DebugUpdateGui(GetContextDataEx(hActiveThread, UE_CIP), true); GuiSetDebugState(paused); @@ -904,7 +904,7 @@ static void cbLoadDll(LOAD_DLL_DEBUG_INFO* LoadDll) lock(WAITID_RUN); SetForegroundWindow(GuiGetWindowHandle()); PLUG_CB_PAUSEDEBUG pauseInfo; - pauseInfo.reserved=0; + pauseInfo.reserved = 0; plugincbcall(CB_PAUSEDEBUG, &pauseInfo); wait(WAITID_RUN); } @@ -912,13 +912,13 @@ static void cbLoadDll(LOAD_DLL_DEBUG_INFO* LoadDll) static void cbUnloadDll(UNLOAD_DLL_DEBUG_INFO* UnloadDll) { - hActiveThread=threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); + hActiveThread = threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); PLUG_CB_UNLOADDLL callbackInfo; - callbackInfo.UnloadDll=UnloadDll; + callbackInfo.UnloadDll = UnloadDll; plugincbcall(CB_UNLOADDLL, &callbackInfo); - void* base=UnloadDll->lpBaseOfDll; - char modname[256]="???"; + void* base = UnloadDll->lpBaseOfDll; + char modname[256] = "???"; if(modnamefromaddr((uint)base, modname, true)) bpenumall(cbRemoveModuleBreakpoints, modname); GuiUpdateBreakpointsView(); @@ -927,7 +927,7 @@ static void cbUnloadDll(UNLOAD_DLL_DEBUG_INFO* UnloadDll) if(bBreakOnNextDll || settingboolget("Events", "DllUnload")) { - bBreakOnNextDll=false; + bBreakOnNextDll = false; //update GUI DebugUpdateGui(GetContextDataEx(hActiveThread, UE_CIP), true); GuiSetDebugState(paused); @@ -935,7 +935,7 @@ static void cbUnloadDll(UNLOAD_DLL_DEBUG_INFO* UnloadDll) lock(WAITID_RUN); SetForegroundWindow(GuiGetWindowHandle()); PLUG_CB_PAUSEDEBUG pauseInfo; - pauseInfo.reserved=0; + pauseInfo.reserved = 0; plugincbcall(CB_PAUSEDEBUG, &pauseInfo); wait(WAITID_RUN); } @@ -945,54 +945,54 @@ static void cbUnloadDll(UNLOAD_DLL_DEBUG_INFO* UnloadDll) static void cbOutputDebugString(OUTPUT_DEBUG_STRING_INFO* DebugString) { - hActiveThread=threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); + hActiveThread = threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); PLUG_CB_OUTPUTDEBUGSTRING callbackInfo; - callbackInfo.DebugString=DebugString; + callbackInfo.DebugString = DebugString; plugincbcall(CB_OUTPUTDEBUGSTRING, &callbackInfo); if(!DebugString->fUnicode) //ASCII { - char* DebugText=(char*)emalloc(DebugString->nDebugStringLength+1, "cbOutputDebugString:DebugText"); - memset(DebugText, 0, DebugString->nDebugStringLength+1); + char* DebugText = (char*)emalloc(DebugString->nDebugStringLength + 1, "cbOutputDebugString:DebugText"); + memset(DebugText, 0, DebugString->nDebugStringLength + 1); if(memread(fdProcessInfo->hProcess, DebugString->lpDebugStringData, DebugText, DebugString->nDebugStringLength, 0)) { - int len=(int)strlen(DebugText); - int escape_count=0; - for(int i=0; idwThreadId); + hActiveThread = threadgethandle(((DEBUG_EVENT*)GetDebugData())->dwThreadId); PLUG_CB_EXCEPTION callbackInfo; - callbackInfo.Exception=ExceptionData; - unsigned int ExceptionCode=ExceptionData->ExceptionRecord.ExceptionCode; + callbackInfo.Exception = ExceptionData; + unsigned int ExceptionCode = ExceptionData->ExceptionRecord.ExceptionCode; GuiSetLastException(ExceptionCode); - uint addr=(uint)ExceptionData->ExceptionRecord.ExceptionAddress; - if(ExceptionData->ExceptionRecord.ExceptionCode==EXCEPTION_BREAKPOINT) + uint addr = (uint)ExceptionData->ExceptionRecord.ExceptionAddress; + if(ExceptionData->ExceptionRecord.ExceptionCode == EXCEPTION_BREAKPOINT) { if(isDetachedByUser) { PLUG_CB_DETACH detachInfo; - detachInfo.fdProcessInfo=fdProcessInfo; + detachInfo.fdProcessInfo = fdProcessInfo; plugincbcall(CB_DETACH, &detachInfo); if(!DetachDebuggerEx(fdProcessInfo->dwProcessId)) dputs("DetachDebuggerEx failed..."); else dputs("detached!"); - isDetachedByUser=false; + isDetachedByUser = false; return; } else if(isPausedByUser) @@ -1049,9 +1049,9 @@ static void cbException(EXCEPTION_DEBUG_INFO* ExceptionData) //lock lock(WAITID_RUN); SetForegroundWindow(GuiGetWindowHandle()); - bSkipExceptions=false; + bSkipExceptions = false; PLUG_CB_PAUSEDEBUG pauseInfo; - pauseInfo.reserved=0; + pauseInfo.reserved = 0; plugincbcall(CB_PAUSEDEBUG, &pauseInfo); plugincbcall(CB_EXCEPTION, &callbackInfo); wait(WAITID_RUN); @@ -1059,57 +1059,57 @@ static void cbException(EXCEPTION_DEBUG_INFO* ExceptionData) } SetContextDataEx(hActiveThread, UE_CIP, (uint)ExceptionData->ExceptionRecord.ExceptionAddress); } - else if(ExceptionData->ExceptionRecord.ExceptionCode==0x406D1388) //SetThreadName exception + else if(ExceptionData->ExceptionRecord.ExceptionCode == 0x406D1388) //SetThreadName exception { - if(ExceptionData->ExceptionRecord.NumberParameters==sizeof(THREADNAME_INFO)/sizeof(uint)) + if(ExceptionData->ExceptionRecord.NumberParameters == sizeof(THREADNAME_INFO) / sizeof(uint)) { THREADNAME_INFO nameInfo; memcpy(&nameInfo, ExceptionData->ExceptionRecord.ExceptionInformation, sizeof(THREADNAME_INFO)); - if(nameInfo.dwThreadID==-1) //current thread - nameInfo.dwThreadID=((DEBUG_EVENT*)GetDebugData())->dwThreadId; - if(nameInfo.dwType==0x1000 and nameInfo.dwFlags==0 and threadisvalid(nameInfo.dwThreadID)) //passed basic checks + if(nameInfo.dwThreadID == -1) //current thread + nameInfo.dwThreadID = ((DEBUG_EVENT*)GetDebugData())->dwThreadId; + if(nameInfo.dwType == 0x1000 and nameInfo.dwFlags == 0 and threadisvalid(nameInfo.dwThreadID)) //passed basic checks { - char* ThreadName=(char*)emalloc(MAX_THREAD_NAME_SIZE, "cbException:ThreadName"); + char* ThreadName = (char*)emalloc(MAX_THREAD_NAME_SIZE, "cbException:ThreadName"); memset(ThreadName, 0, MAX_THREAD_NAME_SIZE); - if(memread(fdProcessInfo->hProcess, nameInfo.szName, ThreadName, MAX_THREAD_NAME_SIZE-1, 0)) + if(memread(fdProcessInfo->hProcess, nameInfo.szName, ThreadName, MAX_THREAD_NAME_SIZE - 1, 0)) { - int len=(int)strlen(ThreadName); - int escape_count=0; - for(int i=0; iexe, 0); - pDebuggedEntry=GetPE32Data(init->exe, 0, UE_OEP); + bIsAttached = false; + bSkipExceptions = false; + bBreakOnNextDll = false; + INIT_STRUCT* init = (INIT_STRUCT*)lpParameter; + bFileIsDll = IsFileDLL(init->exe, 0); + pDebuggedEntry = GetPE32Data(init->exe, 0, UE_OEP); strcpy(szFileName, init->exe); if(bFileIsDll) - fdProcessInfo=(PROCESS_INFORMATION*)InitDLLDebug(init->exe, false, init->commandline, init->currentfolder, 0); + fdProcessInfo = (PROCESS_INFORMATION*)InitDLLDebug(init->exe, false, init->commandline, init->currentfolder, 0); else - fdProcessInfo=(PROCESS_INFORMATION*)InitDebug(init->exe, init->commandline, init->currentfolder); + fdProcessInfo = (PROCESS_INFORMATION*)InitDebug(init->exe, init->commandline, init->currentfolder); efree(init, "threadDebugLoop:init"); //free init struct if(!fdProcessInfo) { - fdProcessInfo=&g_pi; + fdProcessInfo = &g_pi; dputs("error starting process (invalid pe?)!"); unlock(WAITID_STOP); return 0; } - BOOL wow64=false, mewow64=false; + BOOL wow64 = false, mewow64 = false; if(!IsWow64Process(fdProcessInfo->hProcess, &wow64) or !IsWow64Process(GetCurrentProcess(), &mewow64)) { dputs("IsWow64Process failed!"); @@ -1207,8 +1207,8 @@ DWORD WINAPI threadDebugLoop(void* lpParameter) GuiAddRecentFile(szFileName); varset("$hp", (uint)fdProcessInfo->hProcess, true); varset("$pid", fdProcessInfo->dwProcessId, true); - ecount=0; - cachePrivateUsage=0; + ecount = 0; + cachePrivateUsage = 0; //NOTE: set custom handlers SetCustomHandler(UE_CH_CREATEPROCESS, (void*)cbCreateProcess); SetCustomHandler(UE_CH_EXITPROCESS, (void*)cbExitProcess); @@ -1224,22 +1224,22 @@ DWORD WINAPI threadDebugLoop(void* lpParameter) GuiSetDebugState(initialized); //set GUI title strcpy(szBaseFileName, szFileName); - int len=(int)strlen(szBaseFileName); - while(szBaseFileName[len]!='\\' and len) + int len = (int)strlen(szBaseFileName); + while(szBaseFileName[len] != '\\' and len) len--; if(len) - strcpy(szBaseFileName, szBaseFileName+len+1); + strcpy(szBaseFileName, szBaseFileName + len + 1); GuiUpdateWindowTitle(szBaseFileName); //call plugin callback PLUG_CB_INITDEBUG initInfo; - initInfo.szFileName=szFileName; + initInfo.szFileName = szFileName; plugincbcall(CB_INITDEBUG, &initInfo); //run debug loop (returns when process debugging is stopped) DebugLoop(); - isDetachedByUser=false; + isDetachedByUser = false; //call plugin callback PLUG_CB_STOPDEBUG stopInfo; - stopInfo.reserved=0; + stopInfo.reserved = 0; plugincbcall(CB_STOPDEBUG, &stopInfo); //message the user/do final stuff RemoveAllBreakPoints(UE_OPTION_REMOVEALL); //remove all breakpoints @@ -1265,7 +1265,7 @@ bool cbDeleteAllBreakpoints(const BREAKPOINT* bp) bool cbEnableAllBreakpoints(const BREAKPOINT* bp) { - if(bp->type!=BPNORMAL or bp->enabled) + if(bp->type != BPNORMAL or bp->enabled) return true; if(!bpenable(bp->addr, BPNORMAL, true) or !SetBPX(bp->addr, bp->titantype, (void*)cbUserBreakpoint)) { @@ -1277,7 +1277,7 @@ bool cbEnableAllBreakpoints(const BREAKPOINT* bp) bool cbDisableAllBreakpoints(const BREAKPOINT* bp) { - if(bp->type!=BPNORMAL or !bp->enabled) + if(bp->type != BPNORMAL or !bp->enabled) return true; if(!bpenable(bp->addr, BPNORMAL, false) or !DeleteBPX(bp->addr)) { @@ -1289,9 +1289,9 @@ bool cbDisableAllBreakpoints(const BREAKPOINT* bp) bool cbEnableAllHardwareBreakpoints(const BREAKPOINT* bp) { - if(bp->type!=BPHARDWARE or bp->enabled) + if(bp->type != BPHARDWARE or bp->enabled) return true; - DWORD drx=0; + DWORD drx = 0; if(!GetUnusedHardwareBreakPointRegister(&drx)) { dprintf("did not enable hardware breakpoint "fhex" (all slots full)\n", bp->addr); @@ -1310,7 +1310,7 @@ bool cbEnableAllHardwareBreakpoints(const BREAKPOINT* bp) bool cbDisableAllHardwareBreakpoints(const BREAKPOINT* bp) { - if(bp->type!=BPHARDWARE or !bp->enabled) + if(bp->type != BPHARDWARE or !bp->enabled) return true; if(!bpenable(bp->addr, BPHARDWARE, false) or !DeleteHardwareBreakPoint(TITANGETDRX(bp->titantype))) { @@ -1322,9 +1322,9 @@ bool cbDisableAllHardwareBreakpoints(const BREAKPOINT* bp) bool cbEnableAllMemoryBreakpoints(const BREAKPOINT* bp) { - if(bp->type!=BPMEMORY or bp->enabled) + if(bp->type != BPMEMORY or bp->enabled) return true; - uint size=0; + uint size = 0; memfindbaseaddr(bp->addr, &size); if(!bpenable(bp->addr, BPMEMORY, true) or !SetMemoryBPXEx(bp->addr, size, bp->titantype, !bp->singleshoot, (void*)cbMemoryBreakpoint)) { @@ -1336,7 +1336,7 @@ bool cbEnableAllMemoryBreakpoints(const BREAKPOINT* bp) bool cbDisableAllMemoryBreakpoints(const BREAKPOINT* bp) { - if(bp->type!=BPMEMORY or !bp->enabled) + if(bp->type != BPMEMORY or !bp->enabled) return true; if(!bpenable(bp->addr, BPMEMORY, false) or !DeleteHardwareBreakPoint(TITANGETDRX(bp->titantype))) { @@ -1348,19 +1348,19 @@ bool cbDisableAllMemoryBreakpoints(const BREAKPOINT* bp) bool cbBreakpointList(const BREAKPOINT* bp) { - const char* type=0; - if(bp->type==BPNORMAL) + const char* type = 0; + if(bp->type == BPNORMAL) { if(bp->singleshoot) - type="SS"; + type = "SS"; else - type="BP"; + type = "BP"; } - else if(bp->type==BPHARDWARE) - type="HW"; - else if(bp->type==BPMEMORY) - type="GP"; - bool enabled=bp->enabled; + else if(bp->type == BPHARDWARE) + type = "HW"; + else if(bp->type == BPMEMORY) + type = "GP"; + bool enabled = bp->enabled; if(*bp->name) dprintf("%d:%s:"fhex":\"%s\"\n", enabled, type, bp->addr, bp->name); else @@ -1403,16 +1403,16 @@ static void cbAttachDebugger() DWORD WINAPI threadAttachLoop(void* lpParameter) { lock(WAITID_STOP); - bIsAttached=true; - bSkipExceptions=false; - DWORD pid=(DWORD)lpParameter; + bIsAttached = true; + bSkipExceptions = false; + DWORD pid = (DWORD)lpParameter; static PROCESS_INFORMATION pi_attached; - fdProcessInfo=&pi_attached; + fdProcessInfo = &pi_attached; //do some init stuff - bFileIsDll=IsFileDLL(szFileName, 0); + bFileIsDll = IsFileDLL(szFileName, 0); GuiAddRecentFile(szFileName); - ecount=0; - cachePrivateUsage=0; + ecount = 0; + cachePrivateUsage = 0; //NOTE: set custom handlers SetCustomHandler(UE_CH_CREATEPROCESS, (void*)cbCreateProcess); SetCustomHandler(UE_CH_EXITPROCESS, (void*)cbExitProcess); @@ -1428,26 +1428,26 @@ DWORD WINAPI threadAttachLoop(void* lpParameter) GuiSetDebugState(initialized); //set GUI title strcpy(szBaseFileName, szFileName); - int len=(int)strlen(szBaseFileName); - while(szBaseFileName[len]!='\\' and len) + int len = (int)strlen(szBaseFileName); + while(szBaseFileName[len] != '\\' and len) len--; if(len) - strcpy(szBaseFileName, szBaseFileName+len+1); + strcpy(szBaseFileName, szBaseFileName + len + 1); GuiUpdateWindowTitle(szBaseFileName); //call plugin callback (init) PLUG_CB_INITDEBUG initInfo; - initInfo.szFileName=szFileName; + initInfo.szFileName = szFileName; plugincbcall(CB_INITDEBUG, &initInfo); //call plugin callback (attach) PLUG_CB_ATTACH attachInfo; - attachInfo.dwProcessId=(DWORD)pid; + attachInfo.dwProcessId = (DWORD)pid; plugincbcall(CB_ATTACH, &attachInfo); //run debug loop (returns when process debugging is stopped) AttachDebugger(pid, true, fdProcessInfo, (void*)cbAttachDebugger); - isDetachedByUser=false; + isDetachedByUser = false; //call plugin callback PLUG_CB_STOPDEBUG stopInfo; - stopInfo.reserved=0; + stopInfo.reserved = 0; plugincbcall(CB_STOPDEBUG, &stopInfo); //message the user/do final stuff RemoveAllBreakPoints(UE_OPTION_REMOVEALL); //remove all breakpoints @@ -1467,7 +1467,7 @@ void cbDetach() if(!isDetachedByUser) return; PLUG_CB_DETACH detachInfo; - detachInfo.fdProcessInfo=fdProcessInfo; + detachInfo.fdProcessInfo = fdProcessInfo; plugincbcall(CB_DETACH, &detachInfo); if(!DetachDebuggerEx(fdProcessInfo->dwProcessId)) dputs("DetachDebuggerEx failed..."); diff --git a/x64_dbg_dbg/debugger_commands.cpp b/x64_dbg_dbg/debugger_commands.cpp index a4a63df9..f466b935 100644 --- a/x64_dbg_dbg/debugger_commands.cpp +++ b/x64_dbg_dbg/debugger_commands.cpp @@ -11,7 +11,7 @@ #include "simplescript.h" #include "symbolinfo.h" -static bool bScyllaLoaded=false; +static bool bScyllaLoaded = false; CMDRESULT cbDebugInit(int argc, char* argv[]) { @@ -21,7 +21,7 @@ CMDRESULT cbDebugInit(int argc, char* argv[]) return STATUS_ERROR; } - static char arg1[deflen]=""; + static char arg1[deflen] = ""; if(!argget(*argv, arg1, 0, false)) return STATUS_ERROR; if(!FileExists(arg1)) @@ -29,8 +29,8 @@ CMDRESULT cbDebugInit(int argc, char* argv[]) dputs("file does not exist!"); return STATUS_ERROR; } - HANDLE hFile=CreateFileA(arg1, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0); - if(hFile==INVALID_HANDLE_VALUE) + HANDLE hFile = CreateFileA(arg1, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0); + if(hFile == INVALID_HANDLE_VALUE) { dputs("could not open file!"); return STATUS_ERROR; @@ -56,29 +56,29 @@ CMDRESULT cbDebugInit(int argc, char* argv[]) break; } - static char arg2[deflen]=""; + static char arg2[deflen] = ""; argget(*argv, arg2, 1, true); - char* commandline=0; + char* commandline = 0; if(strlen(arg2)) - commandline=arg2; + commandline = arg2; - char arg3[deflen]=""; + char arg3[deflen] = ""; argget(*argv, arg3, 2, true); - static char currentfolder[deflen]=""; + static char currentfolder[deflen] = ""; strcpy(currentfolder, arg1); - int len=(int)strlen(currentfolder); - while(currentfolder[len]!='\\' and len!=0) + int len = (int)strlen(currentfolder); + while(currentfolder[len] != '\\' and len != 0) len--; - currentfolder[len]=0; + currentfolder[len] = 0; if(DirExists(arg3)) strcpy(currentfolder, arg3); - INIT_STRUCT* init=(INIT_STRUCT*)emalloc(sizeof(INIT_STRUCT), "cbDebugInit:init"); + INIT_STRUCT* init = (INIT_STRUCT*)emalloc(sizeof(INIT_STRUCT), "cbDebugInit:init"); memset(init, 0, sizeof(INIT_STRUCT)); - init->exe=arg1; - init->commandline=commandline; + init->exe = arg1; + init->commandline = commandline; if(*currentfolder) - init->currentfolder=currentfolder; + init->currentfolder = currentfolder; //initialize wait(WAITID_STOP); //wait for the debugger to stop waitclear(); //clear waiting flags NOTE: thread-unsafe @@ -105,7 +105,7 @@ CMDRESULT cbDebugRun(int argc, char* argv[]) GuiSetDebugState(running); unlock(WAITID_RUN); PLUG_CB_RESUMEDEBUG callbackInfo; - callbackInfo.reserved=0; + callbackInfo.reserved = 0; plugincbcall(CB_RESUMEDEBUG, &callbackInfo); return STATUS_CONTINUE; } @@ -119,29 +119,29 @@ CMDRESULT cbDebugErun(int argc, char* argv[]) CMDRESULT cbDebugSetBPXOptions(int argc, char* argv[]) { - char argtype[deflen]=""; - DWORD type=0; + char argtype[deflen] = ""; + DWORD type = 0; if(!argget(*argv, argtype, 0, false)) return STATUS_ERROR; - const char* a=0; + const char* a = 0; uint setting_type; if(strstr(argtype, "long")) { - setting_type=1; //break_int3long - a="TYPE_LONG_INT3"; - type=UE_BREAKPOINT_LONG_INT3; + setting_type = 1; //break_int3long + a = "TYPE_LONG_INT3"; + type = UE_BREAKPOINT_LONG_INT3; } else if(strstr(argtype, "ud2")) { - setting_type=2; //break_ud2 - a="TYPE_UD2"; - type=UE_BREAKPOINT_UD2; + setting_type = 2; //break_ud2 + a = "TYPE_UD2"; + type = UE_BREAKPOINT_UD2; } else if(strstr(argtype, "short")) { - setting_type=0; //break_int3short - a="TYPE_INT3"; - type=UE_BREAKPOINT_INT3; + setting_type = 0; //break_int3short + a = "TYPE_INT3"; + type = UE_BREAKPOINT_INT3; } else { @@ -156,44 +156,44 @@ CMDRESULT cbDebugSetBPXOptions(int argc, char* argv[]) CMDRESULT cbDebugSetBPX(int argc, char* argv[]) //bp addr [,name [,type]] { - char argaddr[deflen]=""; + char argaddr[deflen] = ""; if(!argget(*argv, argaddr, 0, false)) return STATUS_ERROR; - char argname[deflen]=""; + char argname[deflen] = ""; argget(*argv, argname, 1, true); - char argtype[deflen]=""; - bool has_arg2=argget(*argv, argtype, 2, true); + char argtype[deflen] = ""; + bool has_arg2 = argget(*argv, argtype, 2, true); if(!has_arg2 and (scmp(argname, "ss") or scmp(argname, "long") or scmp(argname, "ud2"))) { strcpy(argtype, argname); - *argname=0; + *argname = 0; } _strlwr(argtype); - uint addr=0; + uint addr = 0; if(!valfromstring(argaddr, &addr)) { dprintf("invalid addr: \"%s\"\n", argaddr); return STATUS_ERROR; } - int type=0; - bool singleshoot=false; + int type = 0; + bool singleshoot = false; if(strstr(argtype, "ss")) { - type|=UE_SINGLESHOOT; - singleshoot=true; + type |= UE_SINGLESHOOT; + singleshoot = true; } else - type|=UE_BREAKPOINT; + type |= UE_BREAKPOINT; if(strstr(argtype, "long")) - type|=UE_BREAKPOINT_TYPE_LONG_INT3; + type |= UE_BREAKPOINT_TYPE_LONG_INT3; else if(strstr(argtype, "ud2")) - type|=UE_BREAKPOINT_TYPE_UD2; + type |= UE_BREAKPOINT_TYPE_UD2; else if(strstr(argtype, "short")) - type|=UE_BREAKPOINT_TYPE_INT3; + type |= UE_BREAKPOINT_TYPE_INT3; short oldbytes; - const char* bpname=0; + const char* bpname = 0; if(*argname) - bpname=argname; + bpname = argname; if(bpget(addr, BPNORMAL, bpname, 0)) { dputs("breakpoint already set!"); @@ -226,7 +226,7 @@ CMDRESULT cbDebugSetBPX(int argc, char* argv[]) //bp addr [,name [,type]] CMDRESULT cbDebugDeleteBPX(int argc, char* argv[]) { - char arg1[deflen]=""; + char arg1[deflen] = ""; if(!argget(*argv, arg1, 0, true)) //delete all breakpoints { if(!bpgetcount(BPNORMAL)) @@ -256,7 +256,7 @@ CMDRESULT cbDebugDeleteBPX(int argc, char* argv[]) } return STATUS_CONTINUE; } - uint addr=0; + uint addr = 0; if(!valfromstring(arg1, &addr) or !bpget(addr, BPNORMAL, 0, &found)) //invalid breakpoint { dprintf("no such breakpoint \"%s\"\n", arg1); @@ -280,7 +280,7 @@ CMDRESULT cbDebugDeleteBPX(int argc, char* argv[]) CMDRESULT cbDebugEnableBPX(int argc, char* argv[]) { - char arg1[deflen]=""; + char arg1[deflen] = ""; if(!argget(*argv, arg1, 0, true)) //enable all breakpoints { if(!bpgetcount(BPNORMAL)) @@ -305,7 +305,7 @@ CMDRESULT cbDebugEnableBPX(int argc, char* argv[]) GuiUpdateAllViews(); return STATUS_CONTINUE; } - uint addr=0; + uint addr = 0; if(!valfromstring(arg1, &addr) or !bpget(addr, BPNORMAL, 0, &found)) //invalid breakpoint { dprintf("no such breakpoint \"%s\"\n", arg1); @@ -329,7 +329,7 @@ CMDRESULT cbDebugEnableBPX(int argc, char* argv[]) CMDRESULT cbDebugDisableBPX(int argc, char* argv[]) { - char arg1[deflen]=""; + char arg1[deflen] = ""; if(!argget(*argv, arg1, 0, true)) //delete all breakpoints { if(!bpgetcount(BPNORMAL)) @@ -354,7 +354,7 @@ CMDRESULT cbDebugDisableBPX(int argc, char* argv[]) GuiUpdateAllViews(); return STATUS_CONTINUE; } - uint addr=0; + uint addr = 0; if(!valfromstring(arg1, &addr) or !bpget(addr, BPNORMAL, 0, &found)) //invalid breakpoint { dprintf("no such breakpoint \"%s\"\n", arg1); @@ -409,12 +409,12 @@ CMDRESULT cbDebugeStepOver(int argc, char* argv[]) CMDRESULT cbDebugSingleStep(int argc, char* argv[]) { - char arg1[deflen]=""; - uint stepcount=1; + char arg1[deflen] = ""; + uint stepcount = 1; if(argget(*argv, arg1, 0, true)) { if(!valfromstring(arg1, &stepcount)) - stepcount=1; + stepcount = 1; } SingleStep((DWORD)stepcount, (void*)cbStep); dbgsetstepping(true); @@ -438,11 +438,11 @@ CMDRESULT cbDebugHide(int argc, char* argv[]) CMDRESULT cbDebugDisasm(int argc, char* argv[]) { - char arg1[deflen]=""; - uint addr=GetContextDataEx(hActiveThread, UE_CIP); + char arg1[deflen] = ""; + uint addr = GetContextDataEx(hActiveThread, UE_CIP); if(argget(*argv, arg1, 0, true)) if(!valfromstring(arg1, &addr)) - addr=GetContextDataEx(hActiveThread, UE_CIP); + addr = GetContextDataEx(hActiveThread, UE_CIP); if(!memisvalidreadptr(fdProcessInfo->hProcess, addr)) return STATUS_CONTINUE; DebugUpdateGui(addr, false); @@ -451,49 +451,49 @@ CMDRESULT cbDebugDisasm(int argc, char* argv[]) CMDRESULT cbDebugSetMemoryBpx(int argc, char* argv[]) { - char arg1[deflen]=""; //addr + char arg1[deflen] = ""; //addr if(!argget(*argv, arg1, 0, false)) return STATUS_ERROR; uint addr; if(!valfromstring(arg1, &addr)) return STATUS_ERROR; - bool restore=false; - char arg2[deflen]=""; //restore - char arg3[deflen]=""; //type + bool restore = false; + char arg2[deflen] = ""; //restore + char arg3[deflen] = ""; //type argget(*argv, arg3, 2, true); if(argget(*argv, arg2, 1, true)) { - if(*arg2=='1') - restore=true; - else if(*arg2=='0') - restore=false; + if(*arg2 == '1') + restore = true; + else if(*arg2 == '0') + restore = false; else strcpy(arg3, arg2); } - DWORD type=UE_MEMORY; + DWORD type = UE_MEMORY; if(*arg3) { switch(*arg3) { case 'r': - type=UE_MEMORY_READ; + type = UE_MEMORY_READ; break; case 'w': - type=UE_MEMORY_WRITE; + type = UE_MEMORY_WRITE; break; case 'x': - type=UE_MEMORY_EXECUTE; //EXECUTE + type = UE_MEMORY_EXECUTE; //EXECUTE break; default: dputs("invalid type (argument ignored)"); break; } } - uint size=0; - uint base=memfindbaseaddr(addr, &size, true); - bool singleshoot=false; + uint size = 0; + uint base = memfindbaseaddr(addr, &size, true); + bool singleshoot = false; if(!restore) - singleshoot=true; + singleshoot = true; if(bpget(base, BPMEMORY, 0, 0)) { dputs("hardware breakpoint already set!"); @@ -511,7 +511,7 @@ CMDRESULT cbDebugSetMemoryBpx(int argc, char* argv[]) CMDRESULT cbDebugDeleteMemoryBreakpoint(int argc, char* argv[]) { - char arg1[deflen]=""; + char arg1[deflen] = ""; if(!argget(*argv, arg1, 0, true)) //delete all breakpoints { if(!bpgetcount(BPMEMORY)) @@ -537,7 +537,7 @@ CMDRESULT cbDebugDeleteMemoryBreakpoint(int argc, char* argv[]) } return STATUS_CONTINUE; } - uint addr=0; + uint addr = 0; if(!valfromstring(arg1, &addr) or !bpget(addr, BPMEMORY, 0, &found)) //invalid breakpoint { dprintf("no such memory breakpoint \"%s\"\n", arg1); @@ -570,23 +570,23 @@ CMDRESULT cbDebugeRtr(int argc, char* argv[]) CMDRESULT cbDebugSetHardwareBreakpoint(int argc, char* argv[]) { - char arg1[deflen]=""; //addr + char arg1[deflen] = ""; //addr if(!argget(*argv, arg1, 0, false)) return STATUS_ERROR; uint addr; if(!valfromstring(arg1, &addr)) return STATUS_ERROR; - DWORD type=UE_HARDWARE_EXECUTE; - char arg2[deflen]=""; //type + DWORD type = UE_HARDWARE_EXECUTE; + char arg2[deflen] = ""; //type if(argget(*argv, arg2, 1, true)) { switch(*arg2) { case 'r': - type=UE_HARDWARE_READWRITE; + type = UE_HARDWARE_READWRITE; break; case 'w': - type=UE_HARDWARE_WRITE; + type = UE_HARDWARE_WRITE; break; case 'x': break; @@ -595,8 +595,8 @@ CMDRESULT cbDebugSetHardwareBreakpoint(int argc, char* argv[]) break; } } - char arg3[deflen]=""; //size - uint size=UE_HARDWARE_SIZE_1; + char arg3[deflen] = ""; //size + uint size = UE_HARDWARE_SIZE_1; if(argget(*argv, arg3, 2, true)) { if(!valfromstring(arg3, &size)) @@ -604,33 +604,33 @@ CMDRESULT cbDebugSetHardwareBreakpoint(int argc, char* argv[]) switch(size) { case 2: - size=UE_HARDWARE_SIZE_2; + size = UE_HARDWARE_SIZE_2; break; case 4: - size=UE_HARDWARE_SIZE_4; + size = UE_HARDWARE_SIZE_4; break; #ifdef _WIN64 case 8: - size=UE_HARDWARE_SIZE_8; + size = UE_HARDWARE_SIZE_8; break; #endif // _WIN64 default: dputs("invalid size, using 1"); break; } - if((addr%size)!=0) + if((addr % size) != 0) { dprintf("address not aligned to %d\n", size); return STATUS_ERROR; } } - DWORD drx=0; + DWORD drx = 0; if(!GetUnusedHardwareBreakPointRegister(&drx)) { dputs("you can only set 4 hardware breakpoints"); return STATUS_ERROR; } - int titantype=0; + int titantype = 0; TITANSETDRX(titantype, drx); TITANSETTYPE(titantype, type); TITANSETSIZE(titantype, size); @@ -652,7 +652,7 @@ CMDRESULT cbDebugSetHardwareBreakpoint(int argc, char* argv[]) CMDRESULT cbDebugDeleteHardwareBreakpoint(int argc, char* argv[]) { - char arg1[deflen]=""; + char arg1[deflen] = ""; if(!argget(*argv, arg1, 0, true)) //delete all breakpoints { if(!bpgetcount(BPHARDWARE)) @@ -676,7 +676,7 @@ CMDRESULT cbDebugDeleteHardwareBreakpoint(int argc, char* argv[]) } return STATUS_CONTINUE; } - uint addr=0; + uint addr = 0; if(!valfromstring(arg1, &addr) or !bpget(addr, BPHARDWARE, 0, &found)) //invalid breakpoint { dprintf("no such hardware breakpoint \"%s\"\n", arg1); @@ -694,12 +694,12 @@ CMDRESULT cbDebugDeleteHardwareBreakpoint(int argc, char* argv[]) CMDRESULT cbDebugAlloc(int argc, char* argv[]) { - char arg1[deflen]=""; //size - uint size=0x1000; + char arg1[deflen] = ""; //size + uint size = 0x1000; if(argget(*argv, arg1, 0, true)) if(!valfromstring(arg1, &size, false)) return STATUS_ERROR; - uint mem=(uint)memalloc(fdProcessInfo->hProcess, 0, size, PAGE_EXECUTE_READWRITE); + uint mem = (uint)memalloc(fdProcessInfo->hProcess, 0, size, PAGE_EXECUTE_READWRITE); if(!mem) dputs("VirtualAllocEx failed"); else @@ -716,8 +716,8 @@ CMDRESULT cbDebugFree(int argc, char* argv[]) { uint lastalloc; varget("$lastalloc", &lastalloc, 0, 0); - char arg1[deflen]=""; //addr - uint addr=lastalloc; + char arg1[deflen] = ""; //addr + uint addr = lastalloc; if(argget(*argv, arg1, 0, true)) { if(!valfromstring(arg1, &addr, false)) @@ -728,9 +728,9 @@ CMDRESULT cbDebugFree(int argc, char* argv[]) dputs("lastalloc is zero, provide a page address"); return STATUS_ERROR; } - if(addr==lastalloc) + if(addr == lastalloc) varset("$lastalloc", (uint)0, true); - bool ok=!!VirtualFreeEx(fdProcessInfo->hProcess, (void*)addr, 0, MEM_RELEASE); + bool ok = !!VirtualFreeEx(fdProcessInfo->hProcess, (void*)addr, 0, MEM_RELEASE); if(!ok) dputs("VirtualFreeEx failed"); dbggetprivateusage(fdProcessInfo->hProcess, true); @@ -741,11 +741,11 @@ CMDRESULT cbDebugFree(int argc, char* argv[]) CMDRESULT cbDebugMemset(int argc, char* argv[]) { - char arg3[deflen]=""; //size + char arg3[deflen] = ""; //size uint addr; uint value; uint size; - if(argc<3) + if(argc < 3) { dputs("not enough arguments"); return STATUS_ERROR; @@ -759,37 +759,37 @@ CMDRESULT cbDebugMemset(int argc, char* argv[]) } else { - uint base=memfindbaseaddr(addr, &size, true); + uint base = memfindbaseaddr(addr, &size, true); if(!base) { dputs("invalid address specified"); return STATUS_ERROR; } - uint diff=addr-base; - addr=base+diff; - size-=diff; + uint diff = addr - base; + addr = base + diff; + size -= diff; } - BYTE fi=value&0xFF; - if(!Fill((void*)addr, size&0xFFFFFFFF, &fi)) + BYTE fi = value & 0xFF; + if(!Fill((void*)addr, size & 0xFFFFFFFF, &fi)) dputs("memset failed"); else - dprintf("memory "fhex" (size: %.8X) set to %.2X\n", addr, size&0xFFFFFFFF, value&0xFF); + dprintf("memory "fhex" (size: %.8X) set to %.2X\n", addr, size & 0xFFFFFFFF, value & 0xFF); return STATUS_CONTINUE; } CMDRESULT cbDebugBenchmark(int argc, char* argv[]) { - uint addr=memfindbaseaddr(GetContextDataEx(hActiveThread, UE_CIP), 0); - DWORD ticks=GetTickCount(); - char comment[MAX_COMMENT_SIZE]=""; - for(uint i=addr; idwProcessId, 0); FreeLibrary(hScylla); - bScyllaLoaded=false; + bScyllaLoaded = false; return 0; } @@ -839,19 +839,19 @@ CMDRESULT cbDebugStartScylla(int argc, char* argv[]) dputs("Scylla is already loaded"); return STATUS_ERROR; } - bScyllaLoaded=true; + bScyllaLoaded = true; CloseHandle(CreateThread(0, 0, scyllaThread, 0, 0, 0)); return STATUS_CONTINUE; } CMDRESULT cbDebugAttach(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments!"); return STATUS_ERROR; } - uint pid=0; + uint pid = 0; if(!valfromstring(argv[1], &pid)) { dprintf("invalid expression \"%s\"!\n", argv[1]); @@ -863,13 +863,13 @@ CMDRESULT cbDebugAttach(int argc, char* argv[]) dputs("terminate the current session!"); return STATUS_ERROR; } - HANDLE hProcess=TitanOpenProcess(PROCESS_ALL_ACCESS, false, (DWORD)pid); + HANDLE hProcess = TitanOpenProcess(PROCESS_ALL_ACCESS, false, (DWORD)pid); if(!hProcess) { dprintf("could not open process %X!\n", pid); return STATUS_ERROR; } - BOOL wow64=false, mewow64=false; + BOOL wow64 = false, mewow64 = false; if(!IsWow64Process(hProcess, &wow64) or !IsWow64Process(GetCurrentProcess(), &mewow64)) { dputs("IsWow64Process failed!"); @@ -908,12 +908,12 @@ CMDRESULT cbDebugDetach(int argc, char* argv[]) CMDRESULT cbDebugDump(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments!"); return STATUS_ERROR; } - duint addr=0; + duint addr = 0; if(!valfromstring(argv[1], &addr)) { dprintf("invalid address \"%s\"!\n", argv[1]); @@ -925,18 +925,18 @@ CMDRESULT cbDebugDump(int argc, char* argv[]) CMDRESULT cbDebugStackDump(int argc, char* argv[]) { - duint addr=0; - if(argc<2) - addr=GetContextDataEx(hActiveThread, UE_CSP); + duint addr = 0; + if(argc < 2) + addr = GetContextDataEx(hActiveThread, UE_CSP); else if(!valfromstring(argv[1], &addr)) { dprintf("invalid address \"%s\"!\n", argv[1]); return STATUS_ERROR; } - duint csp=GetContextDataEx(hActiveThread, UE_CSP); - duint size=0; - duint base=memfindbaseaddr(csp, &size); - if(base && addr>=base && addr<(base+size)) + duint csp = GetContextDataEx(hActiveThread, UE_CSP); + duint size = 0; + duint base = memfindbaseaddr(csp, &size); + if(base && addr >= base && addr < (base + size)) GuiStackDumpAt(addr, csp); else dputs("invalid stack address!"); @@ -945,7 +945,7 @@ CMDRESULT cbDebugStackDump(int argc, char* argv[]) CMDRESULT cbDebugContinue(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { SetNextDbgContinueStatus(DBG_CONTINUE); dputs("exception will be swallowed"); @@ -960,27 +960,27 @@ CMDRESULT cbDebugContinue(int argc, char* argv[]) CMDRESULT cbDebugBpDll(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments!"); return STATUS_ERROR; } - DWORD type=UE_ON_LIB_ALL; - if(argc>2) + DWORD type = UE_ON_LIB_ALL; + if(argc > 2) { switch(*argv[2]) { case 'l': - type=UE_ON_LIB_LOAD; + type = UE_ON_LIB_LOAD; break; case 'u': - type=UE_ON_LIB_UNLOAD; + type = UE_ON_LIB_UNLOAD; break; } } - bool singleshoot=true; - if(argc>3) - singleshoot=false; + bool singleshoot = true; + if(argc > 3) + singleshoot = false; LibrarianSetBreakPoint(argv[1], type, singleshoot, (void*)cbLibrarianBreakpoint); dprintf("dll breakpoint set on \"%s\"!\n", argv[1]); return STATUS_CONTINUE; @@ -988,7 +988,7 @@ CMDRESULT cbDebugBpDll(int argc, char* argv[]) CMDRESULT cbDebugBcDll(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments"); return STATUS_ERROR; @@ -1004,8 +1004,8 @@ CMDRESULT cbDebugBcDll(int argc, char* argv[]) CMDRESULT cbDebugSwitchthread(int argc, char* argv[]) { - uint threadid=fdProcessInfo->dwThreadId; //main thread - if(argc>1) + uint threadid = fdProcessInfo->dwThreadId; //main thread + if(argc > 1) if(!valfromstring(argv[1], &threadid, false)) return STATUS_ERROR; if(!threadisvalid((DWORD)threadid)) //check if the thread is valid @@ -1014,7 +1014,7 @@ CMDRESULT cbDebugSwitchthread(int argc, char* argv[]) return STATUS_ERROR; } //switch thread - hActiveThread=threadgethandle((DWORD)threadid); + hActiveThread = threadgethandle((DWORD)threadid); DebugUpdateGui(GetContextDataEx(hActiveThread, UE_CIP), true); dputs("thread switched!"); return STATUS_CONTINUE; @@ -1023,7 +1023,7 @@ CMDRESULT cbDebugSwitchthread(int argc, char* argv[]) CMDRESULT cbDebugSuspendthread(int argc, char* argv[]) { uint threadid = fdProcessInfo->dwThreadId; - if(argc>1) + if(argc > 1) if(!valfromstring(argv[1], &threadid, false)) return STATUS_ERROR; if(!threadisvalid((DWORD)threadid)) //check if the thread is valid @@ -1045,7 +1045,7 @@ CMDRESULT cbDebugSuspendthread(int argc, char* argv[]) CMDRESULT cbDebugResumethread(int argc, char* argv[]) { uint threadid = fdProcessInfo->dwThreadId; - if(argc>1) + if(argc > 1) if(!valfromstring(argv[1], &threadid, false)) return STATUS_ERROR; if(!threadisvalid((DWORD)threadid)) //check if the thread is valid @@ -1067,11 +1067,11 @@ CMDRESULT cbDebugResumethread(int argc, char* argv[]) CMDRESULT cbDebugKillthread(int argc, char* argv[]) { uint threadid = fdProcessInfo->dwThreadId; - if(argc>1) + if(argc > 1) if(!valfromstring(argv[1], &threadid, false)) return STATUS_ERROR; uint exitcode = 0; - if(argc>2) + if(argc > 2) if(!valfromstring(argv[2], &exitcode, false)) return STATUS_ERROR; if(!threadisvalid((DWORD)threadid)) //check if the thread is valid @@ -1092,7 +1092,7 @@ CMDRESULT cbDebugKillthread(int argc, char* argv[]) CMDRESULT cbDebugSetPriority(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; @@ -1158,8 +1158,8 @@ CMDRESULT cbDebugSetPriority(int argc, char* argv[]) CMDRESULT cbDebugEnableHardwareBreakpoint(int argc, char* argv[]) { - char arg1[deflen]=""; - DWORD drx=0; + char arg1[deflen] = ""; + DWORD drx = 0; if(!GetUnusedHardwareBreakPointRegister(&drx)) { dputs("you can only set 4 hardware breakpoints"); @@ -1179,7 +1179,7 @@ CMDRESULT cbDebugEnableHardwareBreakpoint(int argc, char* argv[]) return STATUS_CONTINUE; } BREAKPOINT found; - uint addr=0; + uint addr = 0; if(!valfromstring(arg1, &addr) or !bpget(addr, BPHARDWARE, 0, &found)) //invalid hardware breakpoint { dprintf("no such hardware breakpoint \"%s\"\n", arg1); @@ -1205,7 +1205,7 @@ CMDRESULT cbDebugEnableHardwareBreakpoint(int argc, char* argv[]) CMDRESULT cbDebugDisableHardwareBreakpoint(int argc, char* argv[]) { - char arg1[deflen]=""; + char arg1[deflen] = ""; if(!argget(*argv, arg1, 0, true)) //delete all hardware breakpoints { if(!bpgetcount(BPHARDWARE)) @@ -1220,7 +1220,7 @@ CMDRESULT cbDebugDisableHardwareBreakpoint(int argc, char* argv[]) return STATUS_CONTINUE; } BREAKPOINT found; - uint addr=0; + uint addr = 0; if(!valfromstring(arg1, &addr) or !bpget(addr, BPHARDWARE, 0, &found)) //invalid hardware breakpoint { dprintf("no such hardware breakpoint \"%s\"\n", arg1); @@ -1243,8 +1243,8 @@ CMDRESULT cbDebugDisableHardwareBreakpoint(int argc, char* argv[]) CMDRESULT cbDebugEnableMemoryBreakpoint(int argc, char* argv[]) { - char arg1[deflen]=""; - DWORD drx=0; + char arg1[deflen] = ""; + DWORD drx = 0; if(!GetUnusedHardwareBreakPointRegister(0)) { dputs("you can only set 4 hardware breakpoints"); @@ -1264,7 +1264,7 @@ CMDRESULT cbDebugEnableMemoryBreakpoint(int argc, char* argv[]) return STATUS_CONTINUE; } BREAKPOINT found; - uint addr=0; + uint addr = 0; if(!valfromstring(arg1, &addr) or !bpget(addr, BPMEMORY, 0, &found)) //invalid memory breakpoint { dprintf("no such memory breakpoint \"%s\"\n", arg1); @@ -1276,7 +1276,7 @@ CMDRESULT cbDebugEnableMemoryBreakpoint(int argc, char* argv[]) GuiUpdateAllViews(); return STATUS_CONTINUE; } - uint size=0; + uint size = 0; memfindbaseaddr(found.addr, &size); if(!bpenable(found.addr, BPMEMORY, true) or !SetMemoryBPXEx(found.addr, size, found.titantype, !found.singleshoot, (void*)cbMemoryBreakpoint)) { @@ -1290,7 +1290,7 @@ CMDRESULT cbDebugEnableMemoryBreakpoint(int argc, char* argv[]) CMDRESULT cbDebugDisableMemoryBreakpoint(int argc, char* argv[]) { - char arg1[deflen]=""; + char arg1[deflen] = ""; if(!argget(*argv, arg1, 0, true)) //delete all memory breakpoints { if(!bpgetcount(BPMEMORY)) @@ -1305,7 +1305,7 @@ CMDRESULT cbDebugDisableMemoryBreakpoint(int argc, char* argv[]) return STATUS_CONTINUE; } BREAKPOINT found; - uint addr=0; + uint addr = 0; if(!valfromstring(arg1, &addr) or !bpget(addr, BPMEMORY, 0, &found)) //invalid memory breakpoint { dprintf("no such memory breakpoint \"%s\"\n", arg1); @@ -1316,7 +1316,7 @@ CMDRESULT cbDebugDisableMemoryBreakpoint(int argc, char* argv[]) dputs("memory breakpoint already disabled!"); return STATUS_CONTINUE; } - uint size=0; + uint size = 0; memfindbaseaddr(found.addr, &size); if(!bpenable(found.addr, BPMEMORY, false) or !RemoveMemoryBPX(found.addr, size)) { diff --git a/x64_dbg_dbg/disasm_fast.cpp b/x64_dbg_dbg/disasm_fast.cpp index 5abc8eae..0f2336fd 100644 --- a/x64_dbg_dbg/disasm_fast.cpp +++ b/x64_dbg_dbg/disasm_fast.cpp @@ -25,69 +25,69 @@ void fillbasicinfo(DISASM* disasm, BASIC_INSTRUCTION_INFO* basicinfo) //copy instruction text strcpy(basicinfo->instruction, disasm->CompleteInstr); //find immidiat - if(disasm->Instruction.BranchType==0) //no branch + if(disasm->Instruction.BranchType == 0) //no branch { - if((disasm->Argument1.ArgType&CONSTANT_TYPE)==CONSTANT_TYPE) + if((disasm->Argument1.ArgType & CONSTANT_TYPE) == CONSTANT_TYPE) { - basicinfo->type|=TYPE_VALUE; - basicinfo->value.value=(ULONG_PTR)disasm->Instruction.Immediat; - basicinfo->value.size=argsize2memsize(disasm->Argument1.ArgSize); + basicinfo->type |= TYPE_VALUE; + basicinfo->value.value = (ULONG_PTR)disasm->Instruction.Immediat; + basicinfo->value.size = argsize2memsize(disasm->Argument1.ArgSize); } - else if((disasm->Argument2.ArgType&CONSTANT_TYPE)==CONSTANT_TYPE) + else if((disasm->Argument2.ArgType & CONSTANT_TYPE) == CONSTANT_TYPE) { - basicinfo->type|=TYPE_VALUE; - basicinfo->value.value=(ULONG_PTR)disasm->Instruction.Immediat; - basicinfo->value.size=argsize2memsize(disasm->Argument2.ArgSize); + basicinfo->type |= TYPE_VALUE; + basicinfo->value.value = (ULONG_PTR)disasm->Instruction.Immediat; + basicinfo->value.size = argsize2memsize(disasm->Argument2.ArgSize); } } else //branch { - basicinfo->branch=true; - if(disasm->Instruction.BranchType==CallType) - basicinfo->call=true; - if(disasm->Instruction.BranchType==RetType) - basicinfo->branch=false; + basicinfo->branch = true; + if(disasm->Instruction.BranchType == CallType) + basicinfo->call = true; + if(disasm->Instruction.BranchType == RetType) + basicinfo->branch = false; } //find memory displacement - if((disasm->Argument1.ArgType&MEMORY_TYPE)==MEMORY_TYPE || (disasm->Argument2.ArgType&MEMORY_TYPE)==MEMORY_TYPE) + if((disasm->Argument1.ArgType & MEMORY_TYPE) == MEMORY_TYPE || (disasm->Argument2.ArgType & MEMORY_TYPE) == MEMORY_TYPE) { if(disasm->Argument1.Memory.Displacement) { - basicinfo->type|=TYPE_MEMORY; - basicinfo->memory.value=(ULONG_PTR)disasm->Argument1.Memory.Displacement; + basicinfo->type |= TYPE_MEMORY; + basicinfo->memory.value = (ULONG_PTR)disasm->Argument1.Memory.Displacement; strcpy(basicinfo->memory.mnemonic, disasm->Argument1.ArgMnemonic); - basicinfo->memory.size=argsize2memsize(disasm->Argument1.ArgSize); + basicinfo->memory.size = argsize2memsize(disasm->Argument1.ArgSize); } else if(disasm->Argument2.Memory.Displacement) { - basicinfo->type|=TYPE_MEMORY; - basicinfo->memory.value=(ULONG_PTR)disasm->Argument2.Memory.Displacement; + basicinfo->type |= TYPE_MEMORY; + basicinfo->memory.value = (ULONG_PTR)disasm->Argument2.Memory.Displacement; strcpy(basicinfo->memory.mnemonic, disasm->Argument2.ArgMnemonic); - basicinfo->memory.size=argsize2memsize(disasm->Argument2.ArgSize); + basicinfo->memory.size = argsize2memsize(disasm->Argument2.ArgSize); } } //find address value if(disasm->Instruction.BranchType && disasm->Instruction.AddrValue) { - basicinfo->type|=TYPE_ADDR; - basicinfo->addr=(ULONG_PTR)disasm->Instruction.AddrValue; + basicinfo->type |= TYPE_ADDR; + basicinfo->addr = (ULONG_PTR)disasm->Instruction.AddrValue; } //rip-relative (non-branch) - if(disasm->Instruction.BranchType==0) + if(disasm->Instruction.BranchType == 0) { - if((disasm->Argument1.ArgType&RELATIVE_)==RELATIVE_) + if((disasm->Argument1.ArgType & RELATIVE_) == RELATIVE_) { - basicinfo->type|=TYPE_MEMORY; - basicinfo->memory.value=(ULONG_PTR)disasm->Instruction.AddrValue; + basicinfo->type |= TYPE_MEMORY; + basicinfo->memory.value = (ULONG_PTR)disasm->Instruction.AddrValue; strcpy(basicinfo->memory.mnemonic, disasm->Argument1.ArgMnemonic); - basicinfo->memory.size=argsize2memsize(disasm->Argument1.ArgSize); + basicinfo->memory.size = argsize2memsize(disasm->Argument1.ArgSize); } - else if((disasm->Argument2.ArgType&RELATIVE_)==RELATIVE_) + else if((disasm->Argument2.ArgType & RELATIVE_) == RELATIVE_) { - basicinfo->type|=TYPE_MEMORY; - basicinfo->memory.value=(ULONG_PTR)disasm->Instruction.AddrValue; + basicinfo->type |= TYPE_MEMORY; + basicinfo->memory.value = (ULONG_PTR)disasm->Instruction.AddrValue; strcpy(basicinfo->memory.mnemonic, disasm->Argument2.ArgMnemonic); - basicinfo->memory.size=argsize2memsize(disasm->Argument2.ArgSize); + basicinfo->memory.size = argsize2memsize(disasm->Argument2.ArgSize); } } } @@ -99,15 +99,15 @@ bool disasmfast(unsigned char* data, uint addr, BASIC_INSTRUCTION_INFO* basicinf DISASM disasm; memset(&disasm, 0, sizeof(disasm)); #ifdef _WIN64 - disasm.Archi=64; + disasm.Archi = 64; #endif // _WIN64 - disasm.EIP=(UIntPtr)data; - disasm.VirtualAddr=(UInt64)addr; - int len=Disasm(&disasm); - if(len==UNKNOWN_OPCODE) + disasm.EIP = (UIntPtr)data; + disasm.VirtualAddr = (UInt64)addr; + int len = Disasm(&disasm); + if(len == UNKNOWN_OPCODE) return false; fillbasicinfo(&disasm, basicinfo); - basicinfo->size=len; + basicinfo->size = len; return true; } diff --git a/x64_dbg_dbg/disasm_helper.cpp b/x64_dbg_dbg/disasm_helper.cpp index 4944d3eb..9d0d62ae 100644 --- a/x64_dbg_dbg/disasm_helper.cpp +++ b/x64_dbg_dbg/disasm_helper.cpp @@ -20,16 +20,16 @@ uint disasmback(unsigned char* data, uint base, uint size, uint ip, int n) #ifdef _WIN64 disasm.Archi = 64; #endif - disasm.Options=NoformatNumeral; + disasm.Options = NoformatNumeral; // Check if the pointer is not null - if (data == NULL) + if(data == NULL) return 0; // Round the number of back instructions to 127 if(n < 0) n = 0; - else if (n > 127) + else if(n > 127) n = 127; // Check if the instruction pointer ip is not outside the memory range @@ -84,12 +84,12 @@ uint disasmnext(unsigned char* data, uint base, uint size, uint ip, int n) #ifdef _WIN64 disasm.Archi = 64; #endif - disasm.Options=NoformatNumeral; + disasm.Options = NoformatNumeral; if(data == NULL) return 0; - if (ip >= size) + if(ip >= size) ip = size - 1; if(n <= 0) @@ -115,18 +115,18 @@ uint disasmnext(unsigned char* data, uint base, uint size, uint ip, int n) const char* disasmtext(uint addr) { - unsigned char buffer[16]=""; + unsigned char buffer[16] = ""; DbgMemRead(addr, buffer, 16); DISASM disasm; - disasm.Options=NoformatNumeral; + disasm.Options = NoformatNumeral; #ifdef _WIN64 - disasm.Archi=64; + disasm.Archi = 64; #endif // _WIN64 - disasm.VirtualAddr=addr; - disasm.EIP=(UIntPtr)buffer; - int len=Disasm(&disasm); - static char instruction[INSTRUCT_LENGTH]=""; - if(len==UNKNOWN_OPCODE) + disasm.VirtualAddr = addr; + disasm.EIP = (UIntPtr)buffer; + int len = Disasm(&disasm); + static char instruction[INSTRUCT_LENGTH] = ""; + if(len == UNKNOWN_OPCODE) strcpy(instruction, "???"); else strcpy(instruction, disasm.CompleteInstr); @@ -161,26 +161,26 @@ static SEGMENTREG ConvertBeaSeg(int beaSeg) static bool HandleArgument(ARGTYPE* Argument, INSTRTYPE* Instruction, DISASM_ARG* arg, uint addr) { - int argtype=Argument->ArgType; - const char* argmnemonic=Argument->ArgMnemonic; + int argtype = Argument->ArgType; + const char* argmnemonic = Argument->ArgMnemonic; if(!*argmnemonic) return false; - arg->memvalue=0; + arg->memvalue = 0; strcpy(arg->mnemonic, argmnemonic); - if((argtype&MEMORY_TYPE)==MEMORY_TYPE) + if((argtype & MEMORY_TYPE) == MEMORY_TYPE) { - arg->type=arg_memory; - arg->segment=ConvertBeaSeg(Argument->SegmentReg); - uint value=(uint)Argument->Memory.Displacement; - if((Argument->ArgType&RELATIVE_)==RELATIVE_) - value=(uint)Instruction->AddrValue; - arg->constant=value; - arg->value=0; + arg->type = arg_memory; + arg->segment = ConvertBeaSeg(Argument->SegmentReg); + uint value = (uint)Argument->Memory.Displacement; + if((Argument->ArgType & RELATIVE_) == RELATIVE_) + value = (uint)Instruction->AddrValue; + arg->constant = value; + arg->value = 0; if(!valfromstring(argmnemonic, &value, true, true)) return false; if(DbgMemIsValidReadPtr(value)) { - arg->value=value; + arg->value = value; switch(Argument->ArgSize) //TODO: segments { case 8: @@ -200,17 +200,17 @@ static bool HandleArgument(ARGTYPE* Argument, INSTRTYPE* Instruction, DISASM_ARG } else { - arg->segment=SEG_DEFAULT; - arg->type=arg_normal; - uint value=0; + arg->segment = SEG_DEFAULT; + arg->type = arg_normal; + uint value = 0; if(!valfromstring(argmnemonic, &value, true, true)) return false; - arg->value=value; - char sValue[64]=""; + arg->value = value; + char sValue[64] = ""; sprintf(sValue, "%"fext"X", value); if(_stricmp(argmnemonic, sValue)) - value=0; - arg->constant=value; + value = 0; + arg->constant = value; } return true; } @@ -220,34 +220,34 @@ void disasmget(unsigned char* buffer, uint addr, DISASM_INSTR* instr) if(!DbgIsDebugging()) { if(instr) - instr->argcount=0; + instr->argcount = 0; return; } memset(instr, 0, sizeof(DISASM_INSTR)); DISASM disasm; memset(&disasm, 0, sizeof(DISASM)); - disasm.Options=NoformatNumeral; + disasm.Options = NoformatNumeral; #ifdef _WIN64 - disasm.Archi=64; + disasm.Archi = 64; #endif // _WIN64 - disasm.VirtualAddr=addr; - disasm.EIP=(UIntPtr)buffer; - int len=Disasm(&disasm); + disasm.VirtualAddr = addr; + disasm.EIP = (UIntPtr)buffer; + int len = Disasm(&disasm); strcpy(instr->instruction, disasm.CompleteInstr); - if(len==UNKNOWN_OPCODE) + if(len == UNKNOWN_OPCODE) { - instr->instr_size=1; - instr->type=instr_normal; - instr->argcount=0; + instr->instr_size = 1; + instr->type = instr_normal; + instr->argcount = 0; return; } - instr->instr_size=len; + instr->instr_size = len; if(disasm.Instruction.BranchType) - instr->type=instr_branch; + instr->type = instr_branch; else if(strstr(disasm.CompleteInstr, "sp") or strstr(disasm.CompleteInstr, "bp")) - instr->type=instr_stack; + instr->type = instr_stack; else - instr->type=instr_normal; + instr->type = instr_normal; if(HandleArgument(&disasm.Argument1, &disasm.Instruction, &instr->arg[instr->argcount], addr)) instr->argcount++; if(HandleArgument(&disasm.Argument2, &disasm.Instruction, &instr->arg[instr->argcount], addr)) @@ -261,10 +261,10 @@ void disasmget(uint addr, DISASM_INSTR* instr) if(!DbgIsDebugging()) { if(instr) - instr->argcount=0; + instr->argcount = 0; return; } - unsigned char buffer[16]=""; + unsigned char buffer[16] = ""; DbgMemRead(addr, buffer, 16); disasmget(buffer, addr, instr); } @@ -275,22 +275,22 @@ void disasmprint(uint addr) memset(&instr, 0, sizeof(instr)); disasmget(addr, &instr); dprintf(">%d:\"%s\":\n", instr.type, instr.instruction); - for(int i=0; i= maxlen) + if(len >= maxlen) break; } - if(len<2 or len+1>=maxlen) + if(len < 2 or len + 1 >= maxlen) return false; - for(int i=0; i= maxlen) + if(len >= maxlen) break; } - if(len<2 or len+1>=maxlen) + if(len < 2 or len + 1 >= maxlen) return false; - for(int i=0; ihProcess, (const void*)addr, data, sizeof(data)-3, 0)) + if(!memread(fdProcessInfo->hProcess, (const void*)addr, data, sizeof(data) - 3, 0)) return false; - uint test=0; + uint test = 0; memcpy(&test, data, sizeof(uint)); if(memisvalidreadptr(fdProcessInfo->hProcess, test)) //imports/pointers return false; @@ -335,17 +335,17 @@ bool disasmispossiblestring(uint addr) bool disasmgetstringat(uint addr, STRING_TYPE* type, char* ascii, char* unicode, int maxlen) { if(type) - *type=str_none; + *type = str_none; if(!disasmispossiblestring(addr)) return false; - unsigned char* data=(unsigned char*)emalloc((maxlen+1)*2, "disasmgetstringat:data"); - memset(data, 0, (maxlen+1)*2); - if(!memread(fdProcessInfo->hProcess, (const void*)addr, data, (maxlen+1)*2, 0)) + unsigned char* data = (unsigned char*)emalloc((maxlen + 1) * 2, "disasmgetstringat:data"); + memset(data, 0, (maxlen + 1) * 2); + if(!memread(fdProcessInfo->hProcess, (const void*)addr, data, (maxlen + 1) * 2, 0)) { efree(data, "disasmgetstringat:data"); return false; } - uint test=0; + uint test = 0; memcpy(&test, data, sizeof(uint)); if(memisvalidreadptr(fdProcessInfo->hProcess, test)) { @@ -355,35 +355,35 @@ bool disasmgetstringat(uint addr, STRING_TYPE* type, char* ascii, char* unicode, if(isasciistring(data, maxlen)) { if(type) - *type=str_ascii; - int len=(int)strlen((const char*)data); - for(int i=0,j=0; i15 and !hexonly) + if(value > 15 and !hexonly) { if(!valuesignedcalc()) //signed numbers sprintf(format_str, "%%s=%%.%d"fext"X (%%"fext"ud)\n", valsize); @@ -47,7 +47,7 @@ CMDRESULT cbBadCmd(int argc, char* argv[]) } else { - if(value>15 and !hexonly) + if(value > 15 and !hexonly) { if(!valuesignedcalc()) //signed numbers sprintf(format_str, "%%s=%%.%d"fext"X (%%"fext"ud)\n", valsize); @@ -73,18 +73,18 @@ CMDRESULT cbBadCmd(int argc, char* argv[]) CMDRESULT cbInstrVar(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments!"); return STATUS_ERROR; } - char arg2[deflen]=""; + char arg2[deflen] = ""; argget(*argv, arg2, 1, true); //var value (optional) - uint value=0; - int add=0; - if(*argv[1]=='$') + uint value = 0; + int add = 0; + if(*argv[1] == '$') add++; - if(valfromstring(argv[1]+add, &value)) + if(valfromstring(argv[1] + add, &value)) { dprintf("invalid variable name \"%s\"\n", argv[1]); return STATUS_ERROR; @@ -101,7 +101,7 @@ CMDRESULT cbInstrVar(int argc, char* argv[]) } else { - if(value>15) + if(value > 15) dprintf("%s=%"fext"X (%"fext"ud)\n", argv[1], value, value); else dprintf("%s=%"fext"X\n", argv[1], value); @@ -111,7 +111,7 @@ CMDRESULT cbInstrVar(int argc, char* argv[]) CMDRESULT cbInstrVarDel(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments!"); return STATUS_ERROR; @@ -125,22 +125,22 @@ CMDRESULT cbInstrVarDel(int argc, char* argv[]) CMDRESULT cbInstrMov(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments"); return STATUS_ERROR; } - uint set_value=0; + uint set_value = 0; if(!valfromstring(argv[2], &set_value)) { dprintf("invalid src \"%s\"\n", argv[2]); return STATUS_ERROR; } - bool isvar=false; - uint temp=0; + bool isvar = false; + uint temp = 0; valfromstring(argv[1], &temp, true, false, 0, &isvar, 0); if(!isvar) - isvar=vargettype(argv[1], 0); + isvar = vargettype(argv[1], 0); if(!isvar or !valtostring(argv[1], &set_value, true)) { uint value; @@ -156,39 +156,39 @@ CMDRESULT cbInstrMov(int argc, char* argv[]) CMDRESULT cbInstrVarList(int argc, char* argv[]) { - char arg1[deflen]=""; + char arg1[deflen] = ""; argget(*argv, arg1, 0, true); - int filter=0; + int filter = 0; if(!_stricmp(arg1, "USER")) - filter=VAR_USER; + filter = VAR_USER; else if(!_stricmp(arg1, "READONLY")) - filter=VAR_READONLY; + filter = VAR_READONLY; else if(!_stricmp(arg1, "SYSTEM")) - filter=VAR_SYSTEM; - VAR* cur=vargetptr(); + filter = VAR_SYSTEM; + VAR* cur = vargetptr(); if(!cur or !cur->name) { dputs("no variables"); return STATUS_CONTINUE; } - bool bNext=true; + bool bNext = true; while(bNext) { - char name[deflen]=""; + char name[deflen] = ""; strcpy(name, cur->name); - int len=(int)strlen(name); - for(int i=0; ivalue.u.value; - if(cur->type!=VAR_HIDDEN) + int len = (int)strlen(name); + for(int i = 0; i < len; i++) + if(name[i] == 1) + name[i] = '/'; + uint value = (uint)cur->value.u.value; + if(cur->type != VAR_HIDDEN) { if(filter) { - if(cur->type==filter) + if(cur->type == filter) { - if(value>15) + if(value > 15) dprintf("%s=%"fext"X (%"fext"ud)\n", name, value, value); else dprintf("%s=%"fext"X\n", name, value); @@ -196,22 +196,22 @@ CMDRESULT cbInstrVarList(int argc, char* argv[]) } else { - if(value>15) + if(value > 15) dprintf("%s=%"fext"X (%"fext"ud)\n", name, value, value); else dprintf("%s=%"fext"X\n", name, value); } } - cur=cur->next; + cur = cur->next; if(!cur) - bNext=false; + bNext = false; } return STATUS_CONTINUE; } CMDRESULT cbInstrChd(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments!"); return STATUS_ERROR; @@ -228,12 +228,12 @@ CMDRESULT cbInstrChd(int argc, char* argv[]) CMDRESULT cbInstrCmt(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; } - uint addr=0; + uint addr = 0; if(!valfromstring(argv[1], &addr, false)) return STATUS_ERROR; if(!commentset(addr, argv[2], true)) @@ -246,12 +246,12 @@ CMDRESULT cbInstrCmt(int argc, char* argv[]) CMDRESULT cbInstrCmtdel(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments!"); return STATUS_ERROR; } - uint addr=0; + uint addr = 0; if(!valfromstring(argv[1], &addr, false)) return STATUS_ERROR; if(!commentdel(addr)) @@ -265,12 +265,12 @@ CMDRESULT cbInstrCmtdel(int argc, char* argv[]) CMDRESULT cbInstrLbl(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; } - uint addr=0; + uint addr = 0; if(!valfromstring(argv[1], &addr, false)) return STATUS_ERROR; if(!labelset(addr, argv[2], true)) @@ -284,12 +284,12 @@ CMDRESULT cbInstrLbl(int argc, char* argv[]) CMDRESULT cbInstrLbldel(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments!"); return STATUS_ERROR; } - uint addr=0; + uint addr = 0; if(!valfromstring(argv[1], &addr, false)) return STATUS_ERROR; if(!labeldel(addr)) @@ -302,12 +302,12 @@ CMDRESULT cbInstrLbldel(int argc, char* argv[]) CMDRESULT cbInstrBookmarkSet(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments!"); return STATUS_ERROR; } - uint addr=0; + uint addr = 0; if(!valfromstring(argv[1], &addr, false)) return STATUS_ERROR; if(!bookmarkset(addr, true)) @@ -321,12 +321,12 @@ CMDRESULT cbInstrBookmarkSet(int argc, char* argv[]) CMDRESULT cbInstrBookmarkDel(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments!"); return STATUS_ERROR; } - uint addr=0; + uint addr = 0; if(!valfromstring(argv[1], &addr, false)) return STATUS_ERROR; if(!bookmarkdel(addr)) @@ -353,12 +353,12 @@ CMDRESULT cbSavedb(int argc, char* argv[]) CMDRESULT cbAssemble(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; } - uint addr=0; + uint addr = 0; if(!valfromstring(argv[1], &addr)) { dprintf("invalid expression: \"%s\"!\n", argv[1]); @@ -369,11 +369,11 @@ CMDRESULT cbAssemble(int argc, char* argv[]) dprintf("invalid address: "fhex"!\n", addr); return STATUS_ERROR; } - bool fillnop=false; - if(argc>3) - fillnop=true; - char error[256]=""; - int size=0; + bool fillnop = false; + if(argc > 3) + fillnop = true; + char error[256] = ""; + int size = 0; if(!assembleat(addr, argv[2], &size, error, fillnop)) { varset("$result", size, false); @@ -387,13 +387,13 @@ CMDRESULT cbAssemble(int argc, char* argv[]) CMDRESULT cbFunctionAdd(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; } - uint start=0; - uint end=0; + uint start = 0; + uint end = 0; if(!valfromstring(argv[1], &start, false) or !valfromstring(argv[2], &end, false)) return STATUS_ERROR; if(!functionadd(start, end, true)) @@ -408,12 +408,12 @@ CMDRESULT cbFunctionAdd(int argc, char* argv[]) CMDRESULT cbFunctionDel(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments!"); return STATUS_ERROR; } - uint addr=0; + uint addr = 0; if(!valfromstring(argv[1], &addr, false)) return STATUS_ERROR; if(!functiondel(addr)) @@ -428,36 +428,36 @@ CMDRESULT cbFunctionDel(int argc, char* argv[]) CMDRESULT cbInstrCmp(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; } - uint arg1=0; + uint arg1 = 0; if(!valfromstring(argv[1], &arg1, false)) return STATUS_ERROR; - uint arg2=0; + uint arg2 = 0; if(!valfromstring(argv[2], &arg2, false)) return STATUS_ERROR; uint ezflag; uint bsflag; - if(arg1==arg2) - ezflag=1; + if(arg1 == arg2) + ezflag = 1; else - ezflag=0; + ezflag = 0; if(valuesignedcalc()) //signed comparision { - if((sint)arg1<(sint)arg2) - bsflag=0; + if((sint)arg1 < (sint)arg2) + bsflag = 0; else - bsflag=1; + bsflag = 1; } else //unsigned comparision { - if(arg1>arg2) - bsflag=1; + if(arg1 > arg2) + bsflag = 1; else - bsflag=0; + bsflag = 0; } varset("$_EZ_FLAG", ezflag, true); varset("$_BS_FLAG", bsflag, true); @@ -467,17 +467,17 @@ CMDRESULT cbInstrCmp(int argc, char* argv[]) CMDRESULT cbInstrGpa(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments!"); return STATUS_ERROR; } - char newcmd[deflen]=""; - if(argc>=3) + char newcmd[deflen] = ""; + if(argc >= 3) sprintf(newcmd, "%s:%s", argv[2], argv[1]); else sprintf(newcmd, "%s", argv[1]); - uint result=0; + uint result = 0; if(!valfromstring(newcmd, &result, false)) return STATUS_ERROR; varset("$RESULT", result, false); @@ -486,184 +486,184 @@ CMDRESULT cbInstrGpa(int argc, char* argv[]) CMDRESULT cbInstrAdd(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; } - char newcmd[deflen]=""; + char newcmd[deflen] = ""; sprintf(newcmd, "mov %s,%s+%s", argv[1], argv[1], argv[2]); return cmddirectexec(dbggetcommandlist(), newcmd); } CMDRESULT cbInstrAnd(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; } - char newcmd[deflen]=""; + char newcmd[deflen] = ""; sprintf(newcmd, "mov %s,%s&%s", argv[1], argv[1], argv[2]); return cmddirectexec(dbggetcommandlist(), newcmd); } CMDRESULT cbInstrDec(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments!"); return STATUS_ERROR; } - char newcmd[deflen]=""; + char newcmd[deflen] = ""; sprintf(newcmd, "mov %s,%s-1", argv[1], argv[1]); return cmddirectexec(dbggetcommandlist(), newcmd); } CMDRESULT cbInstrDiv(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; } - char newcmd[deflen]=""; + char newcmd[deflen] = ""; sprintf(newcmd, "mov %s,%s/%s", argv[1], argv[1], argv[2]); return cmddirectexec(dbggetcommandlist(), newcmd); } CMDRESULT cbInstrInc(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments!"); return STATUS_ERROR; } - char newcmd[deflen]=""; + char newcmd[deflen] = ""; sprintf(newcmd, "mov %s,%s+1", argv[1], argv[1]); return cmddirectexec(dbggetcommandlist(), newcmd); } CMDRESULT cbInstrMul(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; } - char newcmd[deflen]=""; + char newcmd[deflen] = ""; sprintf(newcmd, "mov %s,%s*%s", argv[1], argv[1], argv[2]); return cmddirectexec(dbggetcommandlist(), newcmd); } CMDRESULT cbInstrNeg(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments!"); return STATUS_ERROR; } - char newcmd[deflen]=""; + char newcmd[deflen] = ""; sprintf(newcmd, "mov %s,%s*-1", argv[1], argv[1]); return cmddirectexec(dbggetcommandlist(), newcmd); } CMDRESULT cbInstrNot(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments!"); return STATUS_ERROR; } - char newcmd[deflen]=""; + char newcmd[deflen] = ""; sprintf(newcmd, "mov %s,~%s", argv[1], argv[1]); return cmddirectexec(dbggetcommandlist(), newcmd); } CMDRESULT cbInstrOr(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; } - char newcmd[deflen]=""; + char newcmd[deflen] = ""; sprintf(newcmd, "mov %s,%s|%s", argv[1], argv[1], argv[2]); return cmddirectexec(dbggetcommandlist(), newcmd); } CMDRESULT cbInstrRol(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; } - char newcmd[deflen]=""; + char newcmd[deflen] = ""; sprintf(newcmd, "mov %s,%s<%s", argv[1], argv[1], argv[2]); - bool signedcalc=valuesignedcalc(); + bool signedcalc = valuesignedcalc(); valuesetsignedcalc(true); //rol = signed - CMDRESULT res=cmddirectexec(dbggetcommandlist(), newcmd); + CMDRESULT res = cmddirectexec(dbggetcommandlist(), newcmd); valuesetsignedcalc(signedcalc); return res; } CMDRESULT cbInstrRor(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; } - char newcmd[deflen]=""; + char newcmd[deflen] = ""; sprintf(newcmd, "mov %s,%s>%s", argv[1], argv[1], argv[2]); - bool signedcalc=valuesignedcalc(); + bool signedcalc = valuesignedcalc(); valuesetsignedcalc(true); //ror = signed - CMDRESULT res=cmddirectexec(dbggetcommandlist(), newcmd); + CMDRESULT res = cmddirectexec(dbggetcommandlist(), newcmd); valuesetsignedcalc(signedcalc); return res; } CMDRESULT cbInstrShl(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; } - char newcmd[deflen]=""; + char newcmd[deflen] = ""; sprintf(newcmd, "mov %s,%s<%s", argv[1], argv[1], argv[2]); - bool signedcalc=valuesignedcalc(); + bool signedcalc = valuesignedcalc(); valuesetsignedcalc(false); //shl = unsigned - CMDRESULT res=cmddirectexec(dbggetcommandlist(), newcmd); + CMDRESULT res = cmddirectexec(dbggetcommandlist(), newcmd); valuesetsignedcalc(signedcalc); return res; } CMDRESULT cbInstrShr(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; } - char newcmd[deflen]=""; + char newcmd[deflen] = ""; sprintf(newcmd, "mov %s,%s>%s", argv[1], argv[1], argv[2]); - bool signedcalc=valuesignedcalc(); + bool signedcalc = valuesignedcalc(); valuesetsignedcalc(false); //shr = unsigned - CMDRESULT res=cmddirectexec(dbggetcommandlist(), newcmd); + CMDRESULT res = cmddirectexec(dbggetcommandlist(), newcmd); valuesetsignedcalc(signedcalc); return res; } CMDRESULT cbInstrSub(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; } - char newcmd[deflen]=""; + char newcmd[deflen] = ""; sprintf(newcmd, "mov %s,%s-%s", argv[1], argv[1], argv[2]); return cmddirectexec(dbggetcommandlist(), newcmd); } @@ -671,23 +671,23 @@ CMDRESULT cbInstrSub(int argc, char* argv[]) CMDRESULT cbInstrTest(int argc, char* argv[]) { //TODO: test - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; } - uint arg1=0; + uint arg1 = 0; if(!valfromstring(argv[1], &arg1, false)) return STATUS_ERROR; - uint arg2=0; + uint arg2 = 0; if(!valfromstring(argv[2], &arg2, false)) return STATUS_ERROR; uint ezflag; - uint bsflag=0; - if(!(arg1&arg2)) - ezflag=1; + uint bsflag = 0; + if(!(arg1 & arg2)) + ezflag = 1; else - ezflag=0; + ezflag = 0; varset("$_EZ_FLAG", ezflag, true); varset("$_BS_FLAG", bsflag, true); //dprintf("$_EZ_FLAG=%d, $_BS_FLAG=%d\n", ezflag, bsflag); @@ -696,12 +696,12 @@ CMDRESULT cbInstrTest(int argc, char* argv[]) CMDRESULT cbInstrXor(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; } - char newcmd[deflen]=""; + char newcmd[deflen] = ""; sprintf(newcmd, "mov %s,%s^%s", argv[1], argv[1], argv[2]); return cmddirectexec(dbggetcommandlist(), newcmd); } @@ -709,29 +709,29 @@ CMDRESULT cbInstrXor(int argc, char* argv[]) CMDRESULT cbInstrRefinit(int argc, char* argv[]) { GuiReferenceDeleteAllColumns(); - GuiReferenceAddColumn(sizeof(uint)*2, "Address"); + GuiReferenceAddColumn(sizeof(uint) * 2, "Address"); GuiReferenceAddColumn(0, "Data"); GuiReferenceSetRowCount(0); GuiReferenceReloadData(); - bRefinit=true; + bRefinit = true; return STATUS_CONTINUE; } CMDRESULT cbInstrRefadd(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; } - uint addr=0; + uint addr = 0; if(!valfromstring(argv[1], &addr, false)) return STATUS_ERROR; if(!bRefinit) cbInstrRefinit(argc, argv); - int index=GuiReferenceGetRowCount(); - GuiReferenceSetRowCount(index+1); - char addr_text[deflen]=""; + int index = GuiReferenceGetRowCount(); + GuiReferenceSetRowCount(index + 1); + char addr_text[deflen] = ""; sprintf(addr_text, fhex, addr); GuiReferenceSetCellContent(index, 0, addr_text); GuiReferenceSetCellContent(index, 1, argv[2]); @@ -745,35 +745,35 @@ static bool cbRefFind(DISASM* disasm, BASIC_INSTRUCTION_INFO* basicinfo, REFINFO if(!refinfo) //initialize { GuiReferenceDeleteAllColumns(); - GuiReferenceAddColumn(2*sizeof(uint), "Address"); + GuiReferenceAddColumn(2 * sizeof(uint), "Address"); GuiReferenceAddColumn(0, "Disassembly"); GuiReferenceReloadData(); return true; } - bool found=false; - uint value=(uint)refinfo->userinfo; - if((basicinfo->type&TYPE_VALUE)==TYPE_VALUE) + bool found = false; + uint value = (uint)refinfo->userinfo; + if((basicinfo->type & TYPE_VALUE) == TYPE_VALUE) { - if(basicinfo->value.value==value) - found=true; + if(basicinfo->value.value == value) + found = true; } - if((basicinfo->type&TYPE_MEMORY)==TYPE_MEMORY) + if((basicinfo->type & TYPE_MEMORY) == TYPE_MEMORY) { - if(basicinfo->memory.value==value) - found=true; + if(basicinfo->memory.value == value) + found = true; } - if((basicinfo->type&TYPE_ADDR)==TYPE_ADDR) + if((basicinfo->type & TYPE_ADDR) == TYPE_ADDR) { - if(basicinfo->addr==value) - found=true; + if(basicinfo->addr == value) + found = true; } if(found) { - char addrText[20]=""; + char addrText[20] = ""; sprintf(addrText, "%p", disasm->VirtualAddr); - GuiReferenceSetRowCount(refinfo->refcount+1); + GuiReferenceSetRowCount(refinfo->refcount + 1); GuiReferenceSetCellContent(refinfo->refcount, 0, addrText); - char disassembly[2048]=""; + char disassembly[2048] = ""; if(GuiGetDisassembly((duint)disasm->VirtualAddr, disassembly)) GuiReferenceSetCellContent(refinfo->refcount, 1, disassembly); else @@ -784,24 +784,24 @@ static bool cbRefFind(DISASM* disasm, BASIC_INSTRUCTION_INFO* basicinfo, REFINFO CMDRESULT cbInstrRefFind(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments!"); return STATUS_ERROR; } - uint value=0; + uint value = 0; if(!valfromstring(argv[1], &value, false)) return STATUS_ERROR; - uint addr=0; - if(argc<3 or !valfromstring(argv[2], &addr)) - addr=GetContextDataEx(hActiveThread, UE_CIP); - uint size=0; - if(argc>=4) + uint addr = 0; + if(argc < 3 or !valfromstring(argv[2], &addr)) + addr = GetContextDataEx(hActiveThread, UE_CIP); + uint size = 0; + if(argc >= 4) if(!valfromstring(argv[3], &size)) - size=0; - uint ticks=GetTickCount(); - int found=reffind(addr, size, cbRefFind, (void*)value, false); - dprintf("%u reference(s) in %ums\n", found, GetTickCount()-ticks); + size = 0; + uint ticks = GetTickCount(); + int found = reffind(addr, size, cbRefFind, (void*)value, false); + dprintf("%u reference(s) in %ums\n", found, GetTickCount() - ticks); varset("$result", found, false); return STATUS_CONTINUE; } @@ -812,41 +812,41 @@ bool cbRefStr(DISASM* disasm, BASIC_INSTRUCTION_INFO* basicinfo, REFINFO* refinf if(!refinfo) //initialize { GuiReferenceDeleteAllColumns(); - GuiReferenceAddColumn(2*sizeof(uint), "Address"); + GuiReferenceAddColumn(2 * sizeof(uint), "Address"); GuiReferenceAddColumn(64, "Disassembly"); GuiReferenceAddColumn(0, "String"); GuiReferenceSetSearchStartCol(2); //only search the strings GuiReferenceReloadData(); return true; } - bool found=false; + bool found = false; STRING_TYPE strtype; - char string[1024]=""; + char string[1024] = ""; if(basicinfo->branch) //branches have no strings (jmp dword [401000]) return false; - if((basicinfo->type&TYPE_VALUE)==TYPE_VALUE) + if((basicinfo->type & TYPE_VALUE) == TYPE_VALUE) { if(disasmgetstringat(basicinfo->value.value, &strtype, string, string, 500)) - found=true; + found = true; } - if((basicinfo->type&TYPE_MEMORY)==TYPE_MEMORY) + if((basicinfo->type & TYPE_MEMORY) == TYPE_MEMORY) { if(!found and disasmgetstringat(basicinfo->memory.value, &strtype, string, string, 500)) - found=true; + found = true; } if(found) { - char addrText[20]=""; + char addrText[20] = ""; sprintf(addrText, "%p", disasm->VirtualAddr); - GuiReferenceSetRowCount(refinfo->refcount+1); + GuiReferenceSetRowCount(refinfo->refcount + 1); GuiReferenceSetCellContent(refinfo->refcount, 0, addrText); - char disassembly[4096]=""; + char disassembly[4096] = ""; if(GuiGetDisassembly((duint)disasm->VirtualAddr, disassembly)) GuiReferenceSetCellContent(refinfo->refcount, 1, disassembly); else GuiReferenceSetCellContent(refinfo->refcount, 1, disasm->CompleteInstr); - char dispString[1024]=""; - if(strtype==str_ascii) + char dispString[1024] = ""; + if(strtype == str_ascii) sprintf(dispString, "\"%s\"", string); else sprintf(dispString, "L\"%s\"", string); @@ -858,22 +858,22 @@ bool cbRefStr(DISASM* disasm, BASIC_INSTRUCTION_INFO* basicinfo, REFINFO* refinf CMDRESULT cbInstrRefStr(int argc, char* argv[]) { uint addr; - if(argc<2 or !valfromstring(argv[1], &addr, true)) - addr=GetContextDataEx(hActiveThread, UE_CIP); - uint size=0; - if(argc>=3) + if(argc < 2 or !valfromstring(argv[1], &addr, true)) + addr = GetContextDataEx(hActiveThread, UE_CIP); + uint size = 0; + if(argc >= 3) if(!valfromstring(argv[2], &size, true)) - size=0; - uint ticks=GetTickCount(); - int found=reffind(addr, size, cbRefStr, 0, false); - dprintf("%u string(s) in %ums\n", found, GetTickCount()-ticks); + size = 0; + uint ticks = GetTickCount(); + int found = reffind(addr, size, cbRefStr, 0, false); + dprintf("%u string(s) in %ums\n", found, GetTickCount() - ticks); varset("$result", found, false); return STATUS_CONTINUE; } CMDRESULT cbInstrSetstr(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; @@ -889,7 +889,7 @@ CMDRESULT cbInstrSetstr(int argc, char* argv[]) dprintf("failed to set variable \"%s\"!\n", argv[1]); return STATUS_ERROR; } - char cmd[deflen]=""; + char cmd[deflen] = ""; sprintf(cmd, "getstr \"%s\"", argv[1]); cmddirectexec(dbggetcommandlist(), cmd); return STATUS_CONTINUE; @@ -897,7 +897,7 @@ CMDRESULT cbInstrSetstr(int argc, char* argv[]) CMDRESULT cbInstrGetstr(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments!"); return STATUS_ERROR; @@ -908,7 +908,7 @@ CMDRESULT cbInstrGetstr(int argc, char* argv[]) dprintf("no such variable \"%s\"!\n", argv[1]); return STATUS_ERROR; } - if(valtype!=VAR_STRING) + if(valtype != VAR_STRING) { dprintf("variable \"%s\" is not a string!\n", argv[1]); return STATUS_ERROR; @@ -919,8 +919,8 @@ CMDRESULT cbInstrGetstr(int argc, char* argv[]) dprintf("failed to get variable size \"%s\"!\n", argv[1]); return STATUS_ERROR; } - char* string=(char*)emalloc(size+1, "cbInstrGetstr:string"); - memset(string, 0, size+1); + char* string = (char*)emalloc(size + 1, "cbInstrGetstr:string"); + memset(string, 0, size + 1); if(!varget(argv[1], string, &size, 0)) { efree(string, "cbInstrGetstr:string"); @@ -934,7 +934,7 @@ CMDRESULT cbInstrGetstr(int argc, char* argv[]) CMDRESULT cbInstrCopystr(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; @@ -945,7 +945,7 @@ CMDRESULT cbInstrCopystr(int argc, char* argv[]) dprintf("no such variable \"%s\"!\n", argv[2]); return STATUS_ERROR; } - if(valtype!=VAR_STRING) + if(valtype != VAR_STRING) { dprintf("variable \"%s\" is not a string!\n", argv[2]); return STATUS_ERROR; @@ -956,8 +956,8 @@ CMDRESULT cbInstrCopystr(int argc, char* argv[]) dprintf("failed to get variable size \"%s\"!\n", argv[2]); return STATUS_ERROR; } - char* string=(char*)emalloc(size+1, "cbInstrGetstr:string"); - memset(string, 0, size+1); + char* string = (char*)emalloc(size + 1, "cbInstrGetstr:string"); + memset(string, 0, size + 1); if(!varget(argv[2], string, &size, 0)) { efree(string, "cbInstrCopystr:string"); @@ -986,52 +986,52 @@ CMDRESULT cbInstrCopystr(int argc, char* argv[]) CMDRESULT cbInstrFind(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; } - uint addr=0; + uint addr = 0; if(!valfromstring(argv[1], &addr, false)) return STATUS_ERROR; - char pattern[deflen]=""; + char pattern[deflen] = ""; //remove # from the start and end of the pattern (ODBGScript support) - if(argv[2][0]=='#') - strcpy(pattern, argv[2]+1); + if(argv[2][0] == '#') + strcpy(pattern, argv[2] + 1); else strcpy(pattern, argv[2]); - int len=(int)strlen(pattern); - if(pattern[len-1]=='#') - pattern[len-1]='\0'; - uint size=0; - uint base=memfindbaseaddr(addr, &size, true); + int len = (int)strlen(pattern); + if(pattern[len - 1] == '#') + pattern[len - 1] = '\0'; + uint size = 0; + uint base = memfindbaseaddr(addr, &size, true); if(!base) { dprintf("invalid memory address "fhex"!\n", addr); return STATUS_ERROR; } - unsigned char* data=(unsigned char*)emalloc(size, "cbInstrFind:data"); + unsigned char* data = (unsigned char*)emalloc(size, "cbInstrFind:data"); if(!memread(fdProcessInfo->hProcess, (const void*)base, data, size, 0)) { efree(data, "cbInstrFind:data"); dputs("failed to read memory!"); return STATUS_ERROR; } - uint start=addr-base; - uint find_size=0; - if(argc>=4) + uint start = addr - base; + uint find_size = 0; + if(argc >= 4) { if(!valfromstring(argv[3], &find_size)) - find_size=size-start; - if(find_size>(size-start)) - find_size=size-start; + find_size = size - start; + if(find_size > (size - start)) + find_size = size - start; } else - find_size=size-start; - uint foundoffset=memfindpattern(data+start, find_size, pattern); - uint result=0; - if(foundoffset!=-1) - result=addr+foundoffset; + find_size = size - start; + uint foundoffset = memfindpattern(data + start, find_size, pattern); + uint result = 0; + if(foundoffset != -1) + result = addr + foundoffset; varset("$result", result, false); efree(data, "cbInstrFind:data"); return STATUS_CONTINUE; @@ -1039,88 +1039,88 @@ CMDRESULT cbInstrFind(int argc, char* argv[]) CMDRESULT cbInstrFindAll(int argc, char* argv[]) { - if(argc<3) + if(argc < 3) { dputs("not enough arguments!"); return STATUS_ERROR; } - uint addr=0; + uint addr = 0; if(!valfromstring(argv[1], &addr, false)) return STATUS_ERROR; - char pattern[deflen]=""; + char pattern[deflen] = ""; //remove # from the start and end of the pattern (ODBGScript support) - if(argv[2][0]=='#') - strcpy(pattern, argv[2]+1); + if(argv[2][0] == '#') + strcpy(pattern, argv[2] + 1); else strcpy(pattern, argv[2]); - int len=(int)strlen(pattern); - if(pattern[len-1]=='#') - pattern[len-1]='\0'; - uint size=0; - uint base=memfindbaseaddr(addr, &size, true); + int len = (int)strlen(pattern); + if(pattern[len - 1] == '#') + pattern[len - 1] = '\0'; + uint size = 0; + uint base = memfindbaseaddr(addr, &size, true); if(!base) { dprintf("invalid memory address "fhex"!\n", addr); return STATUS_ERROR; } - unsigned char* data=(unsigned char*)emalloc(size, "cbInstrFindAll:data"); + unsigned char* data = (unsigned char*)emalloc(size, "cbInstrFindAll:data"); if(!memread(fdProcessInfo->hProcess, (const void*)base, data, size, 0)) { efree(data, "cbInstrFindAll:data"); dputs("failed to read memory!"); return STATUS_ERROR; } - uint start=addr-base; - uint find_size=0; - bool findData=false; - if(argc>=4) + uint start = addr - base; + uint find_size = 0; + bool findData = false; + if(argc >= 4) { if(!_stricmp(argv[3], "&data&")) { - find_size=size-start; - findData=true; + find_size = size - start; + findData = true; } else if(!valfromstring(argv[3], &find_size)) - find_size=size-start; - else if(find_size>(size-start)) - find_size=size-start; + find_size = size - start; + else if(find_size > (size - start)) + find_size = size - start; } else - find_size=size-start; + find_size = size - start; //setup reference view GuiReferenceDeleteAllColumns(); - GuiReferenceAddColumn(2*sizeof(uint), "Address"); + GuiReferenceAddColumn(2 * sizeof(uint), "Address"); if(findData) GuiReferenceAddColumn(0, "&Data&"); else GuiReferenceAddColumn(0, "Disassembly"); GuiReferenceReloadData(); - DWORD ticks=GetTickCount(); - int refCount=0; - uint i=0; - uint result=0; + DWORD ticks = GetTickCount(); + int refCount = 0; + uint i = 0; + uint result = 0; while(refCount < 5000) { - int patternsize=0; - uint foundoffset=memfindpattern(data+start+i, find_size-i, pattern, &patternsize); - if(foundoffset==-1) + int patternsize = 0; + uint foundoffset = memfindpattern(data + start + i, find_size - i, pattern, &patternsize); + if(foundoffset == -1) break; - i+=foundoffset+1; - result=addr+i-1; - char msg[deflen]=""; + i += foundoffset + 1; + result = addr + i - 1; + char msg[deflen] = ""; sprintf(msg, fhex, result); - GuiReferenceSetRowCount(refCount+1); + GuiReferenceSetRowCount(refCount + 1); GuiReferenceSetCellContent(refCount, 0, msg); if(findData) { - unsigned char* printData=(unsigned char*)emalloc(patternsize, "cbInstrFindAll:printData"); + unsigned char* printData = (unsigned char*)emalloc(patternsize, "cbInstrFindAll:printData"); memread(fdProcessInfo->hProcess, (const void*)result, printData, patternsize, 0); - for(int j=0,k=0; jcall) //we are looking for calls { - uint ptr=basicinfo->addr > 0 ? basicinfo->addr : basicinfo->memory.value; - char label[MAX_LABEL_SIZE]=""; - found=DbgGetLabelAt(ptr, SEG_DEFAULT, label) && !labelget(ptr, label); //a non-user label + uint ptr = basicinfo->addr > 0 ? basicinfo->addr : basicinfo->memory.value; + char label[MAX_LABEL_SIZE] = ""; + found = DbgGetLabelAt(ptr, SEG_DEFAULT, label) && !labelget(ptr, label); //a non-user label } if(found) { - char addrText[20]=""; + char addrText[20] = ""; sprintf(addrText, "%p", disasm->VirtualAddr); - GuiReferenceSetRowCount(refinfo->refcount+1); + GuiReferenceSetRowCount(refinfo->refcount + 1); GuiReferenceSetCellContent(refinfo->refcount, 0, addrText); - char disassembly[2048]=""; + char disassembly[2048] = ""; if(GuiGetDisassembly((duint)disasm->VirtualAddr, disassembly)) GuiReferenceSetCellContent(refinfo->refcount, 1, disassembly); else @@ -1173,15 +1173,15 @@ static bool cbModCallFind(DISASM* disasm, BASIC_INSTRUCTION_INFO* basicinfo, REF CMDRESULT cbInstrModCallFind(int argc, char* argv[]) { uint addr; - if(argc<2 or !valfromstring(argv[1], &addr, true)) - addr=GetContextDataEx(hActiveThread, UE_CIP); - uint size=0; - if(argc>=3) + if(argc < 2 or !valfromstring(argv[1], &addr, true)) + addr = GetContextDataEx(hActiveThread, UE_CIP); + uint size = 0; + if(argc >= 3) if(!valfromstring(argv[2], &size, true)) - size=0; - uint ticks=GetTickCount(); - int found=reffind(addr, size, cbModCallFind, 0, false); - dprintf("%u call(s) in %ums\n", found, GetTickCount()-ticks); + size = 0; + uint ticks = GetTickCount(); + int found = reffind(addr, size, cbModCallFind, 0, false); + dprintf("%u call(s) in %ums\n", found, GetTickCount() - ticks); varset("$result", found, false); return STATUS_CONTINUE; } @@ -1190,7 +1190,7 @@ CMDRESULT cbInstrCommentList(int argc, char* argv[]) { //setup reference view GuiReferenceDeleteAllColumns(); - GuiReferenceAddColumn(2*sizeof(uint), "Address"); + GuiReferenceAddColumn(2 * sizeof(uint), "Address"); GuiReferenceAddColumn(64, "Disassembly"); GuiReferenceAddColumn(0, "Comment"); GuiReferenceReloadData(); @@ -1201,16 +1201,16 @@ CMDRESULT cbInstrCommentList(int argc, char* argv[]) dputs("no comments"); return STATUS_CONTINUE; } - COMMENTSINFO* comments=(COMMENTSINFO*)emalloc(cbsize, "cbInstrCommentList:comments"); + COMMENTSINFO* comments = (COMMENTSINFO*)emalloc(cbsize, "cbInstrCommentList:comments"); commentenum(comments, 0); - int count=(int)(cbsize/sizeof(COMMENTSINFO)); - for(int i=0; i1) + uint ms = 100; + if(argc > 1) if(!valfromstring(argv[1], &ms, false)) return STATUS_ERROR; - if(ms>=0xFFFFFFFF) - ms=100; + if(ms >= 0xFFFFFFFF) + ms = 100; Sleep((DWORD)ms); return STATUS_CONTINUE; } \ No newline at end of file diff --git a/x64_dbg_dbg/jansson/jansson.h b/x64_dbg_dbg/jansson/jansson.h index fe17a97a..908bb6ff 100644 --- a/x64_dbg_dbg/jansson/jansson.h +++ b/x64_dbg_dbg/jansson/jansson.h @@ -88,13 +88,13 @@ typedef long json_int_t; __declspec(dllimport) json_t* json_object(void); __declspec(dllimport) json_t* json_array(void); -__declspec(dllimport) json_t* json_string(const char *value); -__declspec(dllimport) json_t* json_stringn(const char *value, size_t len); -__declspec(dllimport) json_t* json_string_nocheck(const char *value); -__declspec(dllimport) json_t* json_stringn_nocheck(const char *value, size_t len); +__declspec(dllimport) json_t* json_string(const char* value); +__declspec(dllimport) json_t* json_stringn(const char* value, size_t len); +__declspec(dllimport) json_t* json_string_nocheck(const char* value); +__declspec(dllimport) json_t* json_stringn_nocheck(const char* value, size_t len); __declspec(dllimport) json_t* json_integer(json_int_t value); static JSON_INLINE -json_t *json_hex(json_int_t value) +json_t* json_hex(json_int_t value) { char hexvalue[20]; #ifdef _WIN64 @@ -111,20 +111,20 @@ __declspec(dllimport) json_t* json_false(void); __declspec(dllimport) json_t* json_null(void); static JSON_INLINE -json_t *json_incref(json_t *json) +json_t* json_incref(json_t* json) { - if(json && json->refcount != (size_t)-1) + if(json && json->refcount != (size_t) - 1) ++json->refcount; return json; } /* do not call json_delete directly */ -__declspec(dllimport) void json_delete(json_t *json); +__declspec(dllimport) void json_delete(json_t* json); static JSON_INLINE -void json_decref(json_t *json) +void json_decref(json_t* json) { - if(json && json->refcount != (size_t)-1 && --json->refcount == 0) + if(json && json->refcount != (size_t) - 1 && --json->refcount == 0) json_delete(json); } @@ -147,22 +147,22 @@ typedef struct /* getters, setters, manipulation */ __declspec(dllimport) void json_object_seed(size_t seed); -__declspec(dllimport) size_t json_object_size(const json_t *object); -__declspec(dllimport) json_t* json_object_get(const json_t *object, const char *key); -__declspec(dllimport) int json_object_set_new(json_t *object, const char *key, json_t *value); -__declspec(dllimport) int json_object_set_new_nocheck(json_t *object, const char *key, json_t *value); -__declspec(dllimport) int json_object_del(json_t *object, const char *key); -__declspec(dllimport) int json_object_clear(json_t *object); -__declspec(dllimport) int json_object_update(json_t *object, json_t *other); -__declspec(dllimport) int json_object_update_existing(json_t *object, json_t *other); -__declspec(dllimport) int json_object_update_missing(json_t *object, json_t *other); -__declspec(dllimport) void* json_object_iter(json_t *object); -__declspec(dllimport) void* json_object_iter_at(json_t *object, const char *key); -__declspec(dllimport) void* json_object_key_to_iter(const char *key); -__declspec(dllimport) void* json_object_iter_next(json_t *object, void *iter); -__declspec(dllimport) const char* json_object_iter_key(void *iter); -__declspec(dllimport) json_t* json_object_iter_value(void *iter); -__declspec(dllimport) int json_object_iter_set_new(json_t *object, void *iter, json_t *value); +__declspec(dllimport) size_t json_object_size(const json_t* object); +__declspec(dllimport) json_t* json_object_get(const json_t* object, const char* key); +__declspec(dllimport) int json_object_set_new(json_t* object, const char* key, json_t* value); +__declspec(dllimport) int json_object_set_new_nocheck(json_t* object, const char* key, json_t* value); +__declspec(dllimport) int json_object_del(json_t* object, const char* key); +__declspec(dllimport) int json_object_clear(json_t* object); +__declspec(dllimport) int json_object_update(json_t* object, json_t* other); +__declspec(dllimport) int json_object_update_existing(json_t* object, json_t* other); +__declspec(dllimport) int json_object_update_missing(json_t* object, json_t* other); +__declspec(dllimport) void* json_object_iter(json_t* object); +__declspec(dllimport) void* json_object_iter_at(json_t* object, const char* key); +__declspec(dllimport) void* json_object_key_to_iter(const char* key); +__declspec(dllimport) void* json_object_iter_next(json_t* object, void* iter); +__declspec(dllimport) const char* json_object_iter_key(void* iter); +__declspec(dllimport) json_t* json_object_iter_value(void* iter); +__declspec(dllimport) int json_object_iter_set_new(json_t* object, void* iter, json_t* value); #define json_object_foreach(object, key, value) \ for(key = json_object_iter_key(json_object_iter(object)); \ @@ -175,59 +175,59 @@ __declspec(dllimport) int json_object_iter_set_new(json_t *object, void *iter, j index++) static JSON_INLINE -int json_object_set(json_t *object, const char *key, json_t *value) +int json_object_set(json_t* object, const char* key, json_t* value) { return json_object_set_new(object, key, json_incref(value)); } static JSON_INLINE -int json_object_set_nocheck(json_t *object, const char *key, json_t *value) +int json_object_set_nocheck(json_t* object, const char* key, json_t* value) { return json_object_set_new_nocheck(object, key, json_incref(value)); } static JSON_INLINE -int json_object_iter_set(json_t *object, void *iter, json_t *value) +int json_object_iter_set(json_t* object, void* iter, json_t* value) { return json_object_iter_set_new(object, iter, json_incref(value)); } -__declspec(dllimport) size_t json_array_size(const json_t *array); -__declspec(dllimport) json_t* json_array_get(const json_t *array, size_t index); -__declspec(dllimport) int json_array_set_new(json_t *array, size_t index, json_t *value); -__declspec(dllimport) int json_array_append_new(json_t *array, json_t *value); -__declspec(dllimport) int json_array_insert_new(json_t *array, size_t index, json_t *value); -__declspec(dllimport) int json_array_remove(json_t *array, size_t index); -__declspec(dllimport) int json_array_clear(json_t *array); -__declspec(dllimport) int json_array_extend(json_t *array, json_t *other); +__declspec(dllimport) size_t json_array_size(const json_t* array); +__declspec(dllimport) json_t* json_array_get(const json_t* array, size_t index); +__declspec(dllimport) int json_array_set_new(json_t* array, size_t index, json_t* value); +__declspec(dllimport) int json_array_append_new(json_t* array, json_t* value); +__declspec(dllimport) int json_array_insert_new(json_t* array, size_t index, json_t* value); +__declspec(dllimport) int json_array_remove(json_t* array, size_t index); +__declspec(dllimport) int json_array_clear(json_t* array); +__declspec(dllimport) int json_array_extend(json_t* array, json_t* other); static JSON_INLINE -int json_array_set(json_t *array, size_t ind, json_t *value) +int json_array_set(json_t* array, size_t ind, json_t* value) { return json_array_set_new(array, ind, json_incref(value)); } static JSON_INLINE -int json_array_append(json_t *array, json_t *value) +int json_array_append(json_t* array, json_t* value) { return json_array_append_new(array, json_incref(value)); } static JSON_INLINE -int json_array_insert(json_t *array, size_t ind, json_t *value) +int json_array_insert(json_t* array, size_t ind, json_t* value) { return json_array_insert_new(array, ind, json_incref(value)); } -__declspec(dllimport) const char* json_string_value(const json_t *string); -__declspec(dllimport) size_t json_string_length(const json_t *string); -__declspec(dllimport) json_int_t json_integer_value(const json_t *integer); +__declspec(dllimport) const char* json_string_value(const json_t* string); +__declspec(dllimport) size_t json_string_length(const json_t* string); +__declspec(dllimport) json_int_t json_integer_value(const json_t* integer); static JSON_INLINE json_int_t json_hex_value(const json_t* hex) { json_int_t ret; const char* hexvalue; - hexvalue=json_string_value(hex); + hexvalue = json_string_value(hex); if(!hexvalue) return 0; #ifdef _WIN64 @@ -237,39 +237,39 @@ json_int_t json_hex_value(const json_t* hex) #endif //_WIN64 return ret; } -__declspec(dllimport) double json_real_value(const json_t *real); -__declspec(dllimport) double json_number_value(const json_t *json); +__declspec(dllimport) double json_real_value(const json_t* real); +__declspec(dllimport) double json_number_value(const json_t* json); -__declspec(dllimport) int json_string_set(json_t *string, const char *value); -__declspec(dllimport) int json_string_setn(json_t *string, const char *value, size_t len); -__declspec(dllimport) int json_string_set_nocheck(json_t *string, const char *value); -__declspec(dllimport) int json_string_setn_nocheck(json_t *string, const char *value, size_t len); -__declspec(dllimport) int json_integer_set(json_t *integer, json_int_t value); -__declspec(dllimport) int json_real_set(json_t *real, double value); +__declspec(dllimport) int json_string_set(json_t* string, const char* value); +__declspec(dllimport) int json_string_setn(json_t* string, const char* value, size_t len); +__declspec(dllimport) int json_string_set_nocheck(json_t* string, const char* value); +__declspec(dllimport) int json_string_setn_nocheck(json_t* string, const char* value, size_t len); +__declspec(dllimport) int json_integer_set(json_t* integer, json_int_t value); +__declspec(dllimport) int json_real_set(json_t* real, double value); /* pack, unpack */ -__declspec(dllimport) json_t* json_pack(const char *fmt, ...); -__declspec(dllimport) json_t* json_pack_ex(json_error_t *error, size_t flags, const char *fmt, ...); -__declspec(dllimport) json_t* json_vpack_ex(json_error_t *error, size_t flags, const char *fmt, va_list ap); +__declspec(dllimport) json_t* json_pack(const char* fmt, ...); +__declspec(dllimport) json_t* json_pack_ex(json_error_t* error, size_t flags, const char* fmt, ...); +__declspec(dllimport) json_t* json_vpack_ex(json_error_t* error, size_t flags, const char* fmt, va_list ap); #define JSON_VALIDATE_ONLY 0x1 #define JSON_STRICT 0x2 -__declspec(dllimport) int json_unpack(json_t *root, const char *fmt, ...); -__declspec(dllimport) int json_unpack_ex(json_t *root, json_error_t *error, size_t flags, const char *fmt, ...); -__declspec(dllimport) int json_vunpack_ex(json_t *root, json_error_t *error, size_t flags, const char *fmt, va_list ap); +__declspec(dllimport) int json_unpack(json_t* root, const char* fmt, ...); +__declspec(dllimport) int json_unpack_ex(json_t* root, json_error_t* error, size_t flags, const char* fmt, ...); +__declspec(dllimport) int json_vunpack_ex(json_t* root, json_error_t* error, size_t flags, const char* fmt, va_list ap); /* equality */ -__declspec(dllimport) int json_equal(json_t *value1, json_t *value2); +__declspec(dllimport) int json_equal(json_t* value1, json_t* value2); /* copying */ -__declspec(dllimport) json_t* json_copy(json_t *value); -__declspec(dllimport) json_t* json_deep_copy(const json_t *value); +__declspec(dllimport) json_t* json_copy(json_t* value); +__declspec(dllimport) json_t* json_deep_copy(const json_t* value); /* decoding */ @@ -280,13 +280,13 @@ __declspec(dllimport) json_t* json_deep_copy(const json_t *value); #define JSON_DECODE_INT_AS_REAL 0x8 #define JSON_ALLOW_NUL 0x10 -typedef size_t (*json_load_callback_t)(void *buffer, size_t buflen, void *data); +typedef size_t (*json_load_callback_t)(void* buffer, size_t buflen, void* data); -__declspec(dllimport) json_t* json_loads(const char *input, size_t flags, json_error_t *error); -__declspec(dllimport) json_t* json_loadb(const char *buffer, size_t buflen, size_t flags, json_error_t *error); -__declspec(dllimport) json_t* json_loadf(FILE *input, size_t flags, json_error_t *error); -__declspec(dllimport) json_t* json_load_file(const char *path, size_t flags, json_error_t *error); -__declspec(dllimport) json_t* json_load_callback(json_load_callback_t callback, void *data, size_t flags, json_error_t *error); +__declspec(dllimport) json_t* json_loads(const char* input, size_t flags, json_error_t* error); +__declspec(dllimport) json_t* json_loadb(const char* buffer, size_t buflen, size_t flags, json_error_t* error); +__declspec(dllimport) json_t* json_loadf(FILE* input, size_t flags, json_error_t* error); +__declspec(dllimport) json_t* json_load_file(const char* path, size_t flags, json_error_t* error); +__declspec(dllimport) json_t* json_load_callback(json_load_callback_t callback, void* data, size_t flags, json_error_t* error); /* encoding */ @@ -300,17 +300,17 @@ __declspec(dllimport) json_t* json_load_callback(json_load_callback_t callback, #define JSON_ESCAPE_SLASH 0x400 #define JSON_REAL_PRECISION(n) (((n) & 0x1F) << 11) -typedef int (*json_dump_callback_t)(const char *buffer, size_t size, void *data); +typedef int (*json_dump_callback_t)(const char* buffer, size_t size, void* data); -__declspec(dllimport) char* json_dumps(const json_t *json, size_t flags); -__declspec(dllimport) int json_dumpf(const json_t *json, FILE *output, size_t flags); -__declspec(dllimport) int json_dump_file(const json_t *json, const char *path, size_t flags); -__declspec(dllimport) int json_dump_callback(const json_t *json, json_dump_callback_t callback, void *data, size_t flags); +__declspec(dllimport) char* json_dumps(const json_t* json, size_t flags); +__declspec(dllimport) int json_dumpf(const json_t* json, FILE* output, size_t flags); +__declspec(dllimport) int json_dump_file(const json_t* json, const char* path, size_t flags); +__declspec(dllimport) int json_dump_callback(const json_t* json, json_dump_callback_t callback, void* data, size_t flags); /* custom memory allocation */ -typedef void *(*json_malloc_t)(size_t); -typedef void (*json_free_t)(void *); +typedef void* (*json_malloc_t)(size_t); +typedef void (*json_free_t)(void*); __declspec(dllimport) void json_set_alloc_funcs(json_malloc_t malloc_fn, json_free_t free_fn); diff --git a/x64_dbg_dbg/lz4/lz4.h b/x64_dbg_dbg/lz4/lz4.h index f49c9bcb..766a6052 100644 --- a/x64_dbg_dbg/lz4/lz4.h +++ b/x64_dbg_dbg/lz4/lz4.h @@ -60,8 +60,8 @@ extern "C" Simple Functions **************************************/ -__declspec(dllimport) int LZ4_compress (const char* source, char* dest, int inputSize); -__declspec(dllimport) int LZ4_decompress_safe (const char* source, char* dest, int inputSize, int maxOutputSize); +__declspec(dllimport) int LZ4_compress(const char* source, char* dest, int inputSize); +__declspec(dllimport) int LZ4_decompress_safe(const char* source, char* dest, int inputSize, int maxOutputSize); /* LZ4_compress() : @@ -112,7 +112,7 @@ LZ4_compress_limitedOutput() : return : the number of bytes written in buffer 'dest' or 0 if the compression fails */ -__declspec(dllimport) int LZ4_compress_limitedOutput (const char* source, char* dest, int inputSize, int maxOutputSize); +__declspec(dllimport) int LZ4_compress_limitedOutput(const char* source, char* dest, int inputSize, int maxOutputSize); /* @@ -125,7 +125,7 @@ LZ4_decompress_fast() : Use this function preferably into a trusted environment (data to decode comes from a trusted source). Destination buffer must be already allocated. Its size must be a minimum of 'outputSize' bytes. */ -__declspec(dllimport) int LZ4_decompress_fast (const char* source, char* dest, int originalSize); +__declspec(dllimport) int LZ4_decompress_fast(const char* source, char* dest, int originalSize); /* @@ -140,7 +140,7 @@ LZ4_decompress_safe_partial() : If the source stream is detected malformed, the function will stop decoding and return a negative result. This function never writes outside of output buffer, and never reads outside of input buffer. It is therefore protected against malicious data packets */ -__declspec(dllimport) int LZ4_decompress_safe_partial (const char* source, char* dest, int inputSize, int targetOutputSize, int maxOutputSize); +__declspec(dllimport) int LZ4_decompress_safe_partial(const char* source, char* dest, int inputSize, int targetOutputSize, int maxOutputSize); /* @@ -155,18 +155,18 @@ LZ4_compress_withState() and LZ4_compress_limitedOutput_withState() are equivale They just use the externally allocated memory area instead of allocating their own (on stack, or on heap). */ __declspec(dllimport) int LZ4_sizeofState(void); -__declspec(dllimport) int LZ4_compress_withState (void* state, const char* source, char* dest, int inputSize); -__declspec(dllimport) int LZ4_compress_limitedOutput_withState (void* state, const char* source, char* dest, int inputSize, int maxOutputSize); +__declspec(dllimport) int LZ4_compress_withState(void* state, const char* source, char* dest, int inputSize); +__declspec(dllimport) int LZ4_compress_limitedOutput_withState(void* state, const char* source, char* dest, int inputSize, int maxOutputSize); /************************************** Streaming Functions **************************************/ -__declspec(dllimport) void* LZ4_create (const char* inputBuffer); -__declspec(dllimport) int LZ4_compress_continue (void* LZ4_Data, const char* source, char* dest, int inputSize); -__declspec(dllimport) int LZ4_compress_limitedOutput_continue (void* LZ4_Data, const char* source, char* dest, int inputSize, int maxOutputSize); -__declspec(dllimport) char* LZ4_slideInputBuffer (void* LZ4_Data); -__declspec(dllimport) int LZ4_free (void* LZ4_Data); +__declspec(dllimport) void* LZ4_create(const char* inputBuffer); +__declspec(dllimport) int LZ4_compress_continue(void* LZ4_Data, const char* source, char* dest, int inputSize); +__declspec(dllimport) int LZ4_compress_limitedOutput_continue(void* LZ4_Data, const char* source, char* dest, int inputSize, int maxOutputSize); +__declspec(dllimport) char* LZ4_slideInputBuffer(void* LZ4_Data); +__declspec(dllimport) int LZ4_free(void* LZ4_Data); /* These functions allow the compression of dependent blocks, where each block benefits from prior 64 KB within preceding blocks. @@ -223,8 +223,8 @@ Any other value means there was an error (typically, pointer is not aligned on 4 */ -__declspec(dllimport) int LZ4_decompress_safe_withPrefix64k (const char* source, char* dest, int inputSize, int maxOutputSize); -__declspec(dllimport) int LZ4_decompress_fast_withPrefix64k (const char* source, char* dest, int outputSize); +__declspec(dllimport) int LZ4_decompress_safe_withPrefix64k(const char* source, char* dest, int inputSize, int maxOutputSize); +__declspec(dllimport) int LZ4_decompress_fast_withPrefix64k(const char* source, char* dest, int outputSize); /* *_withPrefix64k() : @@ -241,8 +241,8 @@ __declspec(dllimport) int LZ4_decompress_fast_withPrefix64k (const char* source, These functions are deprecated and should no longer be used. They are provided here for compatibility with existing user programs. */ -__declspec(dllimport) int LZ4_uncompress (const char* source, char* dest, int outputSize); -__declspec(dllimport) int LZ4_uncompress_unknownOutputSize (const char* source, char* dest, int isize, int maxOutputSize); +__declspec(dllimport) int LZ4_uncompress(const char* source, char* dest, int outputSize); +__declspec(dllimport) int LZ4_uncompress_unknownOutputSize(const char* source, char* dest, int isize, int maxOutputSize); #if defined (__cplusplus) diff --git a/x64_dbg_dbg/lz4/lz4hc.h b/x64_dbg_dbg/lz4/lz4hc.h index 1e063bbb..bfed4b03 100644 --- a/x64_dbg_dbg/lz4/lz4hc.h +++ b/x64_dbg_dbg/lz4/lz4hc.h @@ -40,7 +40,7 @@ extern "C" #endif -__declspec(dllimport) int LZ4_compressHC (const char* source, char* dest, int inputSize); +__declspec(dllimport) int LZ4_compressHC(const char* source, char* dest, int inputSize); /* LZ4_compressHC : return : the number of bytes in compressed buffer dest @@ -50,7 +50,7 @@ LZ4_compressHC : Worst case size evaluation is provided by function LZ4_compressBound() (see "lz4.h") */ -__declspec(dllimport) int LZ4_compressHC_limitedOutput (const char* source, char* dest, int inputSize, int maxOutputSize); +__declspec(dllimport) int LZ4_compressHC_limitedOutput(const char* source, char* dest, int inputSize, int maxOutputSize); /* LZ4_compress_limitedOutput() : Compress 'inputSize' bytes from 'source' into an output buffer 'dest' of maximum size 'maxOutputSize'. @@ -64,8 +64,8 @@ LZ4_compress_limitedOutput() : */ -__declspec(dllimport) int LZ4_compressHC2 (const char* source, char* dest, int inputSize, int compressionLevel); -__declspec(dllimport) int LZ4_compressHC2_limitedOutput (const char* source, char* dest, int inputSize, int maxOutputSize, int compressionLevel); +__declspec(dllimport) int LZ4_compressHC2(const char* source, char* dest, int inputSize, int compressionLevel); +__declspec(dllimport) int LZ4_compressHC2_limitedOutput(const char* source, char* dest, int inputSize, int maxOutputSize, int compressionLevel); /* Same functions as above, but with programmable 'compressionLevel'. Recommended values are between 4 and 9, although any value between 0 and 16 will work. @@ -83,10 +83,10 @@ Decompression functions are provided within LZ4 source code (see "lz4.h") (BSD l Using an external allocation **************************************/ __declspec(dllimport) int LZ4_sizeofStateHC(void); -__declspec(dllimport) int LZ4_compressHC_withStateHC (void* state, const char* source, char* dest, int inputSize); -__declspec(dllimport) int LZ4_compressHC_limitedOutput_withStateHC (void* state, const char* source, char* dest, int inputSize, int maxOutputSize); +__declspec(dllimport) int LZ4_compressHC_withStateHC(void* state, const char* source, char* dest, int inputSize); +__declspec(dllimport) int LZ4_compressHC_limitedOutput_withStateHC(void* state, const char* source, char* dest, int inputSize, int maxOutputSize); -__declspec(dllimport) int LZ4_compressHC2_withStateHC (void* state, const char* source, char* dest, int inputSize, int compressionLevel); +__declspec(dllimport) int LZ4_compressHC2_withStateHC(void* state, const char* source, char* dest, int inputSize, int compressionLevel); __declspec(dllimport) int LZ4_compressHC2_limitedOutput_withStateHC(void* state, const char* source, char* dest, int inputSize, int maxOutputSize, int compressionLevel); /* @@ -105,14 +105,14 @@ They just use the externally allocated memory area instead of allocating their o /************************************** Streaming Functions **************************************/ -__declspec(dllimport) void* LZ4_createHC (const char* inputBuffer); -__declspec(dllimport) int LZ4_compressHC_continue (void* LZ4HC_Data, const char* source, char* dest, int inputSize); -__declspec(dllimport) int LZ4_compressHC_limitedOutput_continue (void* LZ4HC_Data, const char* source, char* dest, int inputSize, int maxOutputSize); -__declspec(dllimport) char* LZ4_slideInputBufferHC (void* LZ4HC_Data); -__declspec(dllimport) int LZ4_freeHC (void* LZ4HC_Data); +__declspec(dllimport) void* LZ4_createHC(const char* inputBuffer); +__declspec(dllimport) int LZ4_compressHC_continue(void* LZ4HC_Data, const char* source, char* dest, int inputSize); +__declspec(dllimport) int LZ4_compressHC_limitedOutput_continue(void* LZ4HC_Data, const char* source, char* dest, int inputSize, int maxOutputSize); +__declspec(dllimport) char* LZ4_slideInputBufferHC(void* LZ4HC_Data); +__declspec(dllimport) int LZ4_freeHC(void* LZ4HC_Data); -__declspec(dllimport) int LZ4_compressHC2_continue (void* LZ4HC_Data, const char* source, char* dest, int inputSize, int compressionLevel); -__declspec(dllimport) int LZ4_compressHC2_limitedOutput_continue (void* LZ4HC_Data, const char* source, char* dest, int inputSize, int maxOutputSize, int compressionLevel); +__declspec(dllimport) int LZ4_compressHC2_continue(void* LZ4HC_Data, const char* source, char* dest, int inputSize, int compressionLevel); +__declspec(dllimport) int LZ4_compressHC2_limitedOutput_continue(void* LZ4HC_Data, const char* source, char* dest, int inputSize, int maxOutputSize, int compressionLevel); /* These functions allow the compression of dependent blocks, where each block benefits from prior 64 KB within preceding blocks. diff --git a/x64_dbg_dbg/main.cpp b/x64_dbg_dbg/main.cpp index 314552cf..b81fb8c3 100644 --- a/x64_dbg_dbg/main.cpp +++ b/x64_dbg_dbg/main.cpp @@ -2,7 +2,7 @@ extern "C" DLL_EXPORT BOOL APIENTRY DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { - if(fdwReason==DLL_PROCESS_ATTACH) - hInst=hinstDLL; + if(fdwReason == DLL_PROCESS_ATTACH) + hInst = hinstDLL; return TRUE; } diff --git a/x64_dbg_dbg/math.cpp b/x64_dbg_dbg/math.cpp index 202801d6..52c59b06 100644 --- a/x64_dbg_dbg/math.cpp +++ b/x64_dbg_dbg/math.cpp @@ -30,21 +30,21 @@ operator precedence int mathisoperator(char ch) { - if(ch=='(' or ch==')') + if(ch == '(' or ch == ')') return 1; - else if(ch=='~') + else if(ch == '~') return 2; - else if(ch=='*' or ch=='$' or ch=='/' or ch=='%') + else if(ch == '*' or ch == '$' or ch == '/' or ch == '%') return 3; - else if(ch=='+' or ch=='-') + else if(ch == '+' or ch == '-') return 4; - else if(ch=='<' or ch=='>') + else if(ch == '<' or ch == '>') return 5; - else if(ch=='&') + else if(ch == '&') return 6; - else if(ch=='^') + else if(ch == '^') return 7; - else if(ch=='|') + else if(ch == '|') return 8; return 0; } @@ -55,12 +55,12 @@ mathformat: */ void mathformat(char* text) { - int len=(int)strlen(text); - char* temp=(char*)emalloc(len+1, "mathformat:temp"); - memset(temp, 0, len+1); - for(int i=0,j=0; i>64); + return (unsigned long long)(((__uint128_t)x * y) >> 64); } static inline long long mulhi(long long x, long long y) { - return (long long)(((__int128_t)x*y)>>64); + return (long long)(((__int128_t)x * y) >> 64); } #elif _WIN64 #include static inline unsigned long long umulhi(unsigned long long x, unsigned long long y) { unsigned __int64 res; - _umul128(x,y,&res); + _umul128(x, y, &res); return res; } static inline long long mulhi(long long x, long long y) { __int64 res; - _mul128(x,y,&res); + _mul128(x, y, &res); return res; } #else static inline unsigned int umulhi(unsigned int x, unsigned int y) { - return (unsigned int)(((unsigned long long)x*y)>>32); + return (unsigned int)(((unsigned long long)x * y) >> 32); } static inline int mulhi(int x, int y) { - return (int)(((long long)x*y)>>32); + return (int)(((long long)x * y) >> 32); } #endif //__MINGW64__ @@ -121,45 +121,45 @@ bool mathdounsignedoperation(char op, uint left, uint right, uint* result) switch(op) { case '*': - *result=left*right; + *result = left * right; return true; case '$': - *result=umulhi(left, right); + *result = umulhi(left, right); return true; case '/': if(right) { - *result=left/right; + *result = left / right; return true; } return false; case '%': if(right) { - *result=left%right; + *result = left % right; return true; } return false; case '+': - *result=left+right; + *result = left + right; return true; case '-': - *result=left-right; + *result = left - right; return true; case '<': - *result=left<': - *result=left>>right; + *result = left >> right; return true; case '&': - *result=left&right; + *result = left & right; return true; case '^': - *result=left^right; + *result = left ^ right; return true; case '|': - *result=left|right; + *result = left | right; return true; } return false; @@ -170,45 +170,45 @@ bool mathdosignedoperation(char op, sint left, sint right, sint* result) switch(op) { case '*': - *result=left*right; + *result = left * right; return true; case '$': - *result=mulhi(left, right); + *result = mulhi(left, right); return true; case '/': if(right) { - *result=left/right; + *result = left / right; return true; } return false; case '%': if(right) { - *result=left%right; + *result = left % right; return true; } return false; case '+': - *result=left+right; + *result = left + right; return true; case '-': - *result=left-right; + *result = left - right; return true; case '<': - *result=left<': - *result=left>>right; + *result = left >> right; return true; case '&': - *result=left&right; + *result = left & right; return true; case '^': - *result=left^right; + *result = left ^ right; return true; case '|': - *result=left|right; + *result = left | right; return true; } return false; @@ -216,19 +216,19 @@ bool mathdosignedoperation(char op, sint left, sint right, sint* result) static void fillpair(EXPRESSION* expstruct, int pos, int layer) { - for(int i=0; itotal_pairs; i++) + for(int i = 0; i < expstruct->total_pairs; i++) { if(!expstruct->pairs[i].isset) { - expstruct->pairs[i].layer=layer; - expstruct->pairs[i].openpos=pos; - expstruct->pairs[i].isset=1; + expstruct->pairs[i].layer = layer; + expstruct->pairs[i].openpos = pos; + expstruct->pairs[i].isset = 1; break; } - else if(expstruct->pairs[i].layer==layer and expstruct->pairs[i].isset==1) + else if(expstruct->pairs[i].layer == layer and expstruct->pairs[i].isset == 1) { - expstruct->pairs[i].closepos=pos; - expstruct->pairs[i].isset=2; + expstruct->pairs[i].closepos = pos; + expstruct->pairs[i].isset = 2; break; } } @@ -237,22 +237,22 @@ static void fillpair(EXPRESSION* expstruct, int pos, int layer) static int matchpairs(EXPRESSION* expstruct, char* expression, int endlayer) { - int layer=endlayer; - int len=(int)strlen(expression); - for(int i=0; iexpression); + int pos = (int)(expression + i - expstruct->expression); fillpair(expstruct, pos, layer); - i+=matchpairs(expstruct, expression+i+1, layer); + i += matchpairs(expstruct, expression + i + 1, layer); } - else if(expression[i]==')') + else if(expression[i] == ')') { - if(layer==endlayer) + if(layer == endlayer) { - int pos=(int)(expression+i-expstruct->expression); + int pos = (int)(expression + i - expstruct->expression); fillpair(expstruct, pos, layer); return i; } @@ -265,59 +265,59 @@ static int matchpairs(EXPRESSION* expstruct, char* expression, int endlayer) static int expressionformat(char* exp) { - int len=(int)strlen(exp); - int open=0; - int close=0; - for(int i=0; iopen) + if(close > open) return -1; - int add=open-close; + int add = open - close; if(add) { - memset(exp+len, ')', add); - exp[len+add]=0; + memset(exp + len, ')', add); + exp[len + add] = 0; } return open; } static void adjustpairs(EXPRESSION* exps, int cur_open, int cur_close, int cur_len, int new_len) { - for(int i=0; itotal_pairs; i++) + for(int i = 0; i < exps->total_pairs; i++) { - if(exps->pairs[i].openpos>cur_open) - exps->pairs[i].openpos+=new_len-cur_len; - if(exps->pairs[i].closepos>cur_close) - exps->pairs[i].closepos+=new_len-cur_len; + if(exps->pairs[i].openpos > cur_open) + exps->pairs[i].openpos += new_len - cur_len; + if(exps->pairs[i].closepos > cur_close) + exps->pairs[i].closepos += new_len - cur_len; } } static bool printlayer(char* exp, EXPRESSION* exps, int layer, bool silent, bool baseonly) { - for(int i=0; itotal_pairs; i++) + for(int i = 0; i < exps->total_pairs; i++) { - if(exps->pairs[i].layer==layer) + if(exps->pairs[i].layer == layer) { - char temp[256]=""; - char backup[256]=""; + char temp[256] = ""; + char backup[256] = ""; - int open=exps->pairs[i].openpos; - int close=exps->pairs[i].closepos; - int len=close-open; - strncpy(temp, exp+open+1, len-1); + int open = exps->pairs[i].openpos; + int close = exps->pairs[i].closepos; + int len = close - open; + strncpy(temp, exp + open + 1, len - 1); - strcpy(backup, exp+open+len+1); + strcpy(backup, exp + open + len + 1); uint value; if(!mathfromstring(temp, &value, silent, baseonly, 0, 0)) return false; - adjustpairs(exps, open, close, len+1, sprintf(exp+open, "%"fext"X", value)); + adjustpairs(exps, open, close, len + 1, sprintf(exp + open, "%"fext"X", value)); if(*backup) strcat(exp, backup); @@ -330,23 +330,23 @@ static bool printlayer(char* exp, EXPRESSION* exps, int layer, bool silent, bool bool mathhandlebrackets(char* expression, bool silent, bool baseonly) { EXPRESSION expstruct; - expstruct.expression=expression; - int total_pairs=expressionformat(expression); - if(total_pairs==-1) + expstruct.expression = expression; + int total_pairs = expressionformat(expression); + if(total_pairs == -1) return false; else if(!total_pairs) return true; - expstruct.total_pairs=total_pairs; + expstruct.total_pairs = total_pairs; - expstruct.pairs=(BRACKET_PAIR*)emalloc(expstruct.total_pairs*sizeof(BRACKET_PAIR), "mathhandlebrackets:expstruct.pairs"); - memset(expstruct.pairs, 0, expstruct.total_pairs*sizeof(BRACKET_PAIR)); + expstruct.pairs = (BRACKET_PAIR*)emalloc(expstruct.total_pairs * sizeof(BRACKET_PAIR), "mathhandlebrackets:expstruct.pairs"); + memset(expstruct.pairs, 0, expstruct.total_pairs * sizeof(BRACKET_PAIR)); matchpairs(&expstruct, expression, 0); - int deepest=0; - for(int i=0; ideepest) - deepest=expstruct.pairs[i].layer; + int deepest = 0; + for(int i = 0; i < expstruct.total_pairs; i++) + if(expstruct.pairs[i].layer > deepest) + deepest = expstruct.pairs[i].layer; - for(int i=deepest; i>0; i--) + for(int i = deepest; i > 0; i--) if(!printlayer(expression, &expstruct, i, silent, baseonly)) { efree(expstruct.pairs, "mathhandlebrackets:expstruct.pairs"); @@ -362,32 +362,32 @@ bool mathhandlebrackets(char* expression, bool silent, bool baseonly) */ bool mathfromstring(const char* string, uint* value, bool silent, bool baseonly, int* value_size, bool* isvar) { - int highestop=0; - int highestop_pos=0; - int len=(int)strlen(string); - bool negative=false; - if(*string=='-') + int highestop = 0; + int highestop_pos = 0; + int len = (int)strlen(string); + bool negative = false; + if(*string == '-') { - negative=true; + negative = true; string++; } - for(int i=0; i1 and curop>highestop) + int curop = mathisoperator(string[i]); + if(curop > 1 and curop > highestop) { - highestop=curop; - highestop_pos=i; + highestop = curop; + highestop_pos = i; } } if(!highestop) return valfromstring(string, value, silent, baseonly, value_size, isvar, 0); - char* strleft=(char*)emalloc(len+1+negative, "mathfromstring:strleft"); - char* strright=(char*)emalloc(len+1, "mathfromstring:strright"); - memset(strleft, 0, len+1); - memset(strright, 0, len+1); - strncpy(strleft, string-negative, highestop_pos+negative); - strcpy(strright, string+highestop_pos+1); + char* strleft = (char*)emalloc(len + 1 + negative, "mathfromstring:strleft"); + char* strright = (char*)emalloc(len + 1, "mathfromstring:strright"); + memset(strleft, 0, len + 1); + memset(strright, 0, len + 1); + strncpy(strleft, string - negative, highestop_pos + negative); + strcpy(strright, string + highestop_pos + 1); //dprintf("left: %s, right: %s, op: %c\n", strleft, strright, string[highestop_pos]); if(!*strright) { @@ -395,25 +395,25 @@ bool mathfromstring(const char* string, uint* value, bool silent, bool baseonly, efree(strright, "mathfromstring:strright"); return false; } - uint right=0; + uint right = 0; if(!valfromstring(strright, &right, silent, baseonly)) { efree(strleft, "mathfromstring:strleft"); efree(strright, "mathfromstring:strright"); return false; } - if(string[highestop_pos]=='~') + if(string[highestop_pos] == '~') { - right=~right; + right = ~right; if(!strlen(strleft)) { - *value=right; + *value = right; efree(strleft, "mathfromstring:strleft"); efree(strright, "mathfromstring:strright"); return true; } } - uint left=0; + uint left = 0; if(!valfromstring(strleft, &left, silent, baseonly)) { efree(strleft, "mathfromstring:strleft"); @@ -422,9 +422,9 @@ bool mathfromstring(const char* string, uint* value, bool silent, bool baseonly, } bool math_ok; if(valuesignedcalc()) - math_ok=mathdosignedoperation(string[highestop_pos], left, right, (sint*)value); + math_ok = mathdosignedoperation(string[highestop_pos], left, right, (sint*)value); else - math_ok=mathdounsignedoperation(string[highestop_pos], left, right, value); + math_ok = mathdounsignedoperation(string[highestop_pos], left, right, value); efree(strleft, "mathfromstring:strleft"); efree(strright, "mathfromstring:strright"); return math_ok; diff --git a/x64_dbg_dbg/memory.cpp b/x64_dbg_dbg/memory.cpp index c8ada109..39b3050f 100644 --- a/x64_dbg_dbg/memory.cpp +++ b/x64_dbg_dbg/memory.cpp @@ -11,34 +11,34 @@ void memupdatemap(HANDLE hProcess) CriticalSectionLocker locker(LockMemoryPages); MEMORY_BASIC_INFORMATION mbi; SIZE_T numBytes; - uint MyAddress=0, newAddress=0; - uint curAllocationBase=0; + uint MyAddress = 0, newAddress = 0; + uint curAllocationBase = 0; bool bListAllPages = false; //TODO: settings for this std::vector pageVector; do { - numBytes=VirtualQueryEx(hProcess, (LPCVOID)MyAddress, &mbi, sizeof(mbi)); - if(mbi.State==MEM_COMMIT) + numBytes = VirtualQueryEx(hProcess, (LPCVOID)MyAddress, &mbi, sizeof(mbi)); + if(mbi.State == MEM_COMMIT) { - if(bListAllPages || curAllocationBase!=(uint)mbi.AllocationBase) //only list allocation bases + if(bListAllPages || curAllocationBase != (uint)mbi.AllocationBase) //only list allocation bases { - curAllocationBase=(uint)mbi.AllocationBase; + curAllocationBase = (uint)mbi.AllocationBase; MEMPAGE curPage; - *curPage.info=0; + *curPage.info = 0; modnamefromaddr(MyAddress, curPage.info, true); memcpy(&curPage.mbi, &mbi, sizeof(mbi)); pageVector.push_back(curPage); } else - pageVector.at(pageVector.size()-1).mbi.RegionSize+=mbi.RegionSize; + pageVector.at(pageVector.size() - 1).mbi.RegionSize += mbi.RegionSize; } - newAddress=(uint)mbi.BaseAddress+mbi.RegionSize; - if(newAddress<=MyAddress) - numBytes=0; + newAddress = (uint)mbi.BaseAddress + mbi.RegionSize; + if(newAddress <= MyAddress) + numBytes = 0; else - MyAddress=newAddress; + MyAddress = newAddress; } while(numBytes); @@ -46,21 +46,21 @@ void memupdatemap(HANDLE hProcess) int pagecount; if(bListAllPages) { - pagecount=(int)pageVector.size(); - char curMod[MAX_MODULE_SIZE]=""; - for(int i=pagecount-1,curIdx=0; i>-1; i--) + pagecount = (int)pageVector.size(); + char curMod[MAX_MODULE_SIZE] = ""; + for(int i = pagecount - 1, curIdx = 0; i > -1; i--) { if(pageVector.at(i).info[0]) //there is a module { if(!scmp(curMod, pageVector.at(i).info)) //mod is not the current mod { strcpy(curMod, pageVector.at(i).info); - curIdx=i; + curIdx = i; } else //current mod { - pageVector.at(curIdx).mbi.RegionSize+=pageVector.at(i).mbi.RegionSize; - pageVector.erase(pageVector.begin()+i); + pageVector.at(curIdx).mbi.RegionSize += pageVector.at(i).mbi.RegionSize; + pageVector.erase(pageVector.begin() + i); curIdx--; //the index changes when you remove an entry } } @@ -68,94 +68,94 @@ void memupdatemap(HANDLE hProcess) } //process file sections - pagecount=(int)pageVector.size(); - char curMod[MAX_MODULE_SIZE]=""; - for(int i=pagecount-1; i>-1; i--) + pagecount = (int)pageVector.size(); + char curMod[MAX_MODULE_SIZE] = ""; + for(int i = pagecount - 1; i > -1; i--) { if(bListAllPages || !pageVector.at(i).info[0] || scmp(curMod, pageVector.at(i).info)) //there is a module continue; //skip non-modules strcpy(curMod, pageVector.at(i).info); - uint base=modbasefromname(pageVector.at(i).info); + uint base = modbasefromname(pageVector.at(i).info); if(!base) continue; std::vector sections; if(!modsectionsfromaddr(base, §ions)) continue; - int SectionNumber=(int)sections.size(); + int SectionNumber = (int)sections.size(); MEMPAGE newPage; //remove the current module page (page = size of module at this point) and insert the module sections - pageVector.erase(pageVector.begin()+i); //remove the SizeOfImage page - for(int j=SectionNumber-1; j>-1; j--) + pageVector.erase(pageVector.begin() + i); //remove the SizeOfImage page + for(int j = SectionNumber - 1; j > -1; j--) { memset(&newPage, 0, sizeof(MEMPAGE)); VirtualQueryEx(hProcess, (LPCVOID)sections.at(j).addr, &newPage.mbi, sizeof(MEMORY_BASIC_INFORMATION)); - uint SectionSize=sections.at(j).size; - if(SectionSize%PAGE_SIZE) //unaligned page size - SectionSize+=PAGE_SIZE-(SectionSize%PAGE_SIZE); //fix this + uint SectionSize = sections.at(j).size; + if(SectionSize % PAGE_SIZE) //unaligned page size + SectionSize += PAGE_SIZE - (SectionSize % PAGE_SIZE); //fix this if(SectionSize) - newPage.mbi.RegionSize=SectionSize; - const char* SectionName=§ions.at(j).name[0]; - int len=(int)strlen(SectionName); - int escape_count=0; - for(int k=0; khProcess); //update memory map CriticalSectionLocker locker(LockMemoryPages); - MemoryMap::iterator found=memoryPages.find(std::make_pair(addr, addr)); - if(found==memoryPages.end()) + MemoryMap::iterator found = memoryPages.find(std::make_pair(addr, addr)); + if(found == memoryPages.end()) return 0; if(size) - *size=found->second.mbi.RegionSize; + *size = found->second.mbi.RegionSize; return found->first.first; } @@ -176,24 +176,24 @@ bool memread(HANDLE hProcess, const void* lpBaseAddress, void* lpBuffer, SIZE_T { if(!hProcess or !lpBaseAddress or !lpBuffer or !nSize) //generic failures return false; - SIZE_T read=0; - DWORD oldprotect=0; - bool ret=MemoryReadSafe(hProcess, (void*)lpBaseAddress, lpBuffer, nSize, &read); //try 'normal' RPM - if(ret and read==nSize) //'normal' RPM worked! + SIZE_T read = 0; + DWORD oldprotect = 0; + bool ret = MemoryReadSafe(hProcess, (void*)lpBaseAddress, lpBuffer, nSize, &read); //try 'normal' RPM + if(ret and read == nSize) //'normal' RPM worked! { if(lpNumberOfBytesRead) - *lpNumberOfBytesRead=read; + *lpNumberOfBytesRead = read; return true; } - for(uint i=0; i* pattern if(!text or !pattern) return false; pattern->clear(); - int len=(int)strlen(text); + int len = (int)strlen(text); if(!len) return false; - char* newtext=(char*)emalloc(len+2, "transformpattern:newtext"); + char* newtext = (char*)emalloc(len + 2, "transformpattern:newtext"); strcpy(newtext, text); - len=formathexpattern(newtext); - if(len%2) //not a multiple of 2 + len = formathexpattern(newtext); + if(len % 2) //not a multiple of 2 { - newtext[len]='?'; - newtext[len+1]='\0'; + newtext[len] = '?'; + newtext[len + 1] = '\0'; len++; } PATTERNBYTE newByte; - for(int i=0,j=0; ipush_back(newByte); } } @@ -326,18 +326,18 @@ static bool patterntransform(const char* text, std::vector* pattern static bool patternmatchbyte(unsigned char byte, PATTERNBYTE* pbyte) { - unsigned char n1=(byte>>4)&0xF; - unsigned char n2=byte&0xF; - int matched=0; + unsigned char n1 = (byte >> 4) & 0xF; + unsigned char n2 = byte & 0xF; + int matched = 0; if(pbyte->n[0].all) matched++; - else if(pbyte->n[0].n==n1) + else if(pbyte->n[0].n == n1) matched++; if(pbyte->n[1].all) matched++; - else if(pbyte->n[1].n==n2) + else if(pbyte->n[1].n == n2) matched++; - return (matched==2); + return (matched == 2); } uint memfindpattern(unsigned char* data, uint size, const char* pattern, int* patternsize) @@ -345,21 +345,21 @@ uint memfindpattern(unsigned char* data, uint size, const char* pattern, int* pa std::vector searchpattern; if(!patterntransform(pattern, &searchpattern)) return -1; - int searchpatternsize=(int)searchpattern.size(); + int searchpatternsize = (int)searchpattern.size(); if(patternsize) - *patternsize=searchpatternsize; - for(uint i=0,pos=0; i0) //fix by Computer_Angel + else if(pos > 0) //fix by Computer_Angel { - i-=pos; // return to previous byte - pos=0; //reset current pattern position + i -= pos; // return to previous byte + pos = 0; //reset current pattern position } } return -1; diff --git a/x64_dbg_dbg/msgqueue.cpp b/x64_dbg_dbg/msgqueue.cpp index b46133bb..5e0a0e80 100644 --- a/x64_dbg_dbg/msgqueue.cpp +++ b/x64_dbg_dbg/msgqueue.cpp @@ -16,7 +16,7 @@ static void msgfree(MESSAGE* msg) //allocate a message stack MESSAGE_STACK* msgallocstack() { - MESSAGE_STACK* msgstack=(MESSAGE_STACK*)emalloc(sizeof(MESSAGE_STACK), "msgallocstack:msgstack"); + MESSAGE_STACK* msgstack = (MESSAGE_STACK*)emalloc(sizeof(MESSAGE_STACK), "msgallocstack:msgstack"); if(!msgstack) return 0; memset(msgstack, 0, sizeof(MESSAGE_STACK)); @@ -28,8 +28,8 @@ MESSAGE_STACK* msgallocstack() void msgfreestack(MESSAGE_STACK* msgstack) { DeleteCriticalSection(&msgstack->cr); - int stackpos=msgstack->stackpos; - for(int i=0; istackpos; + for(int i = 0; i < stackpos; i++) //free all messages left in stack msgfree(msgstack->msg[i]); efree(msgstack, "msgfreestack:msgstack"); } @@ -37,24 +37,24 @@ void msgfreestack(MESSAGE_STACK* msgstack) //add a message to the stack bool msgsend(MESSAGE_STACK* msgstack, int msg, uint param1, uint param2) { - CRITICAL_SECTION* cr=&msgstack->cr; + CRITICAL_SECTION* cr = &msgstack->cr; EnterCriticalSection(cr); - int stackpos=msgstack->stackpos; - if(stackpos>=MAX_MESSAGES) + int stackpos = msgstack->stackpos; + if(stackpos >= MAX_MESSAGES) { LeaveCriticalSection(cr); return false; } - MESSAGE* newmsg=msgalloc(); + MESSAGE* newmsg = msgalloc(); if(!newmsg) { LeaveCriticalSection(cr); return false; } - newmsg->msg=msg; - newmsg->param1=param1; - newmsg->param2=param2; - msgstack->msg[stackpos]=newmsg; + newmsg->msg = msg; + newmsg->param1 = param1; + newmsg->param2 = param2; + msgstack->msg[stackpos] = newmsg; msgstack->stackpos++; //increase stack pointer LeaveCriticalSection(cr); return true; @@ -63,9 +63,9 @@ bool msgsend(MESSAGE_STACK* msgstack, int msg, uint param1, uint param2) //get a message from the stack (will return false when there are no messages) bool msgget(MESSAGE_STACK* msgstack, MESSAGE* msg) { - CRITICAL_SECTION* cr=&msgstack->cr; + CRITICAL_SECTION* cr = &msgstack->cr; EnterCriticalSection(cr); - int stackpos=msgstack->stackpos; + int stackpos = msgstack->stackpos; if(!msgstack->stackpos) //no messages to process { LeaveCriticalSection(cr); @@ -73,10 +73,10 @@ bool msgget(MESSAGE_STACK* msgstack, MESSAGE* msg) } msgstack->stackpos--; //current message is at stackpos-1 stackpos--; - MESSAGE* stackmsg=msgstack->msg[stackpos]; + MESSAGE* stackmsg = msgstack->msg[stackpos]; memcpy(msg, stackmsg, sizeof(MESSAGE)); msgfree(stackmsg); - msgstack->msg[stackpos]=0; + msgstack->msg[stackpos] = 0; LeaveCriticalSection(cr); return true; } diff --git a/x64_dbg_dbg/murmurhash.cpp b/x64_dbg_dbg/murmurhash.cpp index f70d2f3c..4dec221c 100644 --- a/x64_dbg_dbg/murmurhash.cpp +++ b/x64_dbg_dbg/murmurhash.cpp @@ -31,12 +31,12 @@ #define FORCE_INLINE inline __attribute__((always_inline)) -inline uint32_t rotl32 ( uint32_t x, int8_t r ) +inline uint32_t rotl32(uint32_t x, int8_t r) { return (x << r) | (x >> (32 - r)); } -inline uint64_t rotl64 ( uint64_t x, int8_t r ) +inline uint64_t rotl64(uint64_t x, int8_t r) { return (x << r) | (x >> (64 - r)); } @@ -52,12 +52,12 @@ inline uint64_t rotl64 ( uint64_t x, int8_t r ) // Block read - if your platform needs to do endian-swapping or can only // handle aligned reads, do the conversion here -FORCE_INLINE uint32_t getblock32 ( const uint32_t * p, int i ) +FORCE_INLINE uint32_t getblock32(const uint32_t* p, int i) { return p[i]; } -FORCE_INLINE uint64_t getblock64 ( const uint64_t * p, int i ) +FORCE_INLINE uint64_t getblock64(const uint64_t* p, int i) { return p[i]; } @@ -65,7 +65,7 @@ FORCE_INLINE uint64_t getblock64 ( const uint64_t * p, int i ) //----------------------------------------------------------------------------- // Finalization mix - force all bits of a hash block to avalanche -FORCE_INLINE uint32_t fmix32 ( uint32_t h ) +FORCE_INLINE uint32_t fmix32(uint32_t h) { h ^= h >> 16; h *= 0x85ebca6b; @@ -78,7 +78,7 @@ FORCE_INLINE uint32_t fmix32 ( uint32_t h ) //---------- -FORCE_INLINE uint64_t fmix64 ( uint64_t k ) +FORCE_INLINE uint64_t fmix64(uint64_t k) { k ^= k >> 33; k *= BIG_CONSTANT(0xff51afd7ed558ccd); @@ -91,10 +91,10 @@ FORCE_INLINE uint64_t fmix64 ( uint64_t k ) //----------------------------------------------------------------------------- -void MurmurHash3_x86_32 ( const void * key, int len, - uint32_t seed, void * out ) +void MurmurHash3_x86_32(const void* key, int len, + uint32_t seed, void* out) { - const uint8_t * data = (const uint8_t*)key; + const uint8_t* data = (const uint8_t*)key; const int nblocks = len / 4; uint32_t h1 = seed; @@ -105,25 +105,25 @@ void MurmurHash3_x86_32 ( const void * key, int len, //---------- // body - const uint32_t * blocks = (const uint32_t *)(data + nblocks*4); + const uint32_t* blocks = (const uint32_t*)(data + nblocks * 4); for(int i = -nblocks; i; i++) { - uint32_t k1 = getblock32(blocks,i); + uint32_t k1 = getblock32(blocks, i); k1 *= c1; - k1 = ROTL32(k1,15); + k1 = ROTL32(k1, 15); k1 *= c2; h1 ^= k1; - h1 = ROTL32(h1,13); - h1 = h1*5+0xe6546b64; + h1 = ROTL32(h1, 13); + h1 = h1 * 5 + 0xe6546b64; } //---------- // tail - const uint8_t * tail = (const uint8_t*)(data + nblocks*4); + const uint8_t* tail = (const uint8_t*)(data + nblocks * 4); uint32_t k1 = 0; @@ -136,7 +136,7 @@ void MurmurHash3_x86_32 ( const void * key, int len, case 1: k1 ^= tail[0]; k1 *= c1; - k1 = ROTL32(k1,15); + k1 = ROTL32(k1, 15); k1 *= c2; h1 ^= k1; }; @@ -153,10 +153,10 @@ void MurmurHash3_x86_32 ( const void * key, int len, //----------------------------------------------------------------------------- -void MurmurHash3_x86_128 ( const void * key, const int len, - uint32_t seed, void * out ) +void MurmurHash3_x86_128(const void* key, const int len, + uint32_t seed, void* out) { - const uint8_t * data = (const uint8_t*)key; + const uint8_t* data = (const uint8_t*)key; const int nblocks = len / 16; uint32_t h1 = seed; @@ -172,56 +172,56 @@ void MurmurHash3_x86_128 ( const void * key, const int len, //---------- // body - const uint32_t * blocks = (const uint32_t *)(data + nblocks*16); + const uint32_t* blocks = (const uint32_t*)(data + nblocks * 16); for(int i = -nblocks; i; i++) { - uint32_t k1 = getblock32(blocks,i*4+0); - uint32_t k2 = getblock32(blocks,i*4+1); - uint32_t k3 = getblock32(blocks,i*4+2); - uint32_t k4 = getblock32(blocks,i*4+3); + uint32_t k1 = getblock32(blocks, i * 4 + 0); + uint32_t k2 = getblock32(blocks, i * 4 + 1); + uint32_t k3 = getblock32(blocks, i * 4 + 2); + uint32_t k4 = getblock32(blocks, i * 4 + 3); k1 *= c1; - k1 = ROTL32(k1,15); + k1 = ROTL32(k1, 15); k1 *= c2; h1 ^= k1; - h1 = ROTL32(h1,19); + h1 = ROTL32(h1, 19); h1 += h2; - h1 = h1*5+0x561ccd1b; + h1 = h1 * 5 + 0x561ccd1b; k2 *= c2; - k2 = ROTL32(k2,16); + k2 = ROTL32(k2, 16); k2 *= c3; h2 ^= k2; - h2 = ROTL32(h2,17); + h2 = ROTL32(h2, 17); h2 += h3; - h2 = h2*5+0x0bcaa747; + h2 = h2 * 5 + 0x0bcaa747; k3 *= c3; - k3 = ROTL32(k3,17); + k3 = ROTL32(k3, 17); k3 *= c4; h3 ^= k3; - h3 = ROTL32(h3,15); + h3 = ROTL32(h3, 15); h3 += h4; - h3 = h3*5+0x96cd1c35; + h3 = h3 * 5 + 0x96cd1c35; k4 *= c4; - k4 = ROTL32(k4,18); + k4 = ROTL32(k4, 18); k4 *= c1; h4 ^= k4; - h4 = ROTL32(h4,13); + h4 = ROTL32(h4, 13); h4 += h1; - h4 = h4*5+0x32ac3b17; + h4 = h4 * 5 + 0x32ac3b17; } //---------- // tail - const uint8_t * tail = (const uint8_t*)(data + nblocks*16); + const uint8_t* tail = (const uint8_t*)(data + nblocks * 16); uint32_t k1 = 0; uint32_t k2 = 0; @@ -237,7 +237,7 @@ void MurmurHash3_x86_128 ( const void * key, const int len, case 13: k4 ^= tail[12] << 0; k4 *= c4; - k4 = ROTL32(k4,18); + k4 = ROTL32(k4, 18); k4 *= c1; h4 ^= k4; @@ -250,7 +250,7 @@ void MurmurHash3_x86_128 ( const void * key, const int len, case 9: k3 ^= tail[ 8] << 0; k3 *= c3; - k3 = ROTL32(k3,17); + k3 = ROTL32(k3, 17); k3 *= c4; h3 ^= k3; @@ -263,7 +263,7 @@ void MurmurHash3_x86_128 ( const void * key, const int len, case 5: k2 ^= tail[ 4] << 0; k2 *= c2; - k2 = ROTL32(k2,16); + k2 = ROTL32(k2, 16); k2 *= c3; h2 ^= k2; @@ -276,7 +276,7 @@ void MurmurHash3_x86_128 ( const void * key, const int len, case 1: k1 ^= tail[ 0] << 0; k1 *= c1; - k1 = ROTL32(k1,15); + k1 = ROTL32(k1, 15); k1 *= c2; h1 ^= k1; }; @@ -316,10 +316,10 @@ void MurmurHash3_x86_128 ( const void * key, const int len, //----------------------------------------------------------------------------- -void MurmurHash3_x64_128 ( const void * key, const int len, - const uint32_t seed, void * out ) +void MurmurHash3_x64_128(const void* key, const int len, + const uint32_t seed, void* out) { - const uint8_t * data = (const uint8_t*)key; + const uint8_t* data = (const uint8_t*)key; const int nblocks = len / 16; uint64_t h1 = seed; @@ -331,36 +331,36 @@ void MurmurHash3_x64_128 ( const void * key, const int len, //---------- // body - const uint64_t * blocks = (const uint64_t *)(data); + const uint64_t* blocks = (const uint64_t*)(data); for(int i = 0; i < nblocks; i++) { - uint64_t k1 = getblock64(blocks,i*2+0); - uint64_t k2 = getblock64(blocks,i*2+1); + uint64_t k1 = getblock64(blocks, i * 2 + 0); + uint64_t k2 = getblock64(blocks, i * 2 + 1); k1 *= c1; - k1 = ROTL64(k1,31); + k1 = ROTL64(k1, 31); k1 *= c2; h1 ^= k1; - h1 = ROTL64(h1,27); + h1 = ROTL64(h1, 27); h1 += h2; - h1 = h1*5+0x52dce729; + h1 = h1 * 5 + 0x52dce729; k2 *= c2; - k2 = ROTL64(k2,33); + k2 = ROTL64(k2, 33); k2 *= c1; h2 ^= k2; - h2 = ROTL64(h2,31); + h2 = ROTL64(h2, 31); h2 += h1; - h2 = h2*5+0x38495ab5; + h2 = h2 * 5 + 0x38495ab5; } //---------- // tail - const uint8_t * tail = (const uint8_t*)(data + nblocks*16); + const uint8_t* tail = (const uint8_t*)(data + nblocks * 16); uint64_t k1 = 0; uint64_t k2 = 0; @@ -382,7 +382,7 @@ void MurmurHash3_x64_128 ( const void * key, const int len, case 9: k2 ^= ((uint64_t)tail[ 8]) << 0; k2 *= c2; - k2 = ROTL64(k2,33); + k2 = ROTL64(k2, 33); k2 *= c1; h2 ^= k2; @@ -403,7 +403,7 @@ void MurmurHash3_x64_128 ( const void * key, const int len, case 1: k1 ^= ((uint64_t)tail[ 0]) << 0; k1 *= c1; - k1 = ROTL64(k1,31); + k1 = ROTL64(k1, 31); k1 *= c2; h1 ^= k1; }; diff --git a/x64_dbg_dbg/murmurhash.h b/x64_dbg_dbg/murmurhash.h index d4a5f800..f0d55184 100644 --- a/x64_dbg_dbg/murmurhash.h +++ b/x64_dbg_dbg/murmurhash.h @@ -26,11 +26,11 @@ typedef unsigned __int64 uint64_t; //----------------------------------------------------------------------------- -void MurmurHash3_x86_32 ( const void * key, int len, uint32_t seed, void * out ); +void MurmurHash3_x86_32(const void* key, int len, uint32_t seed, void* out); -void MurmurHash3_x86_128 ( const void * key, int len, uint32_t seed, void * out ); +void MurmurHash3_x86_128(const void* key, int len, uint32_t seed, void* out); -void MurmurHash3_x64_128 ( const void * key, int len, uint32_t seed, void * out ); +void MurmurHash3_x64_128(const void* key, int len, uint32_t seed, void* out); //----------------------------------------------------------------------------- diff --git a/x64_dbg_dbg/patches.cpp b/x64_dbg_dbg/patches.cpp index 8f1a5352..4886e340 100644 --- a/x64_dbg_dbg/patches.cpp +++ b/x64_dbg_dbg/patches.cpp @@ -10,16 +10,16 @@ bool patchset(uint addr, unsigned char oldbyte, unsigned char newbyte) { if(!DbgIsDebugging() || !memisvalidreadptr(fdProcessInfo->hProcess, addr)) return false; - if(oldbyte==newbyte) + if(oldbyte == newbyte) return true; //no need to make a patch for a byte that is equal to itself PATCHINFO newPatch; - newPatch.addr=addr-modbasefromaddr(addr); + newPatch.addr = addr - modbasefromaddr(addr); modnamefromaddr(addr, newPatch.mod, true); - newPatch.oldbyte=oldbyte; - newPatch.newbyte=newbyte; - uint key=modhashfromva(addr); - PatchesInfo::iterator found=patches.find(key); - if(found!=patches.end()) //we found a patch on the specified address + newPatch.oldbyte = oldbyte; + newPatch.newbyte = newbyte; + uint key = modhashfromva(addr); + PatchesInfo::iterator found = patches.find(key); + if(found != patches.end()) //we found a patch on the specified address { if(found->second.oldbyte == newbyte) //patch is undone { @@ -28,8 +28,8 @@ bool patchset(uint addr, unsigned char oldbyte, unsigned char newbyte) } else { - newPatch.oldbyte=found->second.oldbyte; //keep the original byte from the previous patch - found->second=newPatch; + newPatch.oldbyte = found->second.oldbyte; //keep the original byte from the previous patch + found->second = newPatch; } } else @@ -41,13 +41,13 @@ bool patchget(uint addr, PATCHINFO* patch) { if(!DbgIsDebugging()) return false; - PatchesInfo::iterator found=patches.find(modhashfromva(addr)); - if(found==patches.end()) //not found + PatchesInfo::iterator found = patches.find(modhashfromva(addr)); + if(found == patches.end()) //not found return false; if(patch) { - *patch=found->second; - patch->addr+=modbasefromaddr(addr); + *patch = found->second; + patch->addr += modbasefromaddr(addr); return true; } return (found->second.oldbyte != found->second.newbyte); @@ -57,11 +57,11 @@ bool patchdel(uint addr, bool restore) { if(!DbgIsDebugging()) return false; - PatchesInfo::iterator found=patches.find(modhashfromva(addr)); - if(found==patches.end()) //not found + PatchesInfo::iterator found = patches.find(modhashfromva(addr)); + if(found == patches.end()) //not found return false; if(restore) - memwrite(fdProcessInfo->hProcess, (void*)(found->second.addr+modbasefromaddr(addr)), &found->second.oldbyte, sizeof(char), 0); + memwrite(fdProcessInfo->hProcess, (void*)(found->second.addr + modbasefromaddr(addr)), &found->second.oldbyte, sizeof(char), 0); patches.erase(found); return true; } @@ -70,19 +70,19 @@ void patchdelrange(uint start, uint end, bool restore) { if(!DbgIsDebugging()) return; - bool bDelAll=(start==0 && end==~0); //0x00000000-0xFFFFFFFF - uint modbase=modbasefromaddr(start); - if(modbase!=modbasefromaddr(end)) + bool bDelAll = (start == 0 && end == ~0); //0x00000000-0xFFFFFFFF + uint modbase = modbasefromaddr(start); + if(modbase != modbasefromaddr(end)) return; - start-=modbase; - end-=modbase; - PatchesInfo::iterator i=patches.begin(); - while(i!=patches.end()) + start -= modbase; + end -= modbase; + PatchesInfo::iterator i = patches.begin(); + while(i != patches.end()) { - if(bDelAll || (i->second.addr>=start && i->second.addrsecond.addr >= start && i->second.addr < end)) { if(restore) - memwrite(fdProcessInfo->hProcess, (void*)(i->second.addr+modbase), &i->second.oldbyte, sizeof(char), 0); + memwrite(fdProcessInfo->hProcess, (void*)(i->second.addr + modbase), &i->second.oldbyte, sizeof(char), 0); patches.erase(i++); } else @@ -96,8 +96,8 @@ void patchclear(const char* mod) patches.clear(); else { - PatchesInfo::iterator i=patches.begin(); - while(i!=patches.end()) + PatchesInfo::iterator i = patches.begin(); + while(i != patches.end()) { if(!_stricmp(i->second.mod, mod)) patches.erase(i++); @@ -115,15 +115,15 @@ bool patchenum(PATCHINFO* patcheslist, size_t* cbsize) return false; if(!patcheslist && cbsize) { - *cbsize=patches.size()*sizeof(LOOPSINFO); + *cbsize = patches.size() * sizeof(LOOPSINFO); return true; } - int j=0; - for(PatchesInfo::iterator i=patches.begin(); i!=patches.end(); ++i,j++) + int j = 0; + for(PatchesInfo::iterator i = patches.begin(); i != patches.end(); ++i, j++) { - patcheslist[j]=i->second; - uint modbase=modbasefromname(patcheslist[j].mod); - patcheslist[j].addr+=modbase; + patcheslist[j] = i->second; + uint modbase = modbasefromname(patcheslist[j].mod); + patcheslist[j].addr += modbase; } return true; } @@ -136,24 +136,24 @@ int patchfile(const PATCHINFO* patchlist, int count, const char* szFileName, cha strcpy(error, "no patches to apply"); return -1; } - char modname[MAX_MODULE_SIZE]=""; + char modname[MAX_MODULE_SIZE] = ""; strcpy(modname, patchlist[0].mod); //check if all patches are in the same module - for(int i=0; ihProcess, (HMODULE)modbase, szOriginalName, MAX_PATH)) { if(error) @@ -172,14 +172,14 @@ int patchfile(const PATCHINFO* patchlist, int count, const char* szFileName, cha ULONG_PTR FileMapVA; if(StaticFileLoad((char*)szFileName, UE_ACCESS_ALL, false, &FileHandle, &LoadedSize, &FileMap, &FileMapVA)) { - int patched=0; - for(int i=0; i%.2X\n", i+1, modname, ptr-FileMapVA, *ptr, patchlist[i].oldbyte, patchlist[i].newbyte); - *ptr=patchlist[i].newbyte; + dprintf("patch%.4d|%s[%.8X]:%.2X/%.2X->%.2X\n", i + 1, modname, ptr - FileMapVA, *ptr, patchlist[i].oldbyte, patchlist[i].newbyte); + *ptr = patchlist[i].newbyte; patched++; } if(!StaticFileUnload((char*)szFileName, true, FileHandle, LoadedSize, FileMap, FileMapVA)) diff --git a/x64_dbg_dbg/plugin_loader.cpp b/x64_dbg_dbg/plugin_loader.cpp index b4dfc2ab..8c430016 100644 --- a/x64_dbg_dbg/plugin_loader.cpp +++ b/x64_dbg_dbg/plugin_loader.cpp @@ -4,7 +4,7 @@ #include "x64_dbg.h" static std::vector pluginList; -static int curPluginHandle=0; +static int curPluginHandle = 0; static std::vector pluginCallbackList; static std::vector pluginCommandList; static std::vector pluginMenuList; @@ -13,18 +13,18 @@ static std::vector pluginMenuList; void pluginload(const char* pluginDir) { //load new plugins - char currentDir[deflen]=""; + char currentDir[deflen] = ""; GetCurrentDirectoryA(deflen, currentDir); SetCurrentDirectoryA(pluginDir); - char searchName[deflen]=""; + char searchName[deflen] = ""; #ifdef _WIN64 sprintf(searchName, "%s\\*.dp64", pluginDir); #else sprintf(searchName, "%s\\*.dp32", pluginDir); #endif // _WIN64 WIN32_FIND_DATA foundData; - HANDLE hSearch=FindFirstFileA(searchName, &foundData); - if(hSearch==INVALID_HANDLE_VALUE) + HANDLE hSearch = FindFirstFileA(searchName, &foundData); + if(hSearch == INVALID_HANDLE_VALUE) { SetCurrentDirectoryA(currentDir); return; @@ -33,27 +33,27 @@ void pluginload(const char* pluginDir) do { //set plugin data - pluginData.initStruct.pluginHandle=curPluginHandle; - char szPluginPath[MAX_PATH]=""; + pluginData.initStruct.pluginHandle = curPluginHandle; + char szPluginPath[MAX_PATH] = ""; sprintf(szPluginPath, "%s\\%s", pluginDir, foundData.cFileName); - pluginData.hPlugin=LoadLibraryA(szPluginPath); //load the plugin library + pluginData.hPlugin = LoadLibraryA(szPluginPath); //load the plugin library if(!pluginData.hPlugin) { dprintf("[PLUGIN] Failed to load plugin: %s\n", foundData.cFileName); continue; } - pluginData.pluginit=(PLUGINIT)GetProcAddress(pluginData.hPlugin, "pluginit"); + pluginData.pluginit = (PLUGINIT)GetProcAddress(pluginData.hPlugin, "pluginit"); if(!pluginData.pluginit) { dprintf("[PLUGIN] Export \"pluginit\" not found in plugin: %s\n", foundData.cFileName); FreeLibrary(pluginData.hPlugin); continue; } - pluginData.plugstop=(PLUGSTOP)GetProcAddress(pluginData.hPlugin, "plugstop"); - pluginData.plugsetup=(PLUGSETUP)GetProcAddress(pluginData.hPlugin, "plugsetup"); + pluginData.plugstop = (PLUGSTOP)GetProcAddress(pluginData.hPlugin, "plugstop"); + pluginData.plugsetup = (PLUGSETUP)GetProcAddress(pluginData.hPlugin, "plugsetup"); //auto-register callbacks for certain export names CBPLUGIN cbPlugin; - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBALLEVENTS"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBALLEVENTS"); if(cbPlugin) { pluginregistercallback(curPluginHandle, CB_INITDEBUG, cbPlugin); @@ -78,67 +78,67 @@ void pluginload(const char* pluginDir) pluginregistercallback(curPluginHandle, CB_WINEVENT, cbPlugin); pluginregistercallback(curPluginHandle, CB_WINEVENTGLOBAL, cbPlugin); } - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBINITDEBUG"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBINITDEBUG"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_INITDEBUG, cbPlugin); - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBSTOPDEBUG"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBSTOPDEBUG"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_STOPDEBUG, cbPlugin); - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBCREATEPROCESS"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBCREATEPROCESS"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_CREATEPROCESS, cbPlugin); - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBEXITPROCESS"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBEXITPROCESS"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_EXITPROCESS, cbPlugin); - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBCREATETHREAD"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBCREATETHREAD"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_CREATETHREAD, cbPlugin); - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBEXITTHREAD"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBEXITTHREAD"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_EXITTHREAD, cbPlugin); - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBSYSTEMBREAKPOINT"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBSYSTEMBREAKPOINT"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_SYSTEMBREAKPOINT, cbPlugin); - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBLOADDLL"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBLOADDLL"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_LOADDLL, cbPlugin); - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBUNLOADDLL"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBUNLOADDLL"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_UNLOADDLL, cbPlugin); - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBOUTPUTDEBUGSTRING"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBOUTPUTDEBUGSTRING"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_OUTPUTDEBUGSTRING, cbPlugin); - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBEXCEPTION"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBEXCEPTION"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_EXCEPTION, cbPlugin); - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBBREAKPOINT"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBBREAKPOINT"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_BREAKPOINT, cbPlugin); - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBPAUSEDEBUG"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBPAUSEDEBUG"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_PAUSEDEBUG, cbPlugin); - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBRESUMEDEBUG"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBRESUMEDEBUG"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_RESUMEDEBUG, cbPlugin); - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBSTEPPED"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBSTEPPED"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_STEPPED, cbPlugin); - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBATTACH"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBATTACH"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_ATTACH, cbPlugin); - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBDETACH"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBDETACH"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_DETACH, cbPlugin); - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBDEBUGEVENT"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBDEBUGEVENT"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_DEBUGEVENT, cbPlugin); - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBMENUENTRY"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBMENUENTRY"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_MENUENTRY, cbPlugin); - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBWINEVENT"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBWINEVENT"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_WINEVENT, cbPlugin); - cbPlugin=(CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBWINEVENTGLOBAL"); + cbPlugin = (CBPLUGIN)GetProcAddress(pluginData.hPlugin, "CBWINEVENTGLOBAL"); if(cbPlugin) pluginregistercallback(curPluginHandle, CB_WINEVENTGLOBAL, cbPlugin); //init plugin @@ -158,28 +158,28 @@ void pluginload(const char* pluginDir) else dprintf("[PLUGIN] %s v%d Loaded!\n", pluginData.initStruct.pluginName, pluginData.initStruct.pluginVersion); //add plugin menu - int hNewMenu=GuiMenuAdd(GUI_PLUGIN_MENU, pluginData.initStruct.pluginName); - if(hNewMenu==-1) + int hNewMenu = GuiMenuAdd(GUI_PLUGIN_MENU, pluginData.initStruct.pluginName); + if(hNewMenu == -1) { dprintf("[PLUGIN] GuiMenuAdd failed for plugin: %s\n", pluginData.initStruct.pluginName); - pluginData.hMenu=-1; + pluginData.hMenu = -1; } else { PLUG_MENU newMenu; - newMenu.hEntryMenu=hNewMenu; - newMenu.hEntryPlugin=-1; - newMenu.pluginHandle=pluginData.initStruct.pluginHandle; + newMenu.hEntryMenu = hNewMenu; + newMenu.hEntryPlugin = -1; + newMenu.pluginHandle = pluginData.initStruct.pluginHandle; pluginMenuList.push_back(newMenu); - pluginData.hMenu=hNewMenu; + pluginData.hMenu = hNewMenu; } pluginList.push_back(pluginData); //setup plugin if(pluginData.plugsetup) { PLUG_SETUPSTRUCT setupStruct; - setupStruct.hwndDlg=GuiGetWindowHandle(); - setupStruct.hMenu=hNewMenu; + setupStruct.hwndDlg = GuiGetWindowHandle(); + setupStruct.hMenu = hNewMenu; pluginData.plugsetup(&setupStruct); } curPluginHandle++; @@ -190,23 +190,23 @@ void pluginload(const char* pluginDir) static void plugincmdunregisterall(int pluginHandle) { - int listsize=(int)pluginCommandList.size(); - for(int i=listsize-1; i>=0; i--) + int listsize = (int)pluginCommandList.size(); + for(int i = listsize - 1; i >= 0; i--) { - if(pluginCommandList.at(i).pluginHandle==pluginHandle) + if(pluginCommandList.at(i).pluginHandle == pluginHandle) { dbgcmddel(pluginCommandList.at(i).command); - pluginCommandList.erase(pluginCommandList.begin()+i); + pluginCommandList.erase(pluginCommandList.begin() + i); } } } void pluginunload() { - int pluginCount=(int)pluginList.size(); - for(int i=0; i=deflen or strstr(command, "\1")) + if(!command or strlen(command) >= deflen or strstr(command, "\1")) return false; PLUG_COMMAND plugCmd; - plugCmd.pluginHandle=pluginHandle; + plugCmd.pluginHandle = pluginHandle; strcpy(plugCmd.command, command); if(!dbgcmdnew(command, (CBCOMMAND)cbCommand, debugonly)) return false; @@ -271,16 +271,16 @@ bool plugincmdregister(int pluginHandle, const char* command, CBPLUGINCOMMAND cb bool plugincmdunregister(int pluginHandle, const char* command) { - if(!command or strlen(command)>=deflen or strstr(command, "\1")) + if(!command or strlen(command) >= deflen or strstr(command, "\1")) return false; - int listsize=(int)pluginCommandList.size(); - for(int i=0; ihProcess, (const void*)start_addr, data, start_size, 0)) { if(!silent) @@ -42,36 +42,36 @@ int reffind(uint addr, uint size, CBREF cbRef, void* userinfo, bool silent) DISASM disasm; memset(&disasm, 0, sizeof(disasm)); #ifdef _WIN64 - disasm.Archi=64; + disasm.Archi = 64; #endif // _WIN64 - disasm.EIP=(UIntPtr)data; - disasm.VirtualAddr=(UInt64)start_addr; - uint i=0; + disasm.EIP = (UIntPtr)data; + disasm.VirtualAddr = (UInt64)start_addr; + uint i = 0; BASIC_INSTRUCTION_INFO basicinfo; cbRef(&disasm, &basicinfo, 0); //allow initializing REFINFO refinfo; memset(&refinfo, 0, sizeof(REFINFO)); - refinfo.userinfo=userinfo; - while(i linemap; static std::vector scriptbplist; static std::vector scriptstack; -static int scriptIp=0; -static bool volatile bAbort=false; -static bool volatile bIsRunning=false; +static int scriptIp = 0; +static bool volatile bAbort = false; +static bool volatile bIsRunning = false; static SCRIPTBRANCHTYPE scriptgetbranchtype(const char* text) { - char newtext[MAX_SCRIPT_LINE_SIZE]=""; + char newtext[MAX_SCRIPT_LINE_SIZE] = ""; strcpy(newtext, text); argformat(newtext); //format jump commands if(!strstr(newtext, " ")) @@ -42,19 +42,19 @@ static SCRIPTBRANCHTYPE scriptgetbranchtype(const char* text) static int scriptlabelfind(const char* labelname) { - int linecount=(int)linemap.size(); - for(int i=0; i=maxIp) //script end + int maxIp = (int)linemap.size(); //maximum ip + if(fromIp >= maxIp) //script end return fromIp; - while((linemap.at(fromIp).type==lineempty or linemap.at(fromIp).type==linecomment or linemap.at(fromIp).type==linelabel) and fromIp().swap(linemap); - for(int i=0,j=0; i=254) + else if(j >= 254) { memset(&entry, 0, sizeof(entry)); - int add=0; - while(temp[add]==' ') + int add = 0; + while(temp[add] == ' ') add++; - strcpy(entry.raw, temp+add); - *temp=0; - j=0; + strcpy(entry.raw, temp + add); + *temp = 0; + j = 0; linemap.push_back(entry); } else - j+=sprintf(temp+j, "%c", filedata[i]); + j += sprintf(temp + j, "%c", filedata[i]); } if(*temp) { @@ -137,115 +137,115 @@ static bool scriptcreatelinemap(const char* filename) linemap.push_back(entry); } efree(filedata, "createlinemap:filedata"); - unsigned int linemapsize=(unsigned int)linemap.size(); - while(!*linemap.at(linemapsize-1).raw) //remove empty lines from the end + unsigned int linemapsize = (unsigned int)linemap.size(); + while(!*linemap.at(linemapsize - 1).raw) //remove empty lines from the end { linemapsize--; linemap.pop_back(); } - for(unsigned int i=0; i().swap(linemap); return false; } - int foundlabel=scriptlabelfind(cur.u.label); + int foundlabel = scriptlabelfind(cur.u.label); if(foundlabel) //label defined twice { - char message[256]=""; - sprintf(message, "Duplicate label \"%s\" detected on lines %d and %d!", cur.u.label, foundlabel, i+1); + char message[256] = ""; + sprintf(message, "Duplicate label \"%s\" detected on lines %d and %d!", cur.u.label, foundlabel, i + 1); GuiScriptError(0, message); std::vector().swap(linemap); return false; } } - else if(scriptgetbranchtype(cur.raw)!=scriptnobranch) //branch + else if(scriptgetbranchtype(cur.raw) != scriptnobranch) //branch { - cur.type=linebranch; - cur.u.branch.type=scriptgetbranchtype(cur.raw); - char newraw[MAX_SCRIPT_LINE_SIZE]=""; + cur.type = linebranch; + cur.u.branch.type = scriptgetbranchtype(cur.raw); + char newraw[MAX_SCRIPT_LINE_SIZE] = ""; strcpy(newraw, cur.raw); argformat(newraw); - int len=(int)strlen(newraw); - for(int i=0; i().swap(linemap); return false; } else //set the branch destination line - linemap.at(i).u.branch.dest=scriptinternalstep(labelline); + linemap.at(i).u.branch.dest = scriptinternalstep(labelline); } } - if(linemap.at(linemapsize-1).type==linecomment or linemap.at(linemapsize-1).type==linelabel) //label/comment on the end + if(linemap.at(linemapsize - 1).type == linecomment or linemap.at(linemapsize - 1).type == linelabel) //label/comment on the end { memset(&entry, 0, sizeof(entry)); - entry.type=linecommand; + entry.type = linecommand; strcpy(entry.raw, "ret"); strcpy(entry.u.command, "ret"); linemap.push_back(entry); @@ -255,33 +255,33 @@ static bool scriptcreatelinemap(const char* filename) static bool scriptinternalbpget(int line) //internal bpget routine { - int bpcount=(int)scriptbplist.size(); - for(int i=0; i(int)linemap.size()) //invalid line + if(!line or line > (int)linemap.size()) //invalid line return false; - line=scriptinternalstep(line-1); //no breakpoints on non-executable locations + line = scriptinternalstep(line - 1); //no breakpoints on non-executable locations if(scriptinternalbpget(line)) //remove breakpoint { - int bpcount=(int)scriptbplist.size(); - for(int i=0; ilen) + int len = (int)strlen(text); + int cmdlen = (int)strlen(cmd); + if(cmdlen > len) return false; - else if(cmdlen==len) + else if(cmdlen == len) return scmp(text, cmd); - else if(text[cmdlen]==' ') + else if(text[cmdlen] == ' ') return (!_strnicmp(text, cmd, cmdlen)); return false; } @@ -332,7 +332,7 @@ static CMDRESULT scriptinternalcmdexec(const char* cmd) GuiScriptMessage("Script finished!"); return STATUS_EXIT; } - scriptIp=scriptstack.back(); //set scriptIp to the call address (scriptinternalstep will step over it) + scriptIp = scriptstack.back(); //set scriptIp to the call address (scriptinternalstep will step over it) scriptstack.pop_back(); //remove last stack entry return STATUS_CONTINUE; } @@ -342,10 +342,10 @@ static CMDRESULT scriptinternalcmdexec(const char* cmd) return STATUS_PAUSE; else if(scriptisinternalcommand(cmd, "nop")) //do nothing return STATUS_CONTINUE; - char command[deflen]=""; + char command[deflen] = ""; strcpy(command, cmd); argformat(command); - COMMAND* found=cmdfindmain(dbggetcommandlist(), command); + COMMAND* found = cmdfindmain(dbggetcommandlist(), command); if(!found) //invalid command return STATUS_ERROR; if(arraycontains(found->name, "var")) //var @@ -353,7 +353,7 @@ static CMDRESULT scriptinternalcmdexec(const char* cmd) cmddirectexec(dbggetcommandlist(), command); return STATUS_CONTINUE; } - CMDRESULT res=cmddirectexec(dbggetcommandlist(), command); + CMDRESULT res = cmddirectexec(dbggetcommandlist(), command); if(DbgIsDebugging()) { while(!waitislocked(WAITID_RUN)) //while not locked (NOTE: possible deadlock) @@ -364,43 +364,43 @@ static CMDRESULT scriptinternalcmdexec(const char* cmd) static bool scriptinternalbranch(SCRIPTBRANCHTYPE type) //determine if we should jump { - uint ezflag=0; - uint bsflag=0; + uint ezflag = 0; + uint bsflag = 0; varget("$_EZ_FLAG", &ezflag, 0, 0); varget("$_BS_FLAG", &bsflag, 0, 0); - bool bJump=false; + bool bJump = false; switch(type) { case scriptcall: case scriptjmp: - bJump=true; + bJump = true; break; case scriptjnejnz: //$_EZ_FLAG=0 if(!ezflag) - bJump=true; + bJump = true; break; case scriptjejz: //$_EZ_FLAG=1 if(ezflag) - bJump=true; + bJump = true; break; case scriptjbjl: //$_BS_FLAG=0 and $_EZ_FLAG=0 //below, not equal if(!bsflag and !ezflag) - bJump=true; + bJump = true; break; case scriptjajg: //$_BS_FLAG=1 and $_EZ_FLAG=0 //above, not equal if(bsflag and !ezflag) - bJump=true; + bJump = true; break; case scriptjbejle: //$_BS_FLAG=0 or $_EZ_FLAG=1 if(!bsflag or ezflag) - bJump=true; + bJump = true; break; case scriptjaejge: //$_BS_FLAG=1 or $_EZ_FLAG=1 if(bsflag or ezflag) - bJump=true; + bJump = true; break; default: - bJump=false; + bJump = false; break; } return bJump; @@ -408,71 +408,71 @@ static bool scriptinternalbranch(SCRIPTBRANCHTYPE type) //determine if we should static bool scriptinternalcmd() { - bool bContinue=true; - LINEMAPENTRY cur=linemap.at(scriptIp-1); - if(cur.type==linecommand) + bool bContinue = true; + LINEMAPENTRY cur = linemap.at(scriptIp - 1); + if(cur.type == linecommand) { switch(scriptinternalcmdexec(cur.u.command)) { case STATUS_CONTINUE: break; case STATUS_ERROR: - bContinue=false; + bContinue = false; GuiScriptError(scriptIp, "Error executing command!"); break; case STATUS_EXIT: - bContinue=false; - scriptIp=scriptinternalstep(0); + bContinue = false; + scriptIp = scriptinternalstep(0); GuiScriptSetIp(scriptIp); break; case STATUS_PAUSE: - bContinue=false; //stop running the script - scriptIp=scriptinternalstep(scriptIp); + bContinue = false; //stop running the script + scriptIp = scriptinternalstep(scriptIp); GuiScriptSetIp(scriptIp); break; } } - else if(cur.type==linebranch) + else if(cur.type == linebranch) { - if(cur.u.branch.type==scriptcall) //calls have a special meaning + if(cur.u.branch.type == scriptcall) //calls have a special meaning scriptstack.push_back(scriptIp); if(scriptinternalbranch(cur.u.branch.type)) - scriptIp=scriptlabelfind(cur.u.branch.branchlabel); + scriptIp = scriptlabelfind(cur.u.branch.branchlabel); } return bContinue; } static DWORD WINAPI scriptRunThread(void* arg) { - int destline=(int)(uint)arg; - if(!destline or destline>(int)linemap.size()) //invalid line - destline=0; + int destline = (int)(uint)arg; + if(!destline or destline > (int)linemap.size()) //invalid line + destline = 0; if(destline) { - destline=scriptinternalstep(destline-1); //no breakpoints on non-executable locations + destline = scriptinternalstep(destline - 1); //no breakpoints on non-executable locations if(!scriptinternalbpget(destline)) //no breakpoint set scriptinternalbptoggle(destline); } - bAbort=false; + bAbort = false; if(scriptIp) scriptIp--; - scriptIp=scriptinternalstep(scriptIp); - bool bContinue=true; + scriptIp = scriptinternalstep(scriptIp); + bool bContinue = true; while(bContinue && !bAbort) //run loop { - bContinue=scriptinternalcmd(); - if(scriptIp==scriptinternalstep(scriptIp)) //end of script + bContinue = scriptinternalcmd(); + if(scriptIp == scriptinternalstep(scriptIp)) //end of script { - bContinue=false; - scriptIp=scriptinternalstep(0); + bContinue = false; + scriptIp = scriptinternalstep(0); } if(bContinue) - scriptIp=scriptinternalstep(scriptIp); //this is the next ip + scriptIp = scriptinternalstep(scriptIp); //this is the next ip if(scriptinternalbpget(scriptIp)) //breakpoint=stop run loop - bContinue=false; + bContinue = false; Sleep(1); //don't fry the processor } - bIsRunning=false; //not running anymore + bIsRunning = false; //not running anymore GuiScriptSetIp(scriptIp); return 0; } @@ -481,25 +481,25 @@ static DWORD WINAPI scriptLoadThread(void* filename) { GuiScriptClear(); GuiScriptEnableHighlighting(true); //enable default script syntax highlighting - scriptIp=0; + scriptIp = 0; std::vector().swap(scriptbplist); //clear breakpoints std::vector().swap(scriptstack); //clear script stack - bAbort=false; + bAbort = false; if(!scriptcreatelinemap((const char*)filename)) return 0; - int lines=(int)linemap.size(); - const char** script=(const char**)BridgeAlloc(lines*sizeof(const char*)); - for(int i=0; i().swap(scriptbplist); //clear breakpoints - bAbort=false; + bAbort = false; } void scriptrun(int destline) @@ -521,7 +521,7 @@ void scriptrun(int destline) } if(bIsRunning) //already running return; - bIsRunning=true; + bIsRunning = true; CloseHandle(CreateThread(0, 0, scriptRunThread, (void*)(uint)destline, 0, 0)); } @@ -529,12 +529,12 @@ DWORD WINAPI scriptStepThread(void* param) { if(bIsRunning) //already running return 0; - scriptIp=scriptinternalstep(scriptIp-1); //probably useless + scriptIp = scriptinternalstep(scriptIp - 1); //probably useless if(!scriptinternalcmd()) return 0; - if(scriptIp==scriptinternalstep(scriptIp)) //end of script - scriptIp=0; - scriptIp=scriptinternalstep(scriptIp); + if(scriptIp == scriptinternalstep(scriptIp)) //end of script + scriptIp = 0; + scriptIp = scriptinternalstep(scriptIp); GuiScriptSetIp(scriptIp); return 0; } @@ -546,24 +546,24 @@ void scriptstep() bool scriptbptoggle(int line) { - if(!line or line>(int)linemap.size()) //invalid line + if(!line or line > (int)linemap.size()) //invalid line return false; - line=scriptinternalstep(line-1); //no breakpoints on non-executable locations + line = scriptinternalstep(line - 1); //no breakpoints on non-executable locations if(scriptbpget(line)) //remove breakpoint { - int bpcount=(int)scriptbplist.size(); - for(int i=0; i(int)linemap.size()) + if(line > (int)linemap.size()) return lineempty; - return linemap.at(line-1).type; + return linemap.at(line - 1).type; } void scriptsetip(int line) { if(line) line--; - scriptIp=scriptinternalstep(line); + scriptIp = scriptinternalstep(line); GuiScriptSetIp(scriptIp); } @@ -627,7 +627,7 @@ void scriptreset() { while(bIsRunning) { - bAbort=true; + bAbort = true; Sleep(1); } Sleep(10); @@ -636,17 +636,17 @@ void scriptreset() bool scriptgetbranchinfo(int line, SCRIPTBRANCH* info) { - if(!info or !line or line>(int)linemap.size()) //invalid line + if(!info or !line or line > (int)linemap.size()) //invalid line return false; - if(linemap.at(line-1).type!=linebranch) //no branch + if(linemap.at(line - 1).type != linebranch) //no branch return false; - memcpy(info, &linemap.at(line-1).u.branch, sizeof(SCRIPTBRANCH)); + memcpy(info, &linemap.at(line - 1).u.branch, sizeof(SCRIPTBRANCH)); return true; } CMDRESULT cbScriptLoad(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) return STATUS_ERROR; scriptload(argv[1]); return STATUS_CONTINUE; @@ -654,7 +654,7 @@ CMDRESULT cbScriptLoad(int argc, char* argv[]) CMDRESULT cbScriptMsg(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments!"); return STATUS_ERROR; @@ -665,7 +665,7 @@ CMDRESULT cbScriptMsg(int argc, char* argv[]) CMDRESULT cbScriptMsgyn(int argc, char* argv[]) { - if(argc<2) + if(argc < 2) { dputs("not enough arguments!"); return STATUS_ERROR; diff --git a/x64_dbg_dbg/stackinfo.cpp b/x64_dbg_dbg/stackinfo.cpp index 1935edb4..4cdc46a6 100644 --- a/x64_dbg_dbg/stackinfo.cpp +++ b/x64_dbg_dbg/stackinfo.cpp @@ -9,58 +9,58 @@ bool stackcommentget(uint addr, STACK_COMMENT* comment) { - uint data=0; + uint data = 0; memset(comment, 0, sizeof(STACK_COMMENT)); memread(fdProcessInfo->hProcess, (const void*)addr, &data, sizeof(uint), 0); if(!memisvalidreadptr(fdProcessInfo->hProcess, data)) //the stack value is no pointer return false; - uint size=0; - uint base=memfindbaseaddr(data, &size); - uint readStart=data-16*4; - if(readStarthProcess, (const void*)readStart, disasmData, sizeof(disasmData), 0); - uint prev=disasmback(disasmData, 0, sizeof(disasmData), data-readStart, 1); - uint previousInstr=readStart+prev; + uint prev = disasmback(disasmData, 0, sizeof(disasmData), data - readStart, 1); + uint previousInstr = readStart + prev; DISASM disasm; - disasm.Options=NoformatNumeral; + disasm.Options = NoformatNumeral; #ifdef _WIN64 - disasm.Archi=64; + disasm.Archi = 64; #endif // _WIN64 - disasm.VirtualAddr=previousInstr; - disasm.EIP=(UIntPtr)(disasmData+prev); - int len=Disasm(&disasm); + disasm.VirtualAddr = previousInstr; + disasm.EIP = (UIntPtr)(disasmData + prev); + int len = Disasm(&disasm); BASIC_INSTRUCTION_INFO basicinfo; - bool valid=disasmfast(disasmData+prev, previousInstr, &basicinfo); + bool valid = disasmfast(disasmData + prev, previousInstr, &basicinfo); if(valid && basicinfo.call) //call { - char label[MAX_LABEL_SIZE]=""; + char label[MAX_LABEL_SIZE] = ""; ADDRINFO addrinfo; - addrinfo.flags=flaglabel; + addrinfo.flags = flaglabel; if(_dbg_addrinfoget(data, SEG_DEFAULT, &addrinfo)) strcpy(label, addrinfo.label); - char module[MAX_MODULE_SIZE]=""; + char module[MAX_MODULE_SIZE] = ""; modnamefromaddr(data, module, false); - char returnToAddr[MAX_COMMENT_SIZE]=""; + char returnToAddr[MAX_COMMENT_SIZE] = ""; if(*module) sprintf(returnToAddr, "%s.", module); if(!*label) sprintf(label, fhex, data); strcat(returnToAddr, label); - data=basicinfo.addr; + data = basicinfo.addr; if(data) { - *label=0; - addrinfo.flags=flaglabel; + *label = 0; + addrinfo.flags = flaglabel; if(_dbg_addrinfoget(data, SEG_DEFAULT, &addrinfo)) strcpy(label, addrinfo.label); - *module=0; + *module = 0; modnamefromaddr(data, module, false); - char returnFromAddr[MAX_COMMENT_SIZE]=""; + char returnFromAddr[MAX_COMMENT_SIZE] = ""; if(*module) sprintf(returnFromAddr, "%s.", module); if(!*label) @@ -76,10 +76,10 @@ bool stackcommentget(uint addr, STACK_COMMENT* comment) //string STRING_TYPE strtype; - char string[512]=""; + char string[512] = ""; if(disasmgetstringat(data, &strtype, string, string, 500)) { - if(strtype==str_ascii) + if(strtype == str_ascii) sprintf(comment->comment, "\"%s\"", string); else //unicode sprintf(comment->comment, "L\"%s\"", string); @@ -87,14 +87,14 @@ bool stackcommentget(uint addr, STACK_COMMENT* comment) } //label - char label[MAX_LABEL_SIZE]=""; + char label[MAX_LABEL_SIZE] = ""; ADDRINFO addrinfo; - addrinfo.flags=flaglabel; + addrinfo.flags = flaglabel; if(_dbg_addrinfoget(data, SEG_DEFAULT, &addrinfo)) strcpy(label, addrinfo.label); - char module[MAX_MODULE_SIZE]=""; + char module[MAX_MODULE_SIZE] = ""; modnamefromaddr(data, module, false); - char addrInfo[MAX_COMMENT_SIZE]=""; + char addrInfo[MAX_COMMENT_SIZE] = ""; if(*module) //module { if(*label) //+label @@ -114,46 +114,46 @@ bool stackcommentget(uint addr, STACK_COMMENT* comment) #include "console.h" void stackgetcallstack(uint csp, CALLSTACK* callstack) { - callstack->total=0; - if(!DbgIsDebugging() or csp%sizeof(uint)) //alignment problem + callstack->total = 0; + if(!DbgIsDebugging() or csp % sizeof(uint)) //alignment problem return; if(!memisvalidreadptr(fdProcessInfo->hProcess, csp)) return; std::vector callstackVector; - DWORD ticks=GetTickCount(); - uint stacksize=0; - uint stackbase=memfindbaseaddr(csp, &stacksize, false); + DWORD ticks = GetTickCount(); + uint stacksize = 0; + uint stackbase = memfindbaseaddr(csp, &stacksize, false); if(!stackbase) //super-fail (invalid stack address) return; //walk up the stack - uint i=csp; - while(i!=stackbase+stacksize) + uint i = csp; + while(i != stackbase + stacksize) { - uint data=0; + uint data = 0; memread(fdProcessInfo->hProcess, (const void*)i, &data, sizeof(uint), 0); if(memisvalidreadptr(fdProcessInfo->hProcess, data)) //the stack value is a pointer { - uint size=0; - uint base=memfindbaseaddr(data, &size); - uint readStart=data-16*4; - if(readStarthProcess, (const void*)readStart, disasmData, sizeof(disasmData), 0); - uint prev=disasmback(disasmData, 0, sizeof(disasmData), data-readStart, 1); - uint previousInstr=readStart+prev; + uint prev = disasmback(disasmData, 0, sizeof(disasmData), data - readStart, 1); + uint previousInstr = readStart + prev; BASIC_INSTRUCTION_INFO basicinfo; - bool valid=disasmfast(disasmData+prev, previousInstr, &basicinfo); + bool valid = disasmfast(disasmData + prev, previousInstr, &basicinfo); if(valid && basicinfo.call) //call { - char label[MAX_LABEL_SIZE]=""; + char label[MAX_LABEL_SIZE] = ""; ADDRINFO addrinfo; - addrinfo.flags=flaglabel; + addrinfo.flags = flaglabel; if(_dbg_addrinfoget(data, SEG_DEFAULT, &addrinfo)) strcpy(label, addrinfo.label); - char module[MAX_MODULE_SIZE]=""; + char module[MAX_MODULE_SIZE] = ""; modnamefromaddr(data, module, false); - char returnToAddr[MAX_COMMENT_SIZE]=""; + char returnToAddr[MAX_COMMENT_SIZE] = ""; if(*module) sprintf(returnToAddr, "%s.", module); if(!*label) @@ -162,21 +162,21 @@ void stackgetcallstack(uint csp, CALLSTACK* callstack) CALLSTACKENTRY curEntry; memset(&curEntry, 0, sizeof(CALLSTACKENTRY)); - curEntry.addr=i; - curEntry.to=data; - curEntry.from=basicinfo.addr; + curEntry.addr = i; + curEntry.to = data; + curEntry.from = basicinfo.addr; - data=basicinfo.addr; + data = basicinfo.addr; if(data) { - *label=0; - addrinfo.flags=flaglabel; + *label = 0; + addrinfo.flags = flaglabel; if(_dbg_addrinfoget(data, SEG_DEFAULT, &addrinfo)) strcpy(label, addrinfo.label); - *module=0; + *module = 0; modnamefromaddr(data, module, false); - char returnFromAddr[MAX_COMMENT_SIZE]=""; + char returnFromAddr[MAX_COMMENT_SIZE] = ""; if(*module) sprintf(returnFromAddr, "%s.", module); if(!*label) @@ -190,13 +190,13 @@ void stackgetcallstack(uint csp, CALLSTACK* callstack) callstackVector.push_back(curEntry); } } - i+=sizeof(uint); + i += sizeof(uint); } - callstack->total=(int)callstackVector.size(); + callstack->total = (int)callstackVector.size(); if(callstack->total) { - callstack->entries=(CALLSTACKENTRY*)BridgeAlloc(callstack->total*sizeof(CALLSTACKENTRY)); - for(int i=0; itotal; i++) + callstack->entries = (CALLSTACKENTRY*)BridgeAlloc(callstack->total * sizeof(CALLSTACKENTRY)); + for(int i = 0; i < callstack->total; i++) { //CALLSTACKENTRY curEntry; //memcpy(&curEntry, &callstackVector.at(i), sizeof(CALLSTACKENTRY)); diff --git a/x64_dbg_dbg/symbolinfo.cpp b/x64_dbg_dbg/symbolinfo.cpp index def77e81..414f411d 100644 --- a/x64_dbg_dbg/symbolinfo.cpp +++ b/x64_dbg_dbg/symbolinfo.cpp @@ -11,13 +11,13 @@ struct SYMBOLCBDATA static BOOL CALLBACK EnumSymbols(PSYMBOL_INFO pSymInfo, ULONG SymbolSize, PVOID UserContext) { - int len=(int)strlen(pSymInfo->Name); + int len = (int)strlen(pSymInfo->Name); SYMBOLINFO curSymbol; memset(&curSymbol, 0, sizeof(SYMBOLINFO)); - curSymbol.addr=(duint)pSymInfo->Address; - curSymbol.decoratedSymbol=(char*)BridgeAlloc(len+1); + curSymbol.addr = (duint)pSymInfo->Address; + curSymbol.decoratedSymbol = (char*)BridgeAlloc(len + 1); strcpy(curSymbol.decoratedSymbol, pSymInfo->Name); - curSymbol.undecoratedSymbol=(char*)BridgeAlloc(MAX_SYM_NAME); + curSymbol.undecoratedSymbol = (char*)BridgeAlloc(MAX_SYM_NAME); if(strstr(pSymInfo->Name, "Ordinal")) { //skip bad ordinals @@ -27,14 +27,14 @@ static BOOL CALLBACK EnumSymbols(PSYMBOL_INFO pSymInfo, ULONG SymbolSize, PVOID if(!UnDecorateSymbolName(pSymInfo->Name, curSymbol.undecoratedSymbol, MAX_SYM_NAME, UNDNAME_COMPLETE)) { BridgeFree(curSymbol.undecoratedSymbol); - curSymbol.undecoratedSymbol=0; + curSymbol.undecoratedSymbol = 0; } else if(!strcmp(curSymbol.decoratedSymbol, curSymbol.undecoratedSymbol)) { BridgeFree(curSymbol.undecoratedSymbol); - curSymbol.undecoratedSymbol=0; + curSymbol.undecoratedSymbol = 0; } - SYMBOLCBDATA* cbData=(SYMBOLCBDATA*)UserContext; + SYMBOLCBDATA* cbData = (SYMBOLCBDATA*)UserContext; cbData->cbSymbolEnum(&curSymbol, cbData->user); return TRUE; } @@ -42,9 +42,9 @@ static BOOL CALLBACK EnumSymbols(PSYMBOL_INFO pSymInfo, ULONG SymbolSize, PVOID void symenum(uint base, CBSYMBOLENUM cbSymbolEnum, void* user) { SYMBOLCBDATA symbolCbData; - symbolCbData.cbSymbolEnum=cbSymbolEnum; - symbolCbData.user=user; - char mask[]="*"; + symbolCbData.cbSymbolEnum = cbSymbolEnum; + symbolCbData.user = user; + char mask[] = "*"; SymEnumSymbols(fdProcessInfo->hProcess, base, mask, EnumSymbols, &symbolCbData); } @@ -56,7 +56,7 @@ static BOOL CALLBACK EnumModules(LPCTSTR ModuleName, ULONG BaseOfDll, PVOID User { SYMBOLMODULEINFO curModule; memset(&curModule, 0, sizeof(SYMBOLMODULEINFO)); - curModule.base=BaseOfDll; + curModule.base = BaseOfDll; modnamefromaddr(BaseOfDll, curModule.name, true); ((std::vector*)UserContext)->push_back(curModule); return TRUE; @@ -67,9 +67,9 @@ void symupdatemodulelist() std::vector modList; modList.clear(); SymEnumerateModules(fdProcessInfo->hProcess, EnumModules, &modList); - int modcount=(int)modList.size(); - SYMBOLMODULEINFO* modListBridge=(SYMBOLMODULEINFO*)BridgeAlloc(sizeof(SYMBOLMODULEINFO)*modcount); - for(int i=0; i modList; modList.clear(); SymEnumerateModules(fdProcessInfo->hProcess, EnumModules, &modList); - int modcount=(int)modList.size(); + int modcount = (int)modList.size(); if(!modcount) return; char szOldSearchPath[MAX_PATH] = ""; @@ -97,7 +97,7 @@ void symdownloadallsymbols(const char* szSymbolStore) dputs("SymSetSearchPath (1) failed!"); return; } - for(int i=0; iMaxNameLen = MAX_LABEL_SIZE; if(!SymFromName(fdProcessInfo->hProcess, name, pSymbol)) return false; - *addr=(uint)pSymbol->Address; + *addr = (uint)pSymbol->Address; return true; } const char* symgetsymbolicname(uint addr) { //[modname.]symbolname - static char symbolicname[MAX_MODULE_SIZE+MAX_SYM_NAME]=""; - char label[MAX_SYM_NAME]=""; - bool retval=false; + static char symbolicname[MAX_MODULE_SIZE + MAX_SYM_NAME] = ""; + char label[MAX_SYM_NAME] = ""; + bool retval = false; if(labelget(addr, label)) //user labels have priority - retval=true; + retval = true; else //no user labels { - DWORD64 displacement=0; + DWORD64 displacement = 0; char buffer[sizeof(SYMBOL_INFO) + MAX_LABEL_SIZE * sizeof(char)]; PSYMBOL_INFO pSymbol = (PSYMBOL_INFO)buffer; pSymbol->SizeOfStruct = sizeof(SYMBOL_INFO); @@ -157,12 +157,12 @@ const char* symgetsymbolicname(uint addr) { if(!settingboolget("Engine", "UndecorateSymbolNames") or !UnDecorateSymbolName(pSymbol->Name, label, MAX_SYM_NAME, UNDNAME_COMPLETE)) strcpy(label, pSymbol->Name); - retval=true; + retval = true; } } if(retval) { - char modname[MAX_MODULE_SIZE]=""; + char modname[MAX_MODULE_SIZE] = ""; if(modnamefromaddr(addr, modname, false)) sprintf(symbolicname, "%s.%s", modname, label); else diff --git a/x64_dbg_dbg/test/general/dll/main.cpp b/x64_dbg_dbg/test/general/dll/main.cpp index a0294535..537163ec 100644 --- a/x64_dbg_dbg/test/general/dll/main.cpp +++ b/x64_dbg_dbg/test/general/dll/main.cpp @@ -1,6 +1,6 @@ #include "main.h" -char global[10]="0"; +char global[10] = "0"; // a sample exported function void DLL_EXPORT SomeFunction(const LPCSTR sometext) @@ -10,14 +10,14 @@ void DLL_EXPORT SomeFunction(const LPCSTR sometext) extern "C" DLL_EXPORT BOOL APIENTRY DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { - switch (fdwReason) + switch(fdwReason) { case DLL_PROCESS_ATTACH: { GetTickCount(); GetCurrentProcessId(); GetCurrentProcess(); - DWORD old=0; + DWORD old = 0; VirtualProtect(global, 10, PAGE_GUARD, &old); asm("int3"); } diff --git a/x64_dbg_dbg/test/general/exe/main.cpp b/x64_dbg_dbg/test/general/exe/main.cpp index 773b803e..5607a64b 100644 --- a/x64_dbg_dbg/test/general/exe/main.cpp +++ b/x64_dbg_dbg/test/general/exe/main.cpp @@ -1,20 +1,20 @@ #include -char global[10]="0"; +char global[10] = "0"; int main() { GetTickCount(); - char* a=0; + char* a = 0; GetCurrentProcessId(); GetCurrentProcess(); - DWORD old=0; - VirtualProtect(global, 0x1000, PAGE_READWRITE|PAGE_GUARD, &old); + DWORD old = 0; + VirtualProtect(global, 0x1000, PAGE_READWRITE | PAGE_GUARD, &old); /*throw exceptions*/ - global[0]=0; //PAGE_GUARD - *a=0; //ACCESS_VIOLATION + global[0] = 0; //PAGE_GUARD + *a = 0; //ACCESS_VIOLATION asm("int3"); //BREAKPOINT return 0; } diff --git a/x64_dbg_dbg/test/guard_page/main.cpp b/x64_dbg_dbg/test/guard_page/main.cpp index faa75832..47cf0be0 100644 --- a/x64_dbg_dbg/test/guard_page/main.cpp +++ b/x64_dbg_dbg/test/guard_page/main.cpp @@ -3,35 +3,35 @@ typedef bool (*CBRET)(); -unsigned int globalvar=0; +unsigned int globalvar = 0; int main() { unsigned int lol; - unsigned char* page=(unsigned char*)VirtualAlloc(0, 0x1000, MEM_COMMIT|MEM_RESERVE, PAGE_EXECUTE_READWRITE); + unsigned char* page = (unsigned char*)VirtualAlloc(0, 0x1000, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); if(!page) { puts("error: VirtualAlloc"); return 1; } - page[0]=0x6A; + page[0] = 0x6A; puts("write"); - page[1]=0x01; + page[1] = 0x01; puts("write"); - page[2]=0x58; + page[2] = 0x58; puts("write"); - page[3]=0xC3; + page[3] = 0xC3; puts("write"); - CBRET cb=(CBRET)page; + CBRET cb = (CBRET)page; cb(); puts("exec"); - lol=globalvar; + lol = globalvar; puts("read"); - lol=page[1]; + lol = page[1]; puts("read"); - lol=page[3]; + lol = page[3]; puts("read"); - lol=page[2]; + lol = page[2]; puts("read"); return 0; } diff --git a/x64_dbg_dbg/thread.cpp b/x64_dbg_dbg/thread.cpp index b112824e..cd1b9ec6 100644 --- a/x64_dbg_dbg/thread.cpp +++ b/x64_dbg_dbg/thread.cpp @@ -10,12 +10,12 @@ static int currentThread; void threadcreate(CREATE_THREAD_DEBUG_INFO* CreateThread) { THREADINFO curInfo; - curInfo.ThreadNumber=threadNum; - curInfo.hThread=CreateThread->hThread; - curInfo.dwThreadId=((DEBUG_EVENT*)GetDebugData())->dwThreadId; - curInfo.ThreadStartAddress=(uint)CreateThread->lpStartAddress; - curInfo.ThreadLocalBase=(uint)CreateThread->lpThreadLocalBase; - *curInfo.threadName='\0'; + curInfo.ThreadNumber = threadNum; + curInfo.hThread = CreateThread->hThread; + curInfo.dwThreadId = ((DEBUG_EVENT*)GetDebugData())->dwThreadId; + curInfo.ThreadStartAddress = (uint)CreateThread->lpStartAddress; + curInfo.ThreadLocalBase = (uint)CreateThread->lpThreadLocalBase; + *curInfo.threadName = '\0'; if(!threadNum) strcpy(curInfo.threadName, "Main Thread"); threadList.push_back(curInfo); @@ -25,10 +25,10 @@ void threadcreate(CREATE_THREAD_DEBUG_INFO* CreateThread) void threadexit(DWORD dwThreadId) { - for(unsigned int i=0; i().swap(threadList); GuiUpdateThreadView(); } @@ -57,61 +57,61 @@ static DWORD GetThreadLastError(uint tebAddress) void threadgetlist(THREADLIST* list) { - int count=(int)threadList.size(); - list->count=count; + int count = (int)threadList.size(); + list->count = count; if(!count) return; - list->list=(THREADALLINFO*)BridgeAlloc(count*sizeof(THREADALLINFO)); - for(int i=0; ilist = (THREADALLINFO*)BridgeAlloc(count * sizeof(THREADALLINFO)); + for(int i = 0; i < count; i++) { - if(hActiveThread==threadList.at(i).hThread) - currentThread=i; + if(hActiveThread == threadList.at(i).hThread) + currentThread = i; memset(&list->list[i], 0, sizeof(THREADALLINFO)); memcpy(&list->list[i].BasicInfo, &threadList.at(i), sizeof(THREADINFO)); - HANDLE hThread=list->list[i].BasicInfo.hThread; - list->list[i].ThreadCip=GetContextDataEx(hThread, UE_CIP); - list->list[i].SuspendCount=SuspendThread(hThread); + HANDLE hThread = list->list[i].BasicInfo.hThread; + list->list[i].ThreadCip = GetContextDataEx(hThread, UE_CIP); + list->list[i].SuspendCount = SuspendThread(hThread); ResumeThread(hThread); - list->list[i].Priority=(THREADPRIORITY)GetThreadPriority(list->list[i].BasicInfo.hThread); - list->list[i].WaitReason=GetThreadWaitReason(list->list[i].BasicInfo.dwThreadId); - list->list[i].LastError=GetThreadLastError(list->list[i].BasicInfo.ThreadLocalBase); + list->list[i].Priority = (THREADPRIORITY)GetThreadPriority(list->list[i].BasicInfo.hThread); + list->list[i].WaitReason = GetThreadWaitReason(list->list[i].BasicInfo.dwThreadId); + list->list[i].LastError = GetThreadLastError(list->list[i].BasicInfo.ThreadLocalBase); } - list->CurrentThread=currentThread; + list->CurrentThread = currentThread; } bool threadisvalid(DWORD dwThreadId) { - for(unsigned int i=0; i -static bool dosignedcalc=false; +static bool dosignedcalc = false; bool valuesignedcalc() { @@ -17,7 +17,7 @@ bool valuesignedcalc() void valuesetsignedcalc(bool a) { - dosignedcalc=a; + dosignedcalc = a; } static bool isflag(const char* string) @@ -260,84 +260,84 @@ static bool isregister(const char* string) bool valflagfromstring(uint eflags, const char* string) { if(scmp(string, "cf")) - return (bool)((int)(eflags&0x1)!=0); + return (bool)((int)(eflags & 0x1) != 0); if(scmp(string, "pf")) - return (bool)((int)(eflags&0x4)!=0); + return (bool)((int)(eflags & 0x4) != 0); if(scmp(string, "af")) - return (bool)((int)(eflags&0x10)!=0); + return (bool)((int)(eflags & 0x10) != 0); if(scmp(string, "zf")) - return (bool)((int)(eflags&0x40)!=0); + return (bool)((int)(eflags & 0x40) != 0); if(scmp(string, "sf")) - return (bool)((int)(eflags&0x80)!=0); + return (bool)((int)(eflags & 0x80) != 0); if(scmp(string, "tf")) - return (bool)((int)(eflags&0x100)!=0); + return (bool)((int)(eflags & 0x100) != 0); if(scmp(string, "if")) - return (bool)((int)(eflags&0x200)!=0); + return (bool)((int)(eflags & 0x200) != 0); if(scmp(string, "df")) - return (bool)((int)(eflags&0x400)!=0); + return (bool)((int)(eflags & 0x400) != 0); if(scmp(string, "of")) - return (bool)((int)(eflags&0x800)!=0); + return (bool)((int)(eflags & 0x800) != 0); if(scmp(string, "rf")) - return (bool)((int)(eflags&0x10000)!=0); + return (bool)((int)(eflags & 0x10000) != 0); if(scmp(string, "vm")) - return (bool)((int)(eflags&0x20000)!=0); + return (bool)((int)(eflags & 0x20000) != 0); if(scmp(string, "ac")) - return (bool)((int)(eflags&0x40000)!=0); + return (bool)((int)(eflags & 0x40000) != 0); if(scmp(string, "vif")) - return (bool)((int)(eflags&0x80000)!=0); + return (bool)((int)(eflags & 0x80000) != 0); if(scmp(string, "vip")) - return (bool)((int)(eflags&0x100000)!=0); + return (bool)((int)(eflags & 0x100000) != 0); if(scmp(string, "id")) - return (bool)((int)(eflags&0x200000)!=0); + return (bool)((int)(eflags & 0x200000) != 0); return false; } static bool setflag(const char* string, bool set) { - uint eflags=GetContextDataEx(hActiveThread, UE_CFLAGS); - uint xorval=0; - uint flag=0; + uint eflags = GetContextDataEx(hActiveThread, UE_CFLAGS); + uint xorval = 0; + uint flag = 0; if(scmp(string, "cf")) - flag=0x1; + flag = 0x1; else if(scmp(string, "pf")) - flag=0x4; + flag = 0x4; else if(scmp(string, "af")) - flag=0x10; + flag = 0x10; else if(scmp(string, "zf")) - flag=0x40; + flag = 0x40; else if(scmp(string, "sf")) - flag=0x80; + flag = 0x80; else if(scmp(string, "tf")) - flag=0x100; + flag = 0x100; else if(scmp(string, "if")) - flag=0x200; + flag = 0x200; else if(scmp(string, "df")) - flag=0x400; + flag = 0x400; else if(scmp(string, "of")) - flag=0x800; + flag = 0x800; else if(scmp(string, "rf")) - flag=0x10000; + flag = 0x10000; else if(scmp(string, "vm")) - flag=0x20000; + flag = 0x20000; else if(scmp(string, "ac")) - flag=0x40000; + flag = 0x40000; else if(scmp(string, "vif")) - flag=0x80000; + flag = 0x80000; else if(scmp(string, "vip")) - flag=0x100000; + flag = 0x100000; else if(scmp(string, "id")) - flag=0x200000; - if(eflags&flag and !set) - xorval=flag; + flag = 0x200000; + if(eflags & flag and !set) + xorval = flag; else if(set) - xorval=flag; - return SetContextDataEx(hActiveThread, UE_CFLAGS, eflags^xorval); + xorval = flag; + return SetContextDataEx(hActiveThread, UE_CFLAGS, eflags ^ xorval); } static uint getregister(int* size, const char* string) { if(size) - *size=4; + *size = 4; if(scmp(string, "eax")) { return GetContextDataEx(hActiveThread, UE_EAX); @@ -405,148 +405,148 @@ static uint getregister(int* size, const char* string) } if(size) - *size=2; + *size = 2; if(scmp(string, "ax")) { - uint val=GetContextDataEx(hActiveThread, UE_EAX); - return val&0xFFFF; + uint val = GetContextDataEx(hActiveThread, UE_EAX); + return val & 0xFFFF; } if(scmp(string, "bx")) { - uint val=GetContextDataEx(hActiveThread, UE_EBX); - return val&0xFFFF; + uint val = GetContextDataEx(hActiveThread, UE_EBX); + return val & 0xFFFF; } if(scmp(string, "cx")) { - uint val=GetContextDataEx(hActiveThread, UE_ECX); - return val&0xFFFF; + uint val = GetContextDataEx(hActiveThread, UE_ECX); + return val & 0xFFFF; } if(scmp(string, "dx")) { - uint val=GetContextDataEx(hActiveThread, UE_EDX); - return val&0xFFFF; + uint val = GetContextDataEx(hActiveThread, UE_EDX); + return val & 0xFFFF; } if(scmp(string, "si")) { - uint val=GetContextDataEx(hActiveThread, UE_ESI); - return val&0xFFFF; + uint val = GetContextDataEx(hActiveThread, UE_ESI); + return val & 0xFFFF; } if(scmp(string, "di")) { - uint val=GetContextDataEx(hActiveThread, UE_EDI); - return val&0xFFFF; + uint val = GetContextDataEx(hActiveThread, UE_EDI); + return val & 0xFFFF; } if(scmp(string, "bp")) { - uint val=GetContextDataEx(hActiveThread, UE_EBP); - return val&0xFFFF; + uint val = GetContextDataEx(hActiveThread, UE_EBP); + return val & 0xFFFF; } if(scmp(string, "sp")) { - uint val=GetContextDataEx(hActiveThread, UE_ESP); - return val&0xFFFF; + uint val = GetContextDataEx(hActiveThread, UE_ESP); + return val & 0xFFFF; } if(scmp(string, "ip")) { - uint val=GetContextDataEx(hActiveThread, UE_EIP); - return val&0xFFFF; + uint val = GetContextDataEx(hActiveThread, UE_EIP); + return val & 0xFFFF; } if(size) - *size=1; + *size = 1; if(scmp(string, "ah")) { - uint val=GetContextDataEx(hActiveThread, UE_EAX); - return (val>>8)&0xFF; + uint val = GetContextDataEx(hActiveThread, UE_EAX); + return (val >> 8) & 0xFF; } if(scmp(string, "al")) { - uint val=GetContextDataEx(hActiveThread, UE_EAX); - return val&0xFF; + uint val = GetContextDataEx(hActiveThread, UE_EAX); + return val & 0xFF; } if(scmp(string, "bh")) { - uint val=GetContextDataEx(hActiveThread, UE_EBX); - return (val>>8)&0xFF; + uint val = GetContextDataEx(hActiveThread, UE_EBX); + return (val >> 8) & 0xFF; } if(scmp(string, "bl")) { - uint val=GetContextDataEx(hActiveThread, UE_EBX); - return val&0xFF; + uint val = GetContextDataEx(hActiveThread, UE_EBX); + return val & 0xFF; } if(scmp(string, "ch")) { - uint val=GetContextDataEx(hActiveThread, UE_ECX); - return (val>>8)&0xFF; + uint val = GetContextDataEx(hActiveThread, UE_ECX); + return (val >> 8) & 0xFF; } if(scmp(string, "cl")) { - uint val=GetContextDataEx(hActiveThread, UE_ECX); - return val&0xFF; + uint val = GetContextDataEx(hActiveThread, UE_ECX); + return val & 0xFF; } if(scmp(string, "dh")) { - uint val=GetContextDataEx(hActiveThread, UE_EDX); - return (val>>8)&0xFF; + uint val = GetContextDataEx(hActiveThread, UE_EDX); + return (val >> 8) & 0xFF; } if(scmp(string, "dl")) { - uint val=GetContextDataEx(hActiveThread, UE_EDX); - return val&0xFF; + uint val = GetContextDataEx(hActiveThread, UE_EDX); + return val & 0xFF; } if(scmp(string, "sih")) { - uint val=GetContextDataEx(hActiveThread, UE_ESI); - return (val>>8)&0xFF; + uint val = GetContextDataEx(hActiveThread, UE_ESI); + return (val >> 8) & 0xFF; } if(scmp(string, "sil")) { - uint val=GetContextDataEx(hActiveThread, UE_ESI); - return val&0xFF; + uint val = GetContextDataEx(hActiveThread, UE_ESI); + return val & 0xFF; } if(scmp(string, "dih")) { - uint val=GetContextDataEx(hActiveThread, UE_EDI); - return (val>>8)&0xFF; + uint val = GetContextDataEx(hActiveThread, UE_EDI); + return (val >> 8) & 0xFF; } if(scmp(string, "dil")) { - uint val=GetContextDataEx(hActiveThread, UE_EDI); - return val&0xFF; + uint val = GetContextDataEx(hActiveThread, UE_EDI); + return val & 0xFF; } if(scmp(string, "bph")) { - uint val=GetContextDataEx(hActiveThread, UE_EBP); - return (val>>8)&0xFF; + uint val = GetContextDataEx(hActiveThread, UE_EBP); + return (val >> 8) & 0xFF; } if(scmp(string, "bpl")) { - uint val=GetContextDataEx(hActiveThread, UE_EBP); - return val&0xFF; + uint val = GetContextDataEx(hActiveThread, UE_EBP); + return val & 0xFF; } if(scmp(string, "sph")) { - uint val=GetContextDataEx(hActiveThread, UE_ESP); - return (val>>8)&0xFF; + uint val = GetContextDataEx(hActiveThread, UE_ESP); + return (val >> 8) & 0xFF; } if(scmp(string, "spl")) { - uint val=GetContextDataEx(hActiveThread, UE_ESP); - return val&0xFF; + uint val = GetContextDataEx(hActiveThread, UE_ESP); + return val & 0xFF; } if(scmp(string, "iph")) { - uint val=GetContextDataEx(hActiveThread, UE_EIP); - return (val>>8)&0xFF; + uint val = GetContextDataEx(hActiveThread, UE_EIP); + return (val >> 8) & 0xFF; } if(scmp(string, "ipl")) { - uint val=GetContextDataEx(hActiveThread, UE_EIP); - return val&0xFF; + uint val = GetContextDataEx(hActiveThread, UE_EIP); + return val & 0xFF; } if(size) - *size=sizeof(uint); + *size = sizeof(uint); if(scmp(string, "dr0")) { return GetContextDataEx(hActiveThread, UE_DR0); @@ -587,7 +587,7 @@ static uint getregister(int* size, const char* string) #ifdef _WIN64 if(size) - *size=8; + *size = 8; if(scmp(string, "rax")) { return GetContextDataEx(hActiveThread, UE_RAX); @@ -662,207 +662,207 @@ static uint getregister(int* size, const char* string) } if(size) - *size=4; + *size = 4; if(scmp(string, "r8d")) { - return GetContextDataEx(hActiveThread, UE_R8)&0xFFFFFFFF; + return GetContextDataEx(hActiveThread, UE_R8) & 0xFFFFFFFF; } if(scmp(string, "r9d")) { - return GetContextDataEx(hActiveThread, UE_R9)&0xFFFFFFFF; + return GetContextDataEx(hActiveThread, UE_R9) & 0xFFFFFFFF; } if(scmp(string, "r10d")) { - return GetContextDataEx(hActiveThread, UE_R10)&0xFFFFFFFF; + return GetContextDataEx(hActiveThread, UE_R10) & 0xFFFFFFFF; } if(scmp(string, "r11d")) { - return GetContextDataEx(hActiveThread, UE_R11)&0xFFFFFFFF; + return GetContextDataEx(hActiveThread, UE_R11) & 0xFFFFFFFF; } if(scmp(string, "r12d")) { - return GetContextDataEx(hActiveThread, UE_R12)&0xFFFFFFFF; + return GetContextDataEx(hActiveThread, UE_R12) & 0xFFFFFFFF; } if(scmp(string, "r13d")) { - return GetContextDataEx(hActiveThread, UE_R13)&0xFFFFFFFF; + return GetContextDataEx(hActiveThread, UE_R13) & 0xFFFFFFFF; } if(scmp(string, "r14d")) { - return GetContextDataEx(hActiveThread, UE_R14)&0xFFFFFFFF; + return GetContextDataEx(hActiveThread, UE_R14) & 0xFFFFFFFF; } if(scmp(string, "r15d")) { - return GetContextDataEx(hActiveThread, UE_R15)&0xFFFFFFFF; + return GetContextDataEx(hActiveThread, UE_R15) & 0xFFFFFFFF; } if(size) - *size=2; + *size = 2; if(scmp(string, "r8w")) { - return GetContextDataEx(hActiveThread, UE_R8)&0xFFFF; + return GetContextDataEx(hActiveThread, UE_R8) & 0xFFFF; } if(scmp(string, "r9w")) { - return GetContextDataEx(hActiveThread, UE_R9)&0xFFFF; + return GetContextDataEx(hActiveThread, UE_R9) & 0xFFFF; } if(scmp(string, "r10w")) { - return GetContextDataEx(hActiveThread, UE_R10)&0xFFFF; + return GetContextDataEx(hActiveThread, UE_R10) & 0xFFFF; } if(scmp(string, "r11w")) { - return GetContextDataEx(hActiveThread, UE_R11)&0xFFFF; + return GetContextDataEx(hActiveThread, UE_R11) & 0xFFFF; } if(scmp(string, "r12w")) { - return GetContextDataEx(hActiveThread, UE_R12)&0xFFFF; + return GetContextDataEx(hActiveThread, UE_R12) & 0xFFFF; } if(scmp(string, "r13w")) { - return GetContextDataEx(hActiveThread, UE_R13)&0xFFFF; + return GetContextDataEx(hActiveThread, UE_R13) & 0xFFFF; } if(scmp(string, "r14w")) { - return GetContextDataEx(hActiveThread, UE_R14)&0xFFFF; + return GetContextDataEx(hActiveThread, UE_R14) & 0xFFFF; } if(scmp(string, "r15w")) { - return GetContextDataEx(hActiveThread, UE_R15)&0xFFFF; + return GetContextDataEx(hActiveThread, UE_R15) & 0xFFFF; } if(size) - *size=1; + *size = 1; if(scmp(string, "r8b")) { - return GetContextDataEx(hActiveThread, UE_R8)&0xFF; + return GetContextDataEx(hActiveThread, UE_R8) & 0xFF; } if(scmp(string, "r9b")) { - return GetContextDataEx(hActiveThread, UE_R9)&0xFF; + return GetContextDataEx(hActiveThread, UE_R9) & 0xFF; } if(scmp(string, "r10b")) { - return GetContextDataEx(hActiveThread, UE_R10)&0xFF; + return GetContextDataEx(hActiveThread, UE_R10) & 0xFF; } if(scmp(string, "r11b")) { - return GetContextDataEx(hActiveThread, UE_R11)&0xFF; + return GetContextDataEx(hActiveThread, UE_R11) & 0xFF; } if(scmp(string, "r12b")) { - return GetContextDataEx(hActiveThread, UE_R12)&0xFF; + return GetContextDataEx(hActiveThread, UE_R12) & 0xFF; } if(scmp(string, "r13b")) { - return GetContextDataEx(hActiveThread, UE_R13)&0xFF; + return GetContextDataEx(hActiveThread, UE_R13) & 0xFF; } if(scmp(string, "r14b")) { - return GetContextDataEx(hActiveThread, UE_R14)&0xFF; + return GetContextDataEx(hActiveThread, UE_R14) & 0xFF; } if(scmp(string, "r15b")) { - return GetContextDataEx(hActiveThread, UE_R15)&0xFF; + return GetContextDataEx(hActiveThread, UE_R15) & 0xFF; } #endif //_WIN64 if(size) - *size=0; + *size = 0; return 0; } static bool setregister(const char* string, uint value) { if(scmp(string, "eax")) - return SetContextDataEx(hActiveThread, UE_EAX, value&0xFFFFFFFF); + return SetContextDataEx(hActiveThread, UE_EAX, value & 0xFFFFFFFF); if(scmp(string, "ebx")) - return SetContextDataEx(hActiveThread, UE_EBX, value&0xFFFFFFFF); + return SetContextDataEx(hActiveThread, UE_EBX, value & 0xFFFFFFFF); if(scmp(string, "ecx")) - return SetContextDataEx(hActiveThread, UE_ECX, value&0xFFFFFFFF); + return SetContextDataEx(hActiveThread, UE_ECX, value & 0xFFFFFFFF); if(scmp(string, "edx")) - return SetContextDataEx(hActiveThread, UE_EDX, value&0xFFFFFFFF); + return SetContextDataEx(hActiveThread, UE_EDX, value & 0xFFFFFFFF); if(scmp(string, "edi")) - return SetContextDataEx(hActiveThread, UE_EDI, value&0xFFFFFFFF); + return SetContextDataEx(hActiveThread, UE_EDI, value & 0xFFFFFFFF); if(scmp(string, "esi")) - return SetContextDataEx(hActiveThread, UE_ESI, value&0xFFFFFFFF); + return SetContextDataEx(hActiveThread, UE_ESI, value & 0xFFFFFFFF); if(scmp(string, "ebp")) - return SetContextDataEx(hActiveThread, UE_EBP, value&0xFFFFFFFF); + return SetContextDataEx(hActiveThread, UE_EBP, value & 0xFFFFFFFF); if(scmp(string, "esp")) - return SetContextDataEx(hActiveThread, UE_ESP, value&0xFFFFFFFF); + return SetContextDataEx(hActiveThread, UE_ESP, value & 0xFFFFFFFF); if(scmp(string, "eip")) - return SetContextDataEx(hActiveThread, UE_EIP, value&0xFFFFFFFF); + return SetContextDataEx(hActiveThread, UE_EIP, value & 0xFFFFFFFF); if(scmp(string, "eflags")) - return SetContextDataEx(hActiveThread, UE_EFLAGS, value&0xFFFFFFFF); + return SetContextDataEx(hActiveThread, UE_EFLAGS, value & 0xFFFFFFFF); if(scmp(string, "gs")) - return SetContextDataEx(hActiveThread, UE_SEG_GS, value&0xFFFF); + return SetContextDataEx(hActiveThread, UE_SEG_GS, value & 0xFFFF); if(scmp(string, "fs")) - return SetContextDataEx(hActiveThread, UE_SEG_FS, value&0xFFFF); + return SetContextDataEx(hActiveThread, UE_SEG_FS, value & 0xFFFF); if(scmp(string, "es")) - return SetContextDataEx(hActiveThread, UE_SEG_ES, value&0xFFFF); + return SetContextDataEx(hActiveThread, UE_SEG_ES, value & 0xFFFF); if(scmp(string, "ds")) - return SetContextDataEx(hActiveThread, UE_SEG_DS, value&0xFFFF); + return SetContextDataEx(hActiveThread, UE_SEG_DS, value & 0xFFFF); if(scmp(string, "cs")) - return SetContextDataEx(hActiveThread, UE_SEG_CS, value&0xFFFF); + return SetContextDataEx(hActiveThread, UE_SEG_CS, value & 0xFFFF); if(scmp(string, "ss")) - return SetContextDataEx(hActiveThread, UE_SEG_SS, value&0xFFFF); + return SetContextDataEx(hActiveThread, UE_SEG_SS, value & 0xFFFF); if(scmp(string, "ax")) - return SetContextDataEx(hActiveThread, UE_EAX, (value&0xFFFF)|(GetContextDataEx(hActiveThread, UE_EAX)&0xFFFF0000)); + return SetContextDataEx(hActiveThread, UE_EAX, (value & 0xFFFF) | (GetContextDataEx(hActiveThread, UE_EAX) & 0xFFFF0000)); if(scmp(string, "bx")) - return SetContextDataEx(hActiveThread, UE_EBX, (value&0xFFFF)|(GetContextDataEx(hActiveThread, UE_EBX)&0xFFFF0000)); + return SetContextDataEx(hActiveThread, UE_EBX, (value & 0xFFFF) | (GetContextDataEx(hActiveThread, UE_EBX) & 0xFFFF0000)); if(scmp(string, "cx")) - return SetContextDataEx(hActiveThread, UE_ECX, (value&0xFFFF)|(GetContextDataEx(hActiveThread, UE_ECX)&0xFFFF0000)); + return SetContextDataEx(hActiveThread, UE_ECX, (value & 0xFFFF) | (GetContextDataEx(hActiveThread, UE_ECX) & 0xFFFF0000)); if(scmp(string, "dx")) - return SetContextDataEx(hActiveThread, UE_EDX, (value&0xFFFF)|(GetContextDataEx(hActiveThread, UE_EDX)&0xFFFF0000)); + return SetContextDataEx(hActiveThread, UE_EDX, (value & 0xFFFF) | (GetContextDataEx(hActiveThread, UE_EDX) & 0xFFFF0000)); if(scmp(string, "si")) - return SetContextDataEx(hActiveThread, UE_ESI, (value&0xFFFF)|(GetContextDataEx(hActiveThread, UE_ESI)&0xFFFF0000)); + return SetContextDataEx(hActiveThread, UE_ESI, (value & 0xFFFF) | (GetContextDataEx(hActiveThread, UE_ESI) & 0xFFFF0000)); if(scmp(string, "di")) - return SetContextDataEx(hActiveThread, UE_EDI, (value&0xFFFF)|(GetContextDataEx(hActiveThread, UE_EDI)&0xFFFF0000)); + return SetContextDataEx(hActiveThread, UE_EDI, (value & 0xFFFF) | (GetContextDataEx(hActiveThread, UE_EDI) & 0xFFFF0000)); if(scmp(string, "bp")) - return SetContextDataEx(hActiveThread, UE_EBP, (value&0xFFFF)|(GetContextDataEx(hActiveThread, UE_EBP)&0xFFFF0000)); + return SetContextDataEx(hActiveThread, UE_EBP, (value & 0xFFFF) | (GetContextDataEx(hActiveThread, UE_EBP) & 0xFFFF0000)); if(scmp(string, "sp")) - return SetContextDataEx(hActiveThread, UE_ESP, (value&0xFFFF)|(GetContextDataEx(hActiveThread, UE_ESP)&0xFFFF0000)); + return SetContextDataEx(hActiveThread, UE_ESP, (value & 0xFFFF) | (GetContextDataEx(hActiveThread, UE_ESP) & 0xFFFF0000)); if(scmp(string, "ip")) - return SetContextDataEx(hActiveThread, UE_EIP, (value&0xFFFF)|(GetContextDataEx(hActiveThread, UE_EIP)&0xFFFF0000)); + return SetContextDataEx(hActiveThread, UE_EIP, (value & 0xFFFF) | (GetContextDataEx(hActiveThread, UE_EIP) & 0xFFFF0000)); if(scmp(string, "ah")) - return SetContextDataEx(hActiveThread, UE_EAX, ((value&0xFF)<<8)|(GetContextDataEx(hActiveThread, UE_EAX)&0xFFFF00FF)); + return SetContextDataEx(hActiveThread, UE_EAX, ((value & 0xFF) << 8) | (GetContextDataEx(hActiveThread, UE_EAX) & 0xFFFF00FF)); if(scmp(string, "al")) - return SetContextDataEx(hActiveThread, UE_EAX, (value&0xFF)|(GetContextDataEx(hActiveThread, UE_EAX)&0xFFFFFF00)); + return SetContextDataEx(hActiveThread, UE_EAX, (value & 0xFF) | (GetContextDataEx(hActiveThread, UE_EAX) & 0xFFFFFF00)); if(scmp(string, "bh")) - return SetContextDataEx(hActiveThread, UE_EBX, ((value&0xFF)<<8)|(GetContextDataEx(hActiveThread, UE_EBX)&0xFFFF00FF)); + return SetContextDataEx(hActiveThread, UE_EBX, ((value & 0xFF) << 8) | (GetContextDataEx(hActiveThread, UE_EBX) & 0xFFFF00FF)); if(scmp(string, "bl")) - return SetContextDataEx(hActiveThread, UE_EBX, (value&0xFF)|(GetContextDataEx(hActiveThread, UE_EBX)&0xFFFFFF00)); + return SetContextDataEx(hActiveThread, UE_EBX, (value & 0xFF) | (GetContextDataEx(hActiveThread, UE_EBX) & 0xFFFFFF00)); if(scmp(string, "ch")) - return SetContextDataEx(hActiveThread, UE_ECX, ((value&0xFF)<<8)|(GetContextDataEx(hActiveThread, UE_ECX)&0xFFFF00FF)); + return SetContextDataEx(hActiveThread, UE_ECX, ((value & 0xFF) << 8) | (GetContextDataEx(hActiveThread, UE_ECX) & 0xFFFF00FF)); if(scmp(string, "cl")) - return SetContextDataEx(hActiveThread, UE_ECX, (value&0xFF)|(GetContextDataEx(hActiveThread, UE_ECX)&0xFFFFFF00)); + return SetContextDataEx(hActiveThread, UE_ECX, (value & 0xFF) | (GetContextDataEx(hActiveThread, UE_ECX) & 0xFFFFFF00)); if(scmp(string, "dh")) - return SetContextDataEx(hActiveThread, UE_EDX, ((value&0xFF)<<8)|(GetContextDataEx(hActiveThread, UE_EDX)&0xFFFF00FF)); + return SetContextDataEx(hActiveThread, UE_EDX, ((value & 0xFF) << 8) | (GetContextDataEx(hActiveThread, UE_EDX) & 0xFFFF00FF)); if(scmp(string, "dl")) - return SetContextDataEx(hActiveThread, UE_EDX, (value&0xFF)|(GetContextDataEx(hActiveThread, UE_EDX)&0xFFFFFF00)); + return SetContextDataEx(hActiveThread, UE_EDX, (value & 0xFF) | (GetContextDataEx(hActiveThread, UE_EDX) & 0xFFFFFF00)); if(scmp(string, "sih")) - return SetContextDataEx(hActiveThread, UE_ESI, ((value&0xFF)<<8)|(GetContextDataEx(hActiveThread, UE_ESI)&0xFFFF00FF)); + return SetContextDataEx(hActiveThread, UE_ESI, ((value & 0xFF) << 8) | (GetContextDataEx(hActiveThread, UE_ESI) & 0xFFFF00FF)); if(scmp(string, "sil")) - return SetContextDataEx(hActiveThread, UE_ESI, (value&0xFF)|(GetContextDataEx(hActiveThread, UE_ESI)&0xFFFFFF00)); + return SetContextDataEx(hActiveThread, UE_ESI, (value & 0xFF) | (GetContextDataEx(hActiveThread, UE_ESI) & 0xFFFFFF00)); if(scmp(string, "dih")) - return SetContextDataEx(hActiveThread, UE_EDI, ((value&0xFF)<<8)|(GetContextDataEx(hActiveThread, UE_EDI)&0xFFFF00FF)); + return SetContextDataEx(hActiveThread, UE_EDI, ((value & 0xFF) << 8) | (GetContextDataEx(hActiveThread, UE_EDI) & 0xFFFF00FF)); if(scmp(string, "dil")) - return SetContextDataEx(hActiveThread, UE_EDI, (value&0xFF)|(GetContextDataEx(hActiveThread, UE_EDI)&0xFFFFFF00)); + return SetContextDataEx(hActiveThread, UE_EDI, (value & 0xFF) | (GetContextDataEx(hActiveThread, UE_EDI) & 0xFFFFFF00)); if(scmp(string, "bph")) - return SetContextDataEx(hActiveThread, UE_EBP, ((value&0xFF)<<8)|(GetContextDataEx(hActiveThread, UE_EBP)&0xFFFF00FF)); + return SetContextDataEx(hActiveThread, UE_EBP, ((value & 0xFF) << 8) | (GetContextDataEx(hActiveThread, UE_EBP) & 0xFFFF00FF)); if(scmp(string, "bpl")) - return SetContextDataEx(hActiveThread, UE_EBP, (value&0xFF)|(GetContextDataEx(hActiveThread, UE_EBP)&0xFFFFFF00)); + return SetContextDataEx(hActiveThread, UE_EBP, (value & 0xFF) | (GetContextDataEx(hActiveThread, UE_EBP) & 0xFFFFFF00)); if(scmp(string, "sph")) - return SetContextDataEx(hActiveThread, UE_ESP, ((value&0xFF)<<8)|(GetContextDataEx(hActiveThread, UE_ESP)&0xFFFF00FF)); + return SetContextDataEx(hActiveThread, UE_ESP, ((value & 0xFF) << 8) | (GetContextDataEx(hActiveThread, UE_ESP) & 0xFFFF00FF)); if(scmp(string, "spl")) - return SetContextDataEx(hActiveThread, UE_ESP, (value&0xFF)|(GetContextDataEx(hActiveThread, UE_ESP)&0xFFFFFF00)); + return SetContextDataEx(hActiveThread, UE_ESP, (value & 0xFF) | (GetContextDataEx(hActiveThread, UE_ESP) & 0xFFFFFF00)); if(scmp(string, "iph")) - return SetContextDataEx(hActiveThread, UE_EIP, ((value&0xFF)<<8)|(GetContextDataEx(hActiveThread, UE_EIP)&0xFFFF00FF)); + return SetContextDataEx(hActiveThread, UE_EIP, ((value & 0xFF) << 8) | (GetContextDataEx(hActiveThread, UE_EIP) & 0xFFFF00FF)); if(scmp(string, "ipl")) - return SetContextDataEx(hActiveThread, UE_EIP, (value&0xFF)|(GetContextDataEx(hActiveThread, UE_EIP)&0xFFFFFF00)); + return SetContextDataEx(hActiveThread, UE_EIP, (value & 0xFF) | (GetContextDataEx(hActiveThread, UE_EIP) & 0xFFFFFF00)); if(scmp(string, "dr0")) return SetContextDataEx(hActiveThread, UE_DR0, value); @@ -923,54 +923,54 @@ static bool setregister(const char* string, uint value) return SetContextDataEx(hActiveThread, UE_R15, value); if(scmp(string, "r8d")) - return SetContextDataEx(hActiveThread, UE_R8, (value&0xFFFFFFFF)|(GetContextDataEx(hActiveThread, UE_R8)&0xFFFFFFFF00000000)); + return SetContextDataEx(hActiveThread, UE_R8, (value & 0xFFFFFFFF) | (GetContextDataEx(hActiveThread, UE_R8) & 0xFFFFFFFF00000000)); if(scmp(string, "r9d")) - return SetContextDataEx(hActiveThread, UE_R9, (value&0xFFFFFFFF)|(GetContextDataEx(hActiveThread, UE_R9)&0xFFFFFFFF00000000)); + return SetContextDataEx(hActiveThread, UE_R9, (value & 0xFFFFFFFF) | (GetContextDataEx(hActiveThread, UE_R9) & 0xFFFFFFFF00000000)); if(scmp(string, "r10d")) - return SetContextDataEx(hActiveThread, UE_R10, (value&0xFFFFFFFF)|(GetContextDataEx(hActiveThread, UE_R10)&0xFFFFFFFF00000000)); + return SetContextDataEx(hActiveThread, UE_R10, (value & 0xFFFFFFFF) | (GetContextDataEx(hActiveThread, UE_R10) & 0xFFFFFFFF00000000)); if(scmp(string, "r11d")) - return SetContextDataEx(hActiveThread, UE_R11, (value&0xFFFFFFFF)|(GetContextDataEx(hActiveThread, UE_R11)&0xFFFFFFFF00000000)); + return SetContextDataEx(hActiveThread, UE_R11, (value & 0xFFFFFFFF) | (GetContextDataEx(hActiveThread, UE_R11) & 0xFFFFFFFF00000000)); if(scmp(string, "r12d")) - return SetContextDataEx(hActiveThread, UE_R12, (value&0xFFFFFFFF)|(GetContextDataEx(hActiveThread, UE_R12)&0xFFFFFFFF00000000)); + return SetContextDataEx(hActiveThread, UE_R12, (value & 0xFFFFFFFF) | (GetContextDataEx(hActiveThread, UE_R12) & 0xFFFFFFFF00000000)); if(scmp(string, "r13d")) - return SetContextDataEx(hActiveThread, UE_R13, (value&0xFFFFFFFF)|(GetContextDataEx(hActiveThread, UE_R13)&0xFFFFFFFF00000000)); + return SetContextDataEx(hActiveThread, UE_R13, (value & 0xFFFFFFFF) | (GetContextDataEx(hActiveThread, UE_R13) & 0xFFFFFFFF00000000)); if(scmp(string, "r14d")) - return SetContextDataEx(hActiveThread, UE_R14, (value&0xFFFFFFFF)|(GetContextDataEx(hActiveThread, UE_R14)&0xFFFFFFFF00000000)); + return SetContextDataEx(hActiveThread, UE_R14, (value & 0xFFFFFFFF) | (GetContextDataEx(hActiveThread, UE_R14) & 0xFFFFFFFF00000000)); if(scmp(string, "r15d")) - return SetContextDataEx(hActiveThread, UE_R15, (value&0xFFFFFFFF)|(GetContextDataEx(hActiveThread, UE_R15)&0xFFFFFFFF00000000)); + return SetContextDataEx(hActiveThread, UE_R15, (value & 0xFFFFFFFF) | (GetContextDataEx(hActiveThread, UE_R15) & 0xFFFFFFFF00000000)); if(scmp(string, "r8w")) - return SetContextDataEx(hActiveThread, UE_R8, (value&0xFFFF)|(GetContextDataEx(hActiveThread, UE_R8)&0xFFFFFFFFFFFF0000)); + return SetContextDataEx(hActiveThread, UE_R8, (value & 0xFFFF) | (GetContextDataEx(hActiveThread, UE_R8) & 0xFFFFFFFFFFFF0000)); if(scmp(string, "r9w")) - return SetContextDataEx(hActiveThread, UE_R9, (value&0xFFFF)|(GetContextDataEx(hActiveThread, UE_R9)&0xFFFFFFFFFFFF0000)); + return SetContextDataEx(hActiveThread, UE_R9, (value & 0xFFFF) | (GetContextDataEx(hActiveThread, UE_R9) & 0xFFFFFFFFFFFF0000)); if(scmp(string, "r10w")) - return SetContextDataEx(hActiveThread, UE_R10, (value&0xFFFF)|(GetContextDataEx(hActiveThread, UE_R10)&0xFFFFFFFFFFFF0000)); + return SetContextDataEx(hActiveThread, UE_R10, (value & 0xFFFF) | (GetContextDataEx(hActiveThread, UE_R10) & 0xFFFFFFFFFFFF0000)); if(scmp(string, "r11w")) - return SetContextDataEx(hActiveThread, UE_R11, (value&0xFFFF)|(GetContextDataEx(hActiveThread, UE_R11)&0xFFFFFFFFFFFF0000)); + return SetContextDataEx(hActiveThread, UE_R11, (value & 0xFFFF) | (GetContextDataEx(hActiveThread, UE_R11) & 0xFFFFFFFFFFFF0000)); if(scmp(string, "r12w")) - return SetContextDataEx(hActiveThread, UE_R12, (value&0xFFFF)|(GetContextDataEx(hActiveThread, UE_R12)&0xFFFFFFFFFFFF0000)); + return SetContextDataEx(hActiveThread, UE_R12, (value & 0xFFFF) | (GetContextDataEx(hActiveThread, UE_R12) & 0xFFFFFFFFFFFF0000)); if(scmp(string, "r13w")) - return SetContextDataEx(hActiveThread, UE_R13, (value&0xFFFF)|(GetContextDataEx(hActiveThread, UE_R13)&0xFFFFFFFFFFFF0000)); + return SetContextDataEx(hActiveThread, UE_R13, (value & 0xFFFF) | (GetContextDataEx(hActiveThread, UE_R13) & 0xFFFFFFFFFFFF0000)); if(scmp(string, "r14w")) - return SetContextDataEx(hActiveThread, UE_R14, (value&0xFFFF)|(GetContextDataEx(hActiveThread, UE_R14)&0xFFFFFFFFFFFF0000)); + return SetContextDataEx(hActiveThread, UE_R14, (value & 0xFFFF) | (GetContextDataEx(hActiveThread, UE_R14) & 0xFFFFFFFFFFFF0000)); if(scmp(string, "r15w")) - return SetContextDataEx(hActiveThread, UE_R15, (value&0xFFFF)|(GetContextDataEx(hActiveThread, UE_R15)&0xFFFFFFFFFFFF0000)); + return SetContextDataEx(hActiveThread, UE_R15, (value & 0xFFFF) | (GetContextDataEx(hActiveThread, UE_R15) & 0xFFFFFFFFFFFF0000)); if(scmp(string, "r8b")) - return SetContextDataEx(hActiveThread, UE_R8, (value&0xFF)|(GetContextDataEx(hActiveThread, UE_R8)&0xFFFFFFFFFFFFFF00)); + return SetContextDataEx(hActiveThread, UE_R8, (value & 0xFF) | (GetContextDataEx(hActiveThread, UE_R8) & 0xFFFFFFFFFFFFFF00)); if(scmp(string, "r9b")) - return SetContextDataEx(hActiveThread, UE_R9, (value&0xFF)|(GetContextDataEx(hActiveThread, UE_R9)&0xFFFFFFFFFFFFFF00)); + return SetContextDataEx(hActiveThread, UE_R9, (value & 0xFF) | (GetContextDataEx(hActiveThread, UE_R9) & 0xFFFFFFFFFFFFFF00)); if(scmp(string, "r10b")) - return SetContextDataEx(hActiveThread, UE_R10, (value&0xFF)|(GetContextDataEx(hActiveThread, UE_R10)&0xFFFFFFFFFFFFFF00)); + return SetContextDataEx(hActiveThread, UE_R10, (value & 0xFF) | (GetContextDataEx(hActiveThread, UE_R10) & 0xFFFFFFFFFFFFFF00)); if(scmp(string, "r11b")) - return SetContextDataEx(hActiveThread, UE_R11, (value&0xFF)|(GetContextDataEx(hActiveThread, UE_R11)&0xFFFFFFFFFFFFFF00)); + return SetContextDataEx(hActiveThread, UE_R11, (value & 0xFF) | (GetContextDataEx(hActiveThread, UE_R11) & 0xFFFFFFFFFFFFFF00)); if(scmp(string, "r12b")) - return SetContextDataEx(hActiveThread, UE_R12, (value&0xFF)|(GetContextDataEx(hActiveThread, UE_R12)&0xFFFFFFFFFFFFFF00)); + return SetContextDataEx(hActiveThread, UE_R12, (value & 0xFF) | (GetContextDataEx(hActiveThread, UE_R12) & 0xFFFFFFFFFFFFFF00)); if(scmp(string, "r13b")) - return SetContextDataEx(hActiveThread, UE_R13, (value&0xFF)|(GetContextDataEx(hActiveThread, UE_R13)&0xFFFFFFFFFFFFFF00)); + return SetContextDataEx(hActiveThread, UE_R13, (value & 0xFF) | (GetContextDataEx(hActiveThread, UE_R13) & 0xFFFFFFFFFFFFFF00)); if(scmp(string, "r14b")) - return SetContextDataEx(hActiveThread, UE_R14, (value&0xFF)|(GetContextDataEx(hActiveThread, UE_R14)&0xFFFFFFFFFFFFFF00)); + return SetContextDataEx(hActiveThread, UE_R14, (value & 0xFF) | (GetContextDataEx(hActiveThread, UE_R14) & 0xFFFFFFFFFFFFFF00)); if(scmp(string, "r15b")) - return SetContextDataEx(hActiveThread, UE_R15, (value&0xFF)|(GetContextDataEx(hActiveThread, UE_R15)&0xFFFFFFFFFFFFFF00)); + return SetContextDataEx(hActiveThread, UE_R15, (value & 0xFF) | (GetContextDataEx(hActiveThread, UE_R15) & 0xFFFFFFFFFFFFFF00)); #endif // _WIN64 return false; @@ -981,16 +981,16 @@ bool valapifromstring(const char* name, uint* value, int* value_size, bool print if(!value or !DbgIsDebugging()) return false; //explicit API handling - const char* apiname=strstr(name, ":"); + const char* apiname = strstr(name, ":"); if(apiname) { - char modname[MAX_MODULE_SIZE]=""; + char modname[MAX_MODULE_SIZE] = ""; strcpy(modname, name); - modname[apiname-name]=0; + modname[apiname - name] = 0; apiname++; if(!strlen(apiname)) return false; - uint modbase=modbasefromname(modname); + uint modbase = modbasefromname(modname); char szModName[MAX_PATH]; if(!GetModuleFileNameEx(fdProcessInfo->hProcess, (HMODULE)modbase, szModName, MAX_PATH)) { @@ -999,12 +999,12 @@ bool valapifromstring(const char* name, uint* value, int* value_size, bool print } else { - char szBaseName[256]=""; - int len=(int)strlen(szModName); - while(szModName[len]!='\\') + char szBaseName[256] = ""; + int len = (int)strlen(szModName); + while(szModName[len] != '\\') len--; - strcpy(szBaseName, szModName+len+1); - HMODULE mod=LoadLibraryExA(szModName, 0, DONT_RESOLVE_DLL_REFERENCES|LOAD_LIBRARY_AS_DATAFILE); + strcpy(szBaseName, szModName + len + 1); + HMODULE mod = LoadLibraryExA(szModName, 0, DONT_RESOLVE_DLL_REFERENCES | LOAD_LIBRARY_AS_DATAFILE); if(!mod) { if(!silent) @@ -1012,19 +1012,19 @@ bool valapifromstring(const char* name, uint* value, int* value_size, bool print } else { - uint addr=(uint)GetProcAddress(mod, apiname); + uint addr = (uint)GetProcAddress(mod, apiname); if(!addr) //not found { if(!_stricmp(apiname, "base") or !_stricmp(apiname, "imagebase") or !_stricmp(apiname, "header")) - addr=modbase; + addr = modbase; else { uint ordinal; if(valfromstring(apiname, &ordinal)) { - addr=(uint)GetProcAddress(mod, (LPCSTR)(ordinal&0xFFFF)); + addr = (uint)GetProcAddress(mod, (LPCSTR)(ordinal & 0xFFFF)); if(!addr and !ordinal) - addr=modbase; + addr = modbase; } } } @@ -1032,50 +1032,50 @@ bool valapifromstring(const char* name, uint* value, int* value_size, bool print if(addr) //found! { if(value_size) - *value_size=sizeof(uint); + *value_size = sizeof(uint); if(hexonly) - *hexonly=true; + *hexonly = true; uint rva; - if(addr==modbase) - rva=0; + if(addr == modbase) + rva = 0; else - rva=addr-(uint)mod; - *value=modbase+rva; + rva = addr - (uint)mod; + *value = modbase + rva; return true; } } } return false; } - int found=0; - int kernelbase=-1; - DWORD cbNeeded=0; - uint* addrfound=0; + int found = 0; + int kernelbase = -1; + DWORD cbNeeded = 0; + uint* addrfound = 0; if(EnumProcessModules(fdProcessInfo->hProcess, 0, 0, &cbNeeded)) { - addrfound=(uint*)emalloc(cbNeeded*sizeof(uint), "valapifromstring:addrfound"); - HMODULE* hMods=(HMODULE*)emalloc(cbNeeded*sizeof(HMODULE), "valapifromstring:hMods"); + addrfound = (uint*)emalloc(cbNeeded * sizeof(uint), "valapifromstring:addrfound"); + HMODULE* hMods = (HMODULE*)emalloc(cbNeeded * sizeof(HMODULE), "valapifromstring:hMods"); if(EnumProcessModules(fdProcessInfo->hProcess, hMods, cbNeeded, &cbNeeded)) { - for(unsigned int i=0; ihProcess, hMods[i], szModuleName, sizeof(szModuleName))) { - char* szBaseName=strchr(szModuleName, '\\'); + char* szBaseName = strchr(szModuleName, '\\'); if(szBaseName) { szBaseName++; - HMODULE hModule = LoadLibraryExA(szModuleName, 0, DONT_RESOLVE_DLL_REFERENCES|LOAD_LIBRARY_AS_DATAFILE); - if (hModule) + HMODULE hModule = LoadLibraryExA(szModuleName, 0, DONT_RESOLVE_DLL_REFERENCES | LOAD_LIBRARY_AS_DATAFILE); + if(hModule) { - ULONG_PTR funcAddress=(ULONG_PTR)GetProcAddress(hModule, name); + ULONG_PTR funcAddress = (ULONG_PTR)GetProcAddress(hModule, name); if(funcAddress) { if(!_stricmp(szBaseName, "kernelbase.dll")) - kernelbase=found; - uint rva=funcAddress-(uint)hModule; - addrfound[found]=(uint)hMods[i]+rva; + kernelbase = found; + uint rva = funcAddress - (uint)hModule; + addrfound[found] = (uint)hMods[i] + rva; found++; } FreeLibrary(hModule); @@ -1093,30 +1093,30 @@ bool valapifromstring(const char* name, uint* value, int* value_size, bool print return false; } if(value_size) - *value_size=sizeof(uint); + *value_size = sizeof(uint); if(hexonly) - *hexonly=true; - if(kernelbase!=-1) + *hexonly = true; + if(kernelbase != -1) { - *value=addrfound[kernelbase]; + *value = addrfound[kernelbase]; if(!printall or silent) { efree(addrfound, "valapifromstring:addrfound"); return true; } - for(int i=0; i2) + int add = 0; + bool negative = (*string_ == '-'); + while(mathisoperator(string_[add + negative]) > 2) add++; - if(!mathhandlebrackets(string_+add, silent, baseonly)) + if(!mathhandlebrackets(string_ + add, silent, baseonly)) { efree(string_, "valfromstring:string_"); return false; } - bool ret=mathfromstring(string_+add, value, silent, baseonly, value_size, isvar); + bool ret = mathfromstring(string_ + add, value, silent, baseonly, value_size, isvar); efree(string_, "valfromstring:string_"); return ret; } - else if(*string=='-') //negative value + else if(*string == '-') //negative value { uint val; - if(!valfromstring(string+1, &val, silent, baseonly, value_size, isvar, hexonly)) + if(!valfromstring(string + 1, &val, silent, baseonly, value_size, isvar, hexonly)) return false; - val*=~0; + val *= ~0; if(value) - *value=val; + *value = val; return true; } - else if(*string=='@' or strstr(string, "[")) //memory location + else if(*string == '@' or strstr(string, "[")) //memory location { if(!DbgIsDebugging()) { if(!silent) dputs("not debugging"); - *value=0; + *value = 0; if(value_size) - *value_size=0; + *value_size = 0; if(isvar) - *isvar=true; + *isvar = true; return true; } - int len=(int)strlen(string); - char* newstring=(char*)emalloc(len*2, "valfromstring:newstring"); + int len = (int)strlen(string); + char* newstring = (char*)emalloc(len * 2, "valfromstring:newstring"); if(strstr(string, "[")) { - for(int i=0,j=0; ihProcess, (void*)addr, value, read_size, 0)) { if(!silent) @@ -1279,9 +1279,9 @@ bool valfromstring(const char* string, uint* value, bool silent, bool baseonly, return false; } if(value_size) - *value_size=read_size; + *value_size = read_size; if(isvar) - *isvar=true; + *isvar = true; return true; } else if(isregister(string)) //register @@ -1290,62 +1290,62 @@ bool valfromstring(const char* string, uint* value, bool silent, bool baseonly, { if(!silent) dputs("not debugging!"); - *value=0; + *value = 0; if(value_size) - *value_size=0; + *value_size = 0; if(isvar) - *isvar=true; + *isvar = true; return true; } - *value=getregister(value_size, string); + *value = getregister(value_size, string); if(isvar) - *isvar=true; + *isvar = true; return true; } - else if(*string=='!' and isflag(string+1)) //flag + else if(*string == '!' and isflag(string + 1)) //flag { if(!DbgIsDebugging()) { if(!silent) dputs("not debugging"); - *value=0; + *value = 0; if(value_size) - *value_size=0; + *value_size = 0; if(isvar) - *isvar=true; + *isvar = true; return true; } - uint eflags=GetContextDataEx(hActiveThread, UE_CFLAGS); - if(valflagfromstring(eflags, string+1)) - *value=1; + uint eflags = GetContextDataEx(hActiveThread, UE_CFLAGS); + if(valflagfromstring(eflags, string + 1)) + *value = 1; else - *value=0; + *value = 0; if(value_size) - *value_size=0; + *value_size = 0; if(isvar) - *isvar=true; + *isvar = true; return true; } else if(isdecnumber(string)) //decimal numbers come 'first' { if(value_size) - *value_size=0; + *value_size = 0; if(isvar) - *isvar=false; - sscanf(string+1, "%"fext"u", value); + *isvar = false; + sscanf(string + 1, "%"fext"u", value); return true; } else if(ishexnumber(string)) //then hex numbers { if(value_size) - *value_size=0; + *value_size = 0; if(isvar) - *isvar=false; + *isvar = false; //hexadecimal value - int inc=0; - if(*string=='x') - inc=1; - sscanf(string+inc, "%"fext"x", value); + int inc = 0; + if(*string == 'x') + inc = 1; + sscanf(string + inc, "%"fext"x", value); return true; } @@ -1360,7 +1360,7 @@ bool valfromstring(const char* string, uint* value, bool silent, bool baseonly, else if(varget(string, value, value_size, 0)) //finally variables { if(isvar) - *isvar=true; + *isvar = true; return true; } if(!silent) @@ -1387,7 +1387,7 @@ bool valtostring(const char* string, uint* value, bool silent) { if(!*string or !value) return false; - else if(*string=='@' or strstr(string, "[")) //memory location + else if(*string == '@' or strstr(string, "[")) //memory location { if(!DbgIsDebugging()) { @@ -1395,38 +1395,38 @@ bool valtostring(const char* string, uint* value, bool silent) dputs("not debugging"); return false; } - int len=(int)strlen(string); - char* newstring=(char*)emalloc(len*2, "valfromstring:newstring"); + int len = (int)strlen(string); + char* newstring = (char*)emalloc(len * 2, "valfromstring:newstring"); if(strstr(string, "[")) //memory brackets: [] { - for(int i=0,j=0; iname, name)) { if(link) - *link=prev; + *link = prev; return cur; } - prev=cur; - cur=cur->next; + prev = cur; + cur = cur->next; } return 0; } @@ -38,15 +38,15 @@ static void varsetvalue(VAR* var, VAR_VALUE* value) static bool varset(const char* name, VAR_VALUE* value, bool setreadonly) { - char newname[deflen]="$"; - int add=0; - if(*name=='$') - add=1; - strcat(newname, name+add); - VAR* found=varfind(newname, 0); + char newname[deflen] = "$"; + int add = 0; + if(*name == '$') + add = 1; + strcat(newname, name + add); + VAR* found = varfind(newname, 0); if(!found) return false; - if(!setreadonly and (found->type==VAR_READONLY or found->type==VAR_HIDDEN)) + if(!setreadonly and (found->type == VAR_READONLY or found->type == VAR_HIDDEN)) return false; varsetvalue(found, value); return true; @@ -54,7 +54,7 @@ static bool varset(const char* name, VAR_VALUE* value, bool setreadonly) void varinit() { - vars=(VAR*)emalloc(sizeof(VAR), "varinit:vars"); + vars = (VAR*)emalloc(sizeof(VAR), "varinit:vars"); memset(vars, 0, sizeof(VAR)); //General variables varnew("$res\1$result", 0, VAR_SYSTEM); @@ -75,13 +75,13 @@ void varinit() void varfree() { - VAR* cur=vars; + VAR* cur = vars; while(cur) { efree(cur->name, "varfree:cur->name"); - VAR* next=cur->next; + VAR* next = cur->next; efree(cur, "varfree:cur"); - cur=next; + cur = next; } } @@ -94,11 +94,11 @@ bool varnew(const char* name_, uint value, VAR_TYPE type) { if(!name_) return false; - char* name=(char*)emalloc(strlen(name_)+2, "varnew:name"); - if(*name_!='$') + char* name = (char*)emalloc(strlen(name_) + 2, "varnew:name"); + if(*name_ != '$') { - *name='$'; - strcpy(name+1, name_); + *name = '$'; + strcpy(name + 1, name_); } else strcpy(name, name_); @@ -113,44 +113,44 @@ bool varnew(const char* name_, uint value, VAR_TYPE type) return false; } VAR* var; - bool nonext=false; + bool nonext = false; if(!vars->name) { - nonext=true; - var=vars; + nonext = true; + var = vars; } else - var=(VAR*)emalloc(sizeof(VAR), "varnew:var"); + var = (VAR*)emalloc(sizeof(VAR), "varnew:var"); memset(var, 0, sizeof(VAR)); - var->name=name; - var->type=type; + var->name = name; + var->type = type; VAR_VALUE varvalue; - varvalue.size=sizeof(uint); - varvalue.type=VAR_UINT; - varvalue.u.value=value; + varvalue.size = sizeof(uint); + varvalue.type = VAR_UINT; + varvalue.u.value = value; varsetvalue(var, &varvalue); if(!nonext) { - VAR* cur=vars; + VAR* cur = vars; while(cur->next) - cur=cur->next; - cur->next=var; + cur = cur->next; + cur->next = var; } return true; } static bool varget(const char* name, VAR_VALUE* value, int* size, VAR_TYPE* type) { - char newname[deflen]="$"; - int add=0; - if(*name=='$') - add=1; - strcat(newname, name+add); - VAR* found=varfind(newname, 0); + char newname[deflen] = "$"; + int add = 0; + if(*name == '$') + add = 1; + strcat(newname, name + add); + VAR* found = varfind(newname, 0); if(!found or !value or !size or !type) return false; - *type=found->type; - *size=found->value.size; + *type = found->type; + *size = found->value.size; memcpy(value, &found->value, sizeof(VAR_VALUE)); return true; } @@ -160,15 +160,15 @@ bool varget(const char* name, uint* value, int* size, VAR_TYPE* type) VAR_VALUE varvalue; int varsize; VAR_TYPE vartype; - if(!varget(name, &varvalue, &varsize, &vartype) or varvalue.type!=VAR_UINT) + if(!varget(name, &varvalue, &varsize, &vartype) or varvalue.type != VAR_UINT) return false; if(size) - *size=varsize; + *size = varsize; if(!value && size) return true; //variable was valid, just get the size if(type) - *type=vartype; - *value=varvalue.u.value; + *type = vartype; + *value = varvalue.u.value; return true; } @@ -177,14 +177,14 @@ bool varget(const char* name, char* string, int* size, VAR_TYPE* type) VAR_VALUE varvalue; int varsize; VAR_TYPE vartype; - if(!varget(name, &varvalue, &varsize, &vartype) or varvalue.type!=VAR_STRING) + if(!varget(name, &varvalue, &varsize, &vartype) or varvalue.type != VAR_STRING) return false; if(size) - *size=varsize; + *size = varsize; if(!string && size) return true; //variable was valid, just get the size if(type) - *type=vartype; + *type = vartype; memcpy(string, &varvalue.u.data->front(), varsize); return true; } @@ -192,9 +192,9 @@ bool varget(const char* name, char* string, int* size, VAR_TYPE* type) bool varset(const char* name, uint value, bool setreadonly) { VAR_VALUE varvalue; - varvalue.size=sizeof(uint); - varvalue.type=VAR_UINT; - varvalue.u.value=value; + varvalue.size = sizeof(uint); + varvalue.type = VAR_UINT; + varvalue.u.value = value; varset(name, &varvalue, setreadonly); return true; } @@ -202,10 +202,10 @@ bool varset(const char* name, uint value, bool setreadonly) bool varset(const char* name, const char* string, bool setreadonly) { VAR_VALUE varvalue; - int size=(int)strlen(string); - varvalue.size=size; - varvalue.type=VAR_STRING; - varvalue.u.data=new std::vector; + int size = (int)strlen(string); + varvalue.size = size; + varvalue.type = VAR_STRING; + varvalue.u.data = new std::vector; varvalue.u.data->resize(size); memcpy(&varvalue.u.data->front(), string, size); if(!varset(name, &varvalue, setreadonly)) @@ -219,37 +219,37 @@ bool varset(const char* name, const char* string, bool setreadonly) bool vardel(const char* name, bool delsystem) { - char* name_=(char*)emalloc(strlen(name)+2, "vardel:name"); - if(*name!='$') + char* name_ = (char*)emalloc(strlen(name) + 2, "vardel:name"); + if(*name != '$') { - *name_='$'; - strcpy(name_+1, name); + *name_ = '$'; + strcpy(name_ + 1, name); } else strcpy(name_, name); - VAR* prev=0; - VAR* found=varfind(name_, &prev); + VAR* prev = 0; + VAR* found = varfind(name_, &prev); efree(name_, "vardel:name"); if(!found) return false; - VAR_TYPE type=found->type; - if(!delsystem and type!=VAR_USER) + VAR_TYPE type = found->type; + if(!delsystem and type != VAR_USER) return false; - if(type==VAR_HIDDEN) + if(type == VAR_HIDDEN) return false; VAR_VALUE varvalue; - varvalue.size=sizeof(uint); - varvalue.type=VAR_UINT; - varvalue.u.value=0; + varvalue.size = sizeof(uint); + varvalue.type = VAR_UINT; + varvalue.u.value = 0; varsetvalue(found, &varvalue); efree(found->name, "vardel:found->name"); - if(found==vars) + if(found == vars) { - VAR* next=vars->next; + VAR* next = vars->next; if(next) { memcpy(vars, vars->next, sizeof(VAR)); - vars->next=next->next; + vars->next = next->next; efree(next, "vardel:next"); } else @@ -257,7 +257,7 @@ bool vardel(const char* name, bool delsystem) } else { - prev->next=found->next; + prev->next = found->next; efree(found, "vardel:found"); } return true; @@ -265,17 +265,17 @@ bool vardel(const char* name, bool delsystem) bool vargettype(const char* name, VAR_TYPE* type, VAR_VALUE_TYPE* valtype) { - char newname[deflen]="$"; - int add=0; - if(*name=='$') - add=1; - strcat(newname, name+add); - VAR* found=varfind(newname, 0); + char newname[deflen] = "$"; + int add = 0; + if(*name == '$') + add = 1; + strcat(newname, name + add); + VAR* found = varfind(newname, 0); if(!found) return false; if(valtype) - *valtype=found->value.type; + *valtype = found->value.type; if(type) - *type=found->type; + *type = found->type; return true; } diff --git a/x64_dbg_dbg/variable.h b/x64_dbg_dbg/variable.h index c56295c0..b7633a1b 100644 --- a/x64_dbg_dbg/variable.h +++ b/x64_dbg_dbg/variable.h @@ -6,10 +6,10 @@ //enums enum VAR_TYPE { - VAR_SYSTEM=1, - VAR_USER=2, - VAR_READONLY=3, - VAR_HIDDEN=4 + VAR_SYSTEM = 1, + VAR_USER = 2, + VAR_READONLY = 3, + VAR_HIDDEN = 4 }; enum VAR_VALUE_TYPE diff --git a/x64_dbg_dbg/x64_dbg.cpp b/x64_dbg_dbg/x64_dbg.cpp index 1e5065a9..d20b8c21 100644 --- a/x64_dbg_dbg/x64_dbg.cpp +++ b/x64_dbg_dbg/x64_dbg.cpp @@ -17,15 +17,15 @@ #include "_dbgfunctions.h" #include "debugger_commands.h" -static MESSAGE_STACK* gMsgStack=0; -static COMMAND* command_list=0; -static HANDLE hCommandLoopThread=0; -static char alloctrace[MAX_PATH]=""; +static MESSAGE_STACK* gMsgStack = 0; +static COMMAND* command_list = 0; +static HANDLE hCommandLoopThread = 0; +static char alloctrace[MAX_PATH] = ""; //Original code by Aurel from http://www.codeguru.com/cpp/w-p/win32/article.php/c1427/A-Simple-Win32-CommandLine-Parser.htm static void commandlinefree(int argc, char** argv) { - for(int i=0; i=deflen) - newcmd[deflen-1]=0; + char* newcmd = (char*)msg.param1; + if(strlen(newcmd) >= deflen) + newcmd[deflen - 1] = 0; strcpy(cmd, newcmd); efree(newcmd, "cbCommandProvider:newcmd"); //free allocated command return true; @@ -219,8 +219,8 @@ static bool cbCommandProvider(char* cmd, int maxlen) extern "C" DLL_EXPORT bool _dbg_dbgcmdexec(const char* cmd) { - int len=(int)strlen(cmd); - char* newcmd=(char*)emalloc((len+1)*sizeof(char), "_dbg_dbgcmdexec:newcmd"); + int len = (int)strlen(cmd); + char* newcmd = (char*)emalloc((len + 1) * sizeof(char), "_dbg_dbgcmdexec:newcmd"); strcpy(newcmd, cmd); return msgsend(gMsgStack, 0, (uint)newcmd, 0); } @@ -246,13 +246,13 @@ extern "C" DLL_EXPORT const char* _dbg_dbginit() dbginit(); dbgfunctionsinit(); json_set_alloc_funcs(emalloc_json, efree_json); - char dir[deflen]=""; + char dir[deflen] = ""; if(!GetModuleFileNameA(hInst, dir, deflen)) return "GetModuleFileNameA failed!"; - int len=(int)strlen(dir); - while(dir[len]!='\\') + int len = (int)strlen(dir); + while(dir[len] != '\\') len--; - dir[len]=0; + dir[len] = 0; strcpy(alloctrace, dir); PathAppendA(alloctrace, "\\alloctrace.txt"); DeleteFileA(alloctrace); @@ -263,24 +263,24 @@ extern "C" DLL_EXPORT const char* _dbg_dbginit() strcpy(szSymbolCachePath, dir); PathAppendA(szSymbolCachePath, "symbols"); SetCurrentDirectoryA(dir); - gMsgStack=msgallocstack(); + gMsgStack = msgallocstack(); if(!gMsgStack) return "Could not allocate message stack!"; varinit(); registercommands(); - hCommandLoopThread=CreateThread(0, 0, DbgCommandLoopThread, 0, 0, 0); - char plugindir[deflen]=""; + hCommandLoopThread = CreateThread(0, 0, DbgCommandLoopThread, 0, 0, 0); + char plugindir[deflen] = ""; strcpy(plugindir, dir); PathAppendA(plugindir, "plugins"); pluginload(plugindir); //handle command line - int argc=0; - char** argv=commandlineparse(&argc); - if(argc>1) //we have an argument + int argc = 0; + char** argv = commandlineparse(&argc); + if(argc > 1) //we have an argument { - std::string str="init \""; - str+=argv[1]; - str+="\""; + std::string str = "init \""; + str += argv[1]; + str += "\""; DbgCmdExec(str.c_str()); } commandlinefree(argc, argv); @@ -301,9 +301,9 @@ extern "C" DLL_EXPORT void _dbg_dbgexitsignal() msgfreestack(gMsgStack); if(memleaks()) { - char msg[256]=""; + char msg[256] = ""; sprintf(msg, "%d memory leak(s) found!\n\nPlease send 'alloctrace.txt' to the authors of x64_dbg.", memleaks()); - MessageBoxA(0, msg, "error", MB_ICONERROR|MB_SYSTEMMODAL); + MessageBoxA(0, msg, "error", MB_ICONERROR | MB_SYSTEMMODAL); } else DeleteFileA(alloctrace); @@ -312,7 +312,7 @@ extern "C" DLL_EXPORT void _dbg_dbgexitsignal() extern "C" DLL_EXPORT bool _dbg_dbgcmddirectexec(const char* cmd) { - if(cmddirectexec(command_list, cmd)==STATUS_ERROR) + if(cmddirectexec(command_list, cmd) == STATUS_ERROR) return false; return true; } diff --git a/x64_dbg_exe/x64_dbg_exe.cpp b/x64_dbg_exe/x64_dbg_exe.cpp index 698cc88b..06f14550 100644 --- a/x64_dbg_exe/x64_dbg_exe.cpp +++ b/x64_dbg_exe/x64_dbg_exe.cpp @@ -4,16 +4,16 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { - const char* errormsg=BridgeInit(); + const char* errormsg = BridgeInit(); if(errormsg) { - MessageBoxA(0, errormsg, "BridgeInit Error", MB_ICONERROR|MB_SYSTEMMODAL); + MessageBoxA(0, errormsg, "BridgeInit Error", MB_ICONERROR | MB_SYSTEMMODAL); return 1; } - errormsg=BridgeStart(); + errormsg = BridgeStart(); if(errormsg) { - MessageBoxA(0, errormsg, "BridgeStart Error", MB_ICONERROR|MB_SYSTEMMODAL); + MessageBoxA(0, errormsg, "BridgeStart Error", MB_ICONERROR | MB_SYSTEMMODAL); return 1; } return 0; diff --git a/x64_dbg_gui/Project/Src/BasicView/AbstractTableView.cpp b/x64_dbg_gui/Project/Src/BasicView/AbstractTableView.cpp index 8741c456..26d6df15 100644 --- a/x64_dbg_gui/Project/Src/BasicView/AbstractTableView.cpp +++ b/x64_dbg_gui/Project/Src/BasicView/AbstractTableView.cpp @@ -1,15 +1,15 @@ #include "AbstractTableView.h" #include "Configuration.h" -AbstractTableView::AbstractTableView(QWidget *parent) : QAbstractScrollArea(parent) +AbstractTableView::AbstractTableView(QWidget* parent) : QAbstractScrollArea(parent) { // Class variable initialization mTableOffset = 0; mPrevTableOffset = mTableOffset + 1; Header_t data; - data.isVisible=true; - data.height=20; - data.activeButtonIndex=-1; + data.isVisible = true; + data.height = 20; + data.activeButtonIndex = -1; mHeader = data; fontsUpdated(); @@ -46,11 +46,11 @@ void AbstractTableView::colorsUpdatedSlot() void AbstractTableView::colorsUpdated() { - backgroundColor=ConfigColor("AbstractTableViewBackgroundColor"); - textColor=ConfigColor("AbstractTableViewTextColor"); - separatorColor=ConfigColor("AbstractTableViewSeparatorColor"); - headerTextColor=ConfigColor("AbstractTableViewHeaderTextColor"); - selectionColor=ConfigColor("AbstractTableViewSelectionColor"); + backgroundColor = ConfigColor("AbstractTableViewBackgroundColor"); + textColor = ConfigColor("AbstractTableViewTextColor"); + separatorColor = ConfigColor("AbstractTableViewSeparatorColor"); + headerTextColor = ConfigColor("AbstractTableViewHeaderTextColor"); + selectionColor = ConfigColor("AbstractTableViewSelectionColor"); } void AbstractTableView::fontsUpdatedSlot() @@ -106,7 +106,7 @@ void AbstractTableView::paintEvent(QPaintEvent* event) wOpt.rect = QRect(x, y, getColumnWidth(i), getHeaderHeight()); - mHeaderButtonSytle.style()->drawControl(QStyle::CE_PushButton, &wOpt, &wPainter,&mHeaderButtonSytle); + mHeaderButtonSytle.style()->drawControl(QStyle::CE_PushButton, &wOpt, &wPainter, &mHeaderButtonSytle); wPainter.setPen(headerTextColor); wPainter.drawText(QRect(x + 4, y, getColumnWidth(i) - 8, getHeaderHeight()), Qt::AlignVCenter | Qt::AlignLeft, mColumnList[i].title); @@ -164,7 +164,7 @@ void AbstractTableView::mouseMoveEvent(QMouseEvent* event) { // qDebug() << "mouseMoveEvent"; - switch (mGuiState) + switch(mGuiState) { case AbstractTableView::NoState: { @@ -196,7 +196,7 @@ void AbstractTableView::mouseMoveEvent(QMouseEvent* event) mColResizeData.splitHandle = true; mGuiState = AbstractTableView::ReadyToResize; } - if ((wHandle == false) && (wHasCursor == true)) + if((wHandle == false) && (wHasCursor == true)) { unsetCursor(); mColResizeData.splitHandle = false; @@ -230,7 +230,7 @@ void AbstractTableView::mouseMoveEvent(QMouseEvent* event) wHandle = false; } - if ((wHandle == false) && (mGuiState == AbstractTableView::ReadyToResize)) + if((wHandle == false) && (mGuiState == AbstractTableView::ReadyToResize)) { unsetCursor(); mColResizeData.splitHandle = false; @@ -446,7 +446,7 @@ void AbstractTableView::keyPressEvent(QKeyEvent* event) { verticalScrollBar()->triggerAction(QAbstractSlider::SliderPageStepAdd); } - else if(wKey==Qt::Key_Return || wKey==Qt::Key_Enter) //user pressed enter + else if(wKey == Qt::Key_Return || wKey == Qt::Key_Enter) //user pressed enter emit enterPressedSignal(); } @@ -795,7 +795,7 @@ void AbstractTableView::addColumnAt(int width, QString title, bool isClickable) void AbstractTableView::setRowCount(int_t count) { - if(count> getViewableRowsCount()) + if(count > getViewableRowsCount()) updateScrollBarRange(count); mRowCount = count; } @@ -901,7 +901,7 @@ void AbstractTableView::setNbrOfLineToPrint(int parNbrOfLineToPrint) void AbstractTableView::setShowHeader(bool show) { - mHeader.isVisible=show; + mHeader.isVisible = show; } int AbstractTableView::getCharWidth() diff --git a/x64_dbg_gui/Project/Src/BasicView/AbstractTableView.h b/x64_dbg_gui/Project/Src/BasicView/AbstractTableView.h index b1669a13..1033c6b1 100644 --- a/x64_dbg_gui/Project/Src/BasicView/AbstractTableView.h +++ b/x64_dbg_gui/Project/Src/BasicView/AbstractTableView.h @@ -17,7 +17,7 @@ public: enum GuiState_t {NoState, ReadyToResize, ResizeColumnState, HeaderButtonPressed}; // Constructor - explicit AbstractTableView(QWidget *parent = 0); + explicit AbstractTableView(QWidget* parent = 0); //config updates virtual void colorsUpdated(); diff --git a/x64_dbg_gui/Project/Src/BasicView/Disassembly.cpp b/x64_dbg_gui/Project/Src/BasicView/Disassembly.cpp index da7b4df8..0485b31b 100644 --- a/x64_dbg_gui/Project/Src/BasicView/Disassembly.cpp +++ b/x64_dbg_gui/Project/Src/BasicView/Disassembly.cpp @@ -1,7 +1,7 @@ #include "Disassembly.h" #include "Configuration.h" -Disassembly::Disassembly(QWidget *parent) : AbstractTableView(parent) +Disassembly::Disassembly(QWidget* parent) : AbstractTableView(parent) { fontsUpdated(); mMemPage = new MemoryPage(0, 0); @@ -16,8 +16,8 @@ Disassembly::Disassembly(QWidget *parent) : AbstractTableView(parent) mCipRva = 0; - mHighlightToken.text=""; - mHighlightingMode=false; + mHighlightToken.text = ""; + mHighlightingMode = false; mDisasm = new QBeaEngine(); @@ -27,14 +27,14 @@ Disassembly::Disassembly(QWidget *parent) : AbstractTableView(parent) setRowCount(mMemPage->getSize()); - addColumnAt(getCharWidth()*2*sizeof(int_t)+8, "", false); //address - addColumnAt(getCharWidth()*2*12+8, "", false); //bytes - addColumnAt(getCharWidth()*40, "", false); //disassembly + addColumnAt(getCharWidth() * 2 * sizeof(int_t) + 8, "", false); //address + addColumnAt(getCharWidth() * 2 * 12 + 8, "", false); //bytes + addColumnAt(getCharWidth() * 40, "", false); //disassembly addColumnAt(100, "", false); //comments setShowHeader(false); //hide header - backgroundColor=ConfigColor("DisassemblyBackgroundColor"); + backgroundColor = ConfigColor("DisassemblyBackgroundColor"); connect(Bridge::getBridge(), SIGNAL(repaintGui()), this, SLOT(reloadData())); } @@ -42,7 +42,7 @@ Disassembly::Disassembly(QWidget *parent) : AbstractTableView(parent) void Disassembly::colorsUpdated() { AbstractTableView::colorsUpdated(); - backgroundColor=ConfigColor("DisassemblyBackgroundColor"); + backgroundColor = ConfigColor("DisassemblyBackgroundColor"); } void Disassembly::fontsUpdated() @@ -76,7 +76,7 @@ QString Disassembly::paintContent(QPainter* painter, int_t rowBase, int rowOffse QPen pen(ConfigColor("InstructionHighlightColor")); pen.setWidth(2); painter->setPen(pen); - QRect rect=viewport()->rect(); + QRect rect = viewport()->rect(); rect.adjust(1, 1, -1, -1); painter->drawRect(rect); } @@ -91,71 +91,71 @@ QString Disassembly::paintContent(QPainter* painter, int_t rowBase, int rowOffse { case 0: // Draw address (+ label) { - char label[MAX_LABEL_SIZE]=""; - int_t cur_addr=rvaToVa(mInstBuffer.at(rowOffset).rva); - QString addrText=""; + char label[MAX_LABEL_SIZE] = ""; + int_t cur_addr = rvaToVa(mInstBuffer.at(rowOffset).rva); + QString addrText = ""; if(mRvaDisplayEnabled) //RVA display { - int_t rva=cur_addr-mRvaDisplayBase; + int_t rva = cur_addr - mRvaDisplayBase; if(rva == 0) { #ifdef _WIN64 - addrText="$ ==> "; + addrText = "$ ==> "; #else - addrText="$ ==> "; + addrText = "$ ==> "; #endif //_WIN64 } else if(rva > 0) { #ifdef _WIN64 - addrText="$+"+QString("%1").arg(rva, -15, 16, QChar(' ')).toUpper(); + addrText = "$+" + QString("%1").arg(rva, -15, 16, QChar(' ')).toUpper(); #else - addrText="$+"+QString("%1").arg(rva, -7, 16, QChar(' ')).toUpper(); + addrText = "$+" + QString("%1").arg(rva, -7, 16, QChar(' ')).toUpper(); #endif //_WIN64 } else if(rva < 0) { #ifdef _WIN64 - addrText="$-"+QString("%1").arg(-rva, -15, 16, QChar(' ')).toUpper(); + addrText = "$-" + QString("%1").arg(-rva, -15, 16, QChar(' ')).toUpper(); #else - addrText="$-"+QString("%1").arg(-rva, -7, 16, QChar(' ')).toUpper(); + addrText = "$-" + QString("%1").arg(-rva, -7, 16, QChar(' ')).toUpper(); #endif //_WIN64 } } - addrText += QString("%1").arg(cur_addr, sizeof(int_t)*2, 16, QChar('0')).toUpper(); + addrText += QString("%1").arg(cur_addr, sizeof(int_t) * 2, 16, QChar('0')).toUpper(); if(DbgGetLabelAt(cur_addr, SEG_DEFAULT, label)) //has label { - char module[MAX_MODULE_SIZE]=""; + char module[MAX_MODULE_SIZE] = ""; if(DbgGetModuleAt(cur_addr, module) && !QString(label).startsWith("JMP.&")) - addrText+=" <"+QString(module)+"."+QString(label)+">"; + addrText += " <" + QString(module) + "." + QString(label) + ">"; else - addrText+=" <"+QString(label)+">"; + addrText += " <" + QString(label) + ">"; } else - *label=0; - BPXTYPE bpxtype=DbgGetBpxTypeAt(cur_addr); - bool isbookmark=DbgGetBookmarkAt(cur_addr); + *label = 0; + BPXTYPE bpxtype = DbgGetBpxTypeAt(cur_addr); + bool isbookmark = DbgGetBookmarkAt(cur_addr); if(mInstBuffer.at(rowOffset).rva == mCipRva) //cip { painter->fillRect(QRect(x, y, w, h), QBrush(ConfigColor("DisassemblyCipBackgroundColor"))); if(!isbookmark) //no bookmark { - if(bpxtype&bp_normal) //normal breakpoint + if(bpxtype & bp_normal) //normal breakpoint { - QColor bpColor=ConfigColor("DisassemblyBreakpointBackgroundColor"); + QColor bpColor = ConfigColor("DisassemblyBreakpointBackgroundColor"); if(!bpColor.alpha()) //we don't want transparent text - bpColor=ConfigColor("DisassemblyBreakpointColor"); - if(bpColor==ConfigColor("DisassemblyCipBackgroundColor")) - bpColor=ConfigColor("DisassemblyCipColor"); + bpColor = ConfigColor("DisassemblyBreakpointColor"); + if(bpColor == ConfigColor("DisassemblyCipBackgroundColor")) + bpColor = ConfigColor("DisassemblyCipColor"); painter->setPen(QPen(bpColor)); } - else if(bpxtype&bp_hardware) //hardware breakpoint only + else if(bpxtype & bp_hardware) //hardware breakpoint only { - QColor hwbpColor=ConfigColor("DisassemblyHardwareBreakpointBackgroundColor"); + QColor hwbpColor = ConfigColor("DisassemblyHardwareBreakpointBackgroundColor"); if(!hwbpColor.alpha()) //we don't want transparent text - hwbpColor=ConfigColor("DisassemblyHardwareBreakpointColor"); - if(hwbpColor==ConfigColor("DisassemblyCipBackgroundColor")) - hwbpColor=ConfigColor("DisassemblyCipColor"); + hwbpColor = ConfigColor("DisassemblyHardwareBreakpointColor"); + if(hwbpColor == ConfigColor("DisassemblyCipBackgroundColor")) + hwbpColor = ConfigColor("DisassemblyCipColor"); painter->setPen(hwbpColor); } else //no breakpoint @@ -165,11 +165,11 @@ QString Disassembly::paintContent(QPainter* painter, int_t rowBase, int rowOffse } else //bookmark { - QColor bookmarkColor=ConfigColor("DisassemblyBookmarkBackgroundColor"); + QColor bookmarkColor = ConfigColor("DisassemblyBookmarkBackgroundColor"); if(!bookmarkColor.alpha()) //we don't want transparent text - bookmarkColor=ConfigColor("DisassemblyBookmarkColor"); - if(bookmarkColor==ConfigColor("DisassemblyCipBackgroundColor")) - bookmarkColor=ConfigColor("DisassemblyCipColor"); + bookmarkColor = ConfigColor("DisassemblyBookmarkColor"); + if(bookmarkColor == ConfigColor("DisassemblyCipBackgroundColor")) + bookmarkColor = ConfigColor("DisassemblyCipColor"); painter->setPen(QPen(bookmarkColor)); } } @@ -179,19 +179,19 @@ QString Disassembly::paintContent(QPainter* painter, int_t rowBase, int rowOffse { if(*label) //label { - if(bpxtype==bp_none) //label only + if(bpxtype == bp_none) //label only { painter->setPen(QPen(ConfigColor("DisassemblyLabelColor"))); //red -> address + label text painter->fillRect(QRect(x, y, w, h), QBrush(ConfigColor("DisassemblyLabelBackgroundColor"))); //fill label background } else //label+breakpoint { - if(bpxtype&bp_normal) //label + normal breakpoint + if(bpxtype & bp_normal) //label + normal breakpoint { painter->setPen(QPen(ConfigColor("DisassemblyBreakpointColor"))); painter->fillRect(QRect(x, y, w, h), QBrush(ConfigColor("DisassemblyBreakpointBackgroundColor"))); //fill red } - else if(bpxtype&bp_hardware) //label + hardware breakpoint only + else if(bpxtype & bp_hardware) //label + hardware breakpoint only { painter->setPen(QPen(ConfigColor("DisassemblyHardwareBreakpointColor"))); painter->fillRect(QRect(x, y, w, h), QBrush(ConfigColor("DisassemblyHardwareBreakpointBackgroundColor"))); //fill ? @@ -205,17 +205,17 @@ QString Disassembly::paintContent(QPainter* painter, int_t rowBase, int rowOffse } else //no label { - if(bpxtype==bp_none) //no label, no breakpoint + if(bpxtype == bp_none) //no label, no breakpoint { QColor background; if(wIsSelected) { - background=ConfigColor("DisassemblySelectedAddressBackgroundColor"); + background = ConfigColor("DisassemblySelectedAddressBackgroundColor"); painter->setPen(QPen(ConfigColor("DisassemblySelectedAddressColor"))); //black address (DisassemblySelectedAddressColor) } else { - background=ConfigColor("DisassemblyAddressBackgroundColor"); + background = ConfigColor("DisassemblyAddressBackgroundColor"); painter->setPen(QPen(ConfigColor("DisassemblyAddressColor"))); //DisassemblyAddressColor } if(background.alpha()) @@ -223,12 +223,12 @@ QString Disassembly::paintContent(QPainter* painter, int_t rowBase, int rowOffse } else //breakpoint only { - if(bpxtype&bp_normal) //normal breakpoint + if(bpxtype & bp_normal) //normal breakpoint { painter->setPen(QPen(ConfigColor("DisassemblyBreakpointColor"))); painter->fillRect(QRect(x, y, w, h), QBrush(ConfigColor("DisassemblyBreakpointBackgroundColor"))); //fill red } - else if(bpxtype&bp_hardware) //hardware breakpoint only + else if(bpxtype & bp_hardware) //hardware breakpoint only { painter->setPen(QPen(ConfigColor("DisassemblyHardwareBreakpointColor"))); painter->fillRect(QRect(x, y, w, h), QBrush(ConfigColor("DisassemblyHardwareBreakpointBackgroundColor"))); //fill red @@ -238,12 +238,12 @@ QString Disassembly::paintContent(QPainter* painter, int_t rowBase, int rowOffse QColor background; if(wIsSelected) { - background=ConfigColor("DisassemblySelectedAddressBackgroundColor"); + background = ConfigColor("DisassemblySelectedAddressBackgroundColor"); painter->setPen(QPen(ConfigColor("DisassemblySelectedAddressColor"))); //black address (DisassemblySelectedAddressColor) } else { - background=ConfigColor("DisassemblyAddressBackgroundColor"); + background = ConfigColor("DisassemblyAddressBackgroundColor"); painter->setPen(QPen(ConfigColor("DisassemblyAddressColor"))); } if(background.alpha()) @@ -256,22 +256,22 @@ QString Disassembly::paintContent(QPainter* painter, int_t rowBase, int rowOffse { if(*label) //label + bookmark { - if(bpxtype==bp_none) //label + bookmark + if(bpxtype == bp_none) //label + bookmark { painter->setPen(QPen(ConfigColor("DisassemblyLabelColor"))); //red -> address + label text painter->fillRect(QRect(x, y, w, h), QBrush(ConfigColor("DisassemblyBookmarkBackgroundColor"))); //fill label background } else //label+breakpoint+bookmark { - QColor color=ConfigColor("DisassemblyBookmarkBackgroundColor"); + QColor color = ConfigColor("DisassemblyBookmarkBackgroundColor"); if(!color.alpha()) //we don't want transparent text - color=ConfigColor("DisassemblyAddressColor"); + color = ConfigColor("DisassemblyAddressColor"); painter->setPen(QPen(color)); - if(bpxtype&bp_normal) //label + bookmark + normal breakpoint + if(bpxtype & bp_normal) //label + bookmark + normal breakpoint { painter->fillRect(QRect(x, y, w, h), QBrush(ConfigColor("DisassemblyBreakpointBackgroundColor"))); //fill red } - else if(bpxtype&bp_hardware) //label + bookmark + hardware breakpoint only + else if(bpxtype & bp_hardware) //label + bookmark + hardware breakpoint only { painter->fillRect(QRect(x, y, w, h), QBrush(ConfigColor("DisassemblyHardwareBreakpointBackgroundColor"))); //fill ? } @@ -279,22 +279,22 @@ QString Disassembly::paintContent(QPainter* painter, int_t rowBase, int rowOffse } else //bookmark, no label { - if(bpxtype==bp_none) //bookmark only + if(bpxtype == bp_none) //bookmark only { painter->setPen(QPen(ConfigColor("DisassemblyBookmarkColor"))); //black address painter->fillRect(QRect(x, y, w, h), QBrush(ConfigColor("DisassemblyBookmarkBackgroundColor"))); //fill bookmark color } else //bookmark + breakpoint { - QColor color=ConfigColor("DisassemblyBookmarkBackgroundColor"); + QColor color = ConfigColor("DisassemblyBookmarkBackgroundColor"); if(!color.alpha()) //we don't want transparent text - color=ConfigColor("DisassemblyAddressColor"); + color = ConfigColor("DisassemblyAddressColor"); painter->setPen(QPen(color)); - if(bpxtype&bp_normal) //bookmark + normal breakpoint + if(bpxtype & bp_normal) //bookmark + normal breakpoint { painter->fillRect(QRect(x, y, w, h), QBrush(ConfigColor("DisassemblyBreakpointBackgroundColor"))); //fill red } - else if(bpxtype&bp_hardware) //bookmark + hardware breakpoint only + else if(bpxtype & bp_hardware) //bookmark + hardware breakpoint only { painter->fillRect(QRect(x, y, w, h), QBrush(ConfigColor("DisassemblyHardwareBreakpointBackgroundColor"))); //fill red } @@ -314,28 +314,28 @@ QString Disassembly::paintContent(QPainter* painter, int_t rowBase, int rowOffse case 1: //draw bytes (TODO: some spaces between bytes) { //draw functions - int_t cur_addr=rvaToVa(mInstBuffer.at(rowOffset).rva); + int_t cur_addr = rvaToVa(mInstBuffer.at(rowOffset).rva); Function_t funcType; FUNCTYPE funcFirst = DbgGetFunctionTypeAt(cur_addr); - FUNCTYPE funcLast = DbgGetFunctionTypeAt(cur_addr+mInstBuffer.at(rowOffset).lentgh - 1); + FUNCTYPE funcLast = DbgGetFunctionTypeAt(cur_addr + mInstBuffer.at(rowOffset).lentgh - 1); if(funcLast == FUNC_END) funcFirst = funcLast; switch(funcFirst) { case FUNC_SINGLE: - funcType=Function_single; + funcType = Function_single; break; case FUNC_NONE: - funcType=Function_none; + funcType = Function_none; break; case FUNC_BEGIN: - funcType=Function_start; + funcType = Function_start; break; case FUNC_MIDDLE: - funcType=Function_middle; + funcType = Function_middle; break; case FUNC_END: - funcType=Function_end; + funcType = Function_end; break; } int funcsize = paintFunctionGraphic(painter, x, y, funcType, false); @@ -348,16 +348,16 @@ QString Disassembly::paintContent(QPainter* painter, int_t rowBase, int rowOffse QColor patchedBytesColor = ConfigColor("DisassemblyModifiedBytesColor"); QList richBytes; RichTextPainter::CustomRichText_t space; - space.highlight=false; - space.flags=RichTextPainter::FlagNone; - space.text=" "; + space.highlight = false; + space.flags = RichTextPainter::FlagNone; + space.text = " "; RichTextPainter::CustomRichText_t curByte; curByte.highlight = false; curByte.flags = RichTextPainter::FlagColor; - for(int i=0; iPatchGet(cur_addr+i) ? patchedBytesColor : bytesColor; + curByte.textColor = DbgFunctions()->PatchGet(cur_addr + i) ? patchedBytesColor : bytesColor; richBytes.push_back(curByte); richBytes.push_back(space); } @@ -367,35 +367,35 @@ QString Disassembly::paintContent(QPainter* painter, int_t rowBase, int rowOffse case 2: //draw disassembly (with colours needed) { - int_t cur_addr=rvaToVa(mInstBuffer.at(rowOffset).rva); - int loopsize=0; - int depth=0; + int_t cur_addr = rvaToVa(mInstBuffer.at(rowOffset).rva); + int loopsize = 0; + int depth = 0; while(1) //paint all loop depths { - LOOPTYPE loopType=DbgGetLoopTypeAt(cur_addr, depth); - if(loopType==LOOP_NONE) + LOOPTYPE loopType = DbgGetLoopTypeAt(cur_addr, depth); + if(loopType == LOOP_NONE) break; Function_t funcType; switch(loopType) { case LOOP_NONE: - funcType=Function_none; + funcType = Function_none; break; case LOOP_BEGIN: - funcType=Function_start; + funcType = Function_start; break; case LOOP_ENTRY: - funcType=Function_loop_entry; + funcType = Function_loop_entry; break; case LOOP_MIDDLE: - funcType=Function_middle; + funcType = Function_middle; break; case LOOP_END: - funcType=Function_end; + funcType = Function_end; break; } - loopsize+=paintFunctionGraphic(painter, x+loopsize, y, funcType, true); + loopsize += paintFunctionGraphic(painter, x + loopsize, y, funcType, true); depth++; } @@ -414,13 +414,13 @@ QString Disassembly::paintContent(QPainter* painter, int_t rowBase, int rowOffse case 3: //draw comments { - char comment[MAX_COMMENT_SIZE]=""; + char comment[MAX_COMMENT_SIZE] = ""; if(DbgGetCommentAt(rvaToVa(mInstBuffer.at(rowOffset).rva), comment)) { painter->setPen(ConfigColor("DisassemblyCommentColor")); int width = getCharWidth() * QString(comment).length() + 4; if(width > w) - width=w; + width = w; if(width) painter->fillRect(QRect(x + 2, y, width, h), QBrush(ConfigColor("DisassemblyCommentBackgroundColor"))); //fill bookmark color painter->drawText(QRect(x + 4, y , w - 4 , h), Qt::AlignVCenter | Qt::AlignLeft, QString(comment)); @@ -472,9 +472,9 @@ void Disassembly::mouseMoveEvent(QMouseEvent* event) if(wRowIndex < getRowCount()) { setSingleSelection(getInitialSelection()); - expandSelectionUpTo(getInstructionRVA(getInitialSelection(), 1)-1); + expandSelectionUpTo(getInstructionRVA(getInitialSelection(), 1) - 1); if(wRowIndex > getInitialSelection()) //select down - expandSelectionUpTo(wRowIndex+wInstrSize); + expandSelectionUpTo(wRowIndex + wInstrSize); else expandSelectionUpTo(wRowIndex); @@ -511,23 +511,23 @@ void Disassembly::mousePressEvent(QMouseEvent* event) { if(getColumnIndexFromX(event->x()) == 2) //click in instruction column { - int rowOffset=getIndexOffsetFromY(transY(event->y())); - if(rowOffsety())); + if(rowOffset < mInstBuffer.size()) { BeaTokenizer::BeaSingleToken token; if(BeaTokenizer::TokenFromX(&mInstBuffer.at(rowOffset).tokens, &token, event->x(), getCharWidth())) { if(BeaTokenizer::IsHighlightableToken(&token) && !BeaTokenizer::TokenEquals(&token, &mHighlightToken)) - mHighlightToken=token; + mHighlightToken = token; else - mHighlightToken.text=""; + mHighlightToken.text = ""; } else - mHighlightToken.text=""; + mHighlightToken.text = ""; } } else - mHighlightToken.text=""; + mHighlightToken.text = ""; } else if(event->y() > getHeaderHeight()) { @@ -541,13 +541,13 @@ void Disassembly::mousePressEvent(QMouseEvent* event) if(getSelectionStart() > wRowIndex) //select up { setSingleSelection(getInitialSelection()); - expandSelectionUpTo(getInstructionRVA(getInitialSelection(), 1)-1); + expandSelectionUpTo(getInstructionRVA(getInitialSelection(), 1) - 1); expandSelectionUpTo(wRowIndex); } else //select down { setSingleSelection(getInitialSelection()); - expandSelectionUpTo(wRowIndex+wInstrSize); + expandSelectionUpTo(wRowIndex + wInstrSize); } mGuiState = Disassembly::MultiRowsSelectionState; @@ -613,9 +613,9 @@ void Disassembly::keyPressEvent(QKeyEvent* event) int_t botRVA = getTableOffset(); int_t topRVA = getInstructionRVA(getTableOffset(), getNbrOfLineToPrint() - 1); - bool expand=false; + bool expand = false; if(event->modifiers() & Qt::ShiftModifier) //SHIFT pressed - expand=true; + expand = true; if(key == Qt::Key_Up) selectPrevious(expand); @@ -628,7 +628,7 @@ void Disassembly::keyPressEvent(QKeyEvent* event) } else if(getSelectionEnd() >= topRVA) { - setTableOffset(getInstructionRVA(getSelectionEnd(),-getNbrOfLineToPrint() + 2)); + setTableOffset(getInstructionRVA(getSelectionEnd(), -getNbrOfLineToPrint() + 2)); } repaint(); @@ -638,7 +638,7 @@ void Disassembly::keyPressEvent(QKeyEvent* event) uint_t dest = DbgGetBranchDestination(rvaToVa(getInitialSelection())); if(!dest) return; - QString cmd="disasm "+QString("%1").arg(dest, sizeof(int_t)*2, 16, QChar('0')).toUpper(); + QString cmd = "disasm " + QString("%1").arg(dest, sizeof(int_t) * 2, 16, QChar('0')).toUpper(); DbgCmdExec(cmd.toUtf8().constData()); } else @@ -708,11 +708,11 @@ int Disassembly::paintJumpsGraphic(QPainter* painter, int x, int y, int_t addr) GraphicDump_t wPict = GD_Nothing; - if(branchType && branchType!=RetType && branchType!=CallType) + if(branchType && branchType != RetType && branchType != CallType) { int_t destRVA = (int_t)DbgGetBranchDestination(rvaToVa(instruction.rva)); - int_t base=mMemPage->getBase(); + int_t base = mMemPage->getBase(); if(destRVA >= base && destRVA < base + (int_t)mMemPage->getSize()) { destRVA -= (int_t)mMemPage->getBase(); @@ -738,9 +738,9 @@ int Disassembly::paintJumpsGraphic(QPainter* painter, int x, int y, int_t addr) } } - bool bIsExecute=DbgIsJumpGoingToExecute(rvaToVa(instruction.rva)); + bool bIsExecute = DbgIsJumpGoingToExecute(rvaToVa(instruction.rva)); - if(branchType==JmpType) //unconditional + if(branchType == JmpType) //unconditional { painter->setPen(ConfigColor("DisassemblyUnconditionalJumpLineColor")); } @@ -812,66 +812,66 @@ int Disassembly::paintJumpsGraphic(QPainter* painter, int x, int y, int_t addr) int Disassembly::paintFunctionGraphic(QPainter* painter, int x, int y, Function_t funcType, bool loop) { - if(loop && funcType==Function_none) + if(loop && funcType == Function_none) return 0; painter->setPen(QPen(Qt::black, 2)); //thick black line - int height=getRowHeight(); - int x_add=5; - int y_add=4; - int end_add=2; - int line_width=3; + int height = getRowHeight(); + int x_add = 5; + int y_add = 4; + int end_add = 2; + int line_width = 3; if(loop) { - end_add=-1; - x_add=4; + end_add = -1; + x_add = 4; } switch(funcType) { case Function_single: { if(loop) - y_add=height/2+1; - painter->drawLine(x+x_add+line_width, y+y_add, x+x_add, y+y_add); - painter->drawLine(x+x_add, y+y_add, x+x_add, y+height-y_add-1); + y_add = height / 2 + 1; + painter->drawLine(x + x_add + line_width, y + y_add, x + x_add, y + y_add); + painter->drawLine(x + x_add, y + y_add, x + x_add, y + height - y_add - 1); if(loop) - y_add=height/2-1; - painter->drawLine(x+x_add, y+height-y_add, x+x_add+line_width, y+height-y_add); + y_add = height / 2 - 1; + painter->drawLine(x + x_add, y + height - y_add, x + x_add + line_width, y + height - y_add); } break; case Function_start: { if(loop) - y_add=height/2+1; - painter->drawLine(x+x_add+line_width, y+y_add, x+x_add, y+y_add); - painter->drawLine(x+x_add, y+y_add, x+x_add, y+height); + y_add = height / 2 + 1; + painter->drawLine(x + x_add + line_width, y + y_add, x + x_add, y + y_add); + painter->drawLine(x + x_add, y + y_add, x + x_add, y + height); } break; case Function_middle: { - painter->drawLine(x+x_add, y, x+x_add, y+height); + painter->drawLine(x + x_add, y, x + x_add, y + height); } break; case Function_loop_entry: { - int trisize=2; - int y_start=(height-trisize*2)/2+y; - painter->drawLine(x+x_add, y_start, x+trisize+x_add, y_start+trisize); - painter->drawLine(x+trisize+x_add, y_start+trisize, x+x_add, y_start+trisize*2); + int trisize = 2; + int y_start = (height - trisize * 2) / 2 + y; + painter->drawLine(x + x_add, y_start, x + trisize + x_add, y_start + trisize); + painter->drawLine(x + trisize + x_add, y_start + trisize, x + x_add, y_start + trisize * 2); - painter->drawLine(x+x_add, y, x+x_add, y_start-1); - painter->drawLine(x+x_add, y_start+trisize*2+2, x+x_add, y+height); + painter->drawLine(x + x_add, y, x + x_add, y_start - 1); + painter->drawLine(x + x_add, y_start + trisize * 2 + 2, x + x_add, y + height); } break; case Function_end: { if(loop) - y_add=height/2-1; - painter->drawLine(x+x_add, y, x+x_add, y+height-y_add); - painter->drawLine(x+x_add, y+height-y_add, x+x_add+line_width, y+height-y_add); + y_add = height / 2 - 1; + painter->drawLine(x + x_add, y, x + x_add, y + height - y_add); + painter->drawLine(x + x_add, y + height - y_add, x + x_add + line_width, y + height - y_add); } break; @@ -881,7 +881,7 @@ int Disassembly::paintFunctionGraphic(QPainter* painter, int x, int y, Function_ } break; } - return x_add+line_width+end_add; + return x_add + line_width + end_add; } @@ -1000,7 +1000,7 @@ Instruction_t Disassembly::DisassembleAt(int_t rva) //TODO: fix problems with negative sizes int_t size = getSize(); if(!size) - size=rva; + size = rva; wMaxByteCountToRead = wMaxByteCountToRead > (size - rva) ? (size - rva) : wMaxByteCountToRead; @@ -1079,10 +1079,10 @@ int_t Disassembly::getSelectionEnd() void Disassembly::selectNext(bool expand) { int_t wAddr; - int_t wStart = getInstructionRVA(getSelectionStart(), 1)-1; + int_t wStart = getInstructionRVA(getSelectionStart(), 1) - 1; if(expand) { - if(getSelectionEnd()==getInitialSelection() && wStart!=getSelectionEnd()) //decrease down + if(getSelectionEnd() == getInitialSelection() && wStart != getSelectionEnd()) //decrease down { wAddr = getInstructionRVA(getSelectionStart(), 1); expandSelectionUpTo(wAddr); @@ -1107,10 +1107,10 @@ void Disassembly::selectNext(bool expand) void Disassembly::selectPrevious(bool expand) { int_t wAddr; - int_t wStart = getInstructionRVA(getSelectionStart(), 1)-1; + int_t wStart = getInstructionRVA(getSelectionStart(), 1) - 1; if(expand) { - if(getSelectionStart()==getInitialSelection() && wStart!=getSelectionEnd()) //decrease up + if(getSelectionStart() == getInitialSelection() && wStart != getSelectionEnd()) //decrease up { wAddr = getInstructionRVA(getSelectionEnd() + 1, -2); int_t wInstrSize = getInstructionRVA(wAddr, 1) - wAddr - 1; @@ -1118,7 +1118,7 @@ void Disassembly::selectPrevious(bool expand) } else //expand up { - wAddr = getInstructionRVA(wStart+1, -2); + wAddr = getInstructionRVA(wStart + 1, -2); expandSelectionUpTo(wAddr); } } @@ -1236,15 +1236,15 @@ void Disassembly::disassembleAt(int_t parVA, int_t parCIP, bool history, int_t n if(history) { //truncate everything right from the current VA - if(mVaHistory.size() && mCurrentVa= 1024) //max 1024 in the history { @@ -1252,8 +1252,8 @@ void Disassembly::disassembleAt(int_t parVA, int_t parCIP, bool history, int_t n mVaHistory.erase(mVaHistory.begin()); //remove the oldest element } mCurrentVa++; - newHistory.va=selectionVA; - newHistory.tableOffset=selectionTableOffset; + newHistory.va = selectionVA; + newHistory.tableOffset = selectionTableOffset; mVaHistory.push_back(newHistory); } } @@ -1273,7 +1273,7 @@ void Disassembly::disassembleAt(int_t parVA, int_t parCIP, bool history, int_t n //set CIP rva mCipRva = wCipRva; - if(newTableOffset==-1) //nothing specified + if(newTableOffset == -1) //nothing specified { // Update table offset depending on the location of the instruction to disassemble if(mInstBuffer.size() > 0 && wRVA >= (int_t)mInstBuffer.first().rva && wRVA < (int_t)mInstBuffer.last().rva) @@ -1312,11 +1312,11 @@ void Disassembly::disassembleAt(int_t parVA, int_t parCIP, bool history, int_t n if(history) { //new disassembled address - newHistory.va=parVA; - newHistory.tableOffset=getTableOffset(); + newHistory.va = parVA; + newHistory.tableOffset = getTableOffset(); if(mVaHistory.size()) { - if(mVaHistory.last().va!=parVA) //not 2x the same va in history + if(mVaHistory.last().va != parVA) //not 2x the same va in history { if(mVaHistory.size() >= 1024) //max 1024 in the history { @@ -1368,8 +1368,8 @@ void Disassembly::disassembleAt(int_t parVA, int_t parCIP) void Disassembly::disassembleClear() { - mHighlightingMode=false; - mHighlightToken.text=""; + mHighlightingMode = false; + mHighlightToken.text = ""; historyClear(); mMemPage->setAttributes(0, 0); setRowCount(0); @@ -1379,7 +1379,7 @@ void Disassembly::disassembleClear() void Disassembly::debugStateChangedSlot(DBGSTATE state) { - if(state==stopped) + if(state == stopped) { disassembleClear(); } @@ -1412,7 +1412,7 @@ void Disassembly::historyPrevious() void Disassembly::historyNext() { int size = mVaHistory.size(); - if(!size || mCurrentVa >= mVaHistory.size()-1) //we are at the newest history entry + if(!size || mCurrentVa >= mVaHistory.size() - 1) //we are at the newest history entry return; mCurrentVa++; disassembleAt(mVaHistory.at(mCurrentVa).va, rvaToVa(mCipRva), false, mVaHistory.at(mCurrentVa).tableOffset); @@ -1428,7 +1428,7 @@ bool Disassembly::historyHasPrevious() bool Disassembly::historyHasNext() { int size = mVaHistory.size(); - if(!size || mCurrentVa >= mVaHistory.size()-1) //we are at the newest history entry + if(!size || mCurrentVa >= mVaHistory.size() - 1) //we are at the newest history entry return false; return true; } diff --git a/x64_dbg_gui/Project/Src/BasicView/Disassembly.h b/x64_dbg_gui/Project/Src/BasicView/Disassembly.h index 039801a4..a5b6212d 100644 --- a/x64_dbg_gui/Project/Src/BasicView/Disassembly.h +++ b/x64_dbg_gui/Project/Src/BasicView/Disassembly.h @@ -15,7 +15,7 @@ class Disassembly : public AbstractTableView { Q_OBJECT public: - explicit Disassembly(QWidget *parent = 0); + explicit Disassembly(QWidget* parent = 0); void colorsUpdated(); void fontsUpdated(); @@ -89,7 +89,7 @@ public: //disassemble void disassembleAt(int_t parVA, int_t parCIP, bool history, int_t newTableOffset); - QList *instructionsBuffer(); + QList* instructionsBuffer(); const int_t baseAddress() const; const int_t currentEIP() const; diff --git a/x64_dbg_gui/Project/Src/BasicView/HeaderButton.h b/x64_dbg_gui/Project/Src/BasicView/HeaderButton.h index 07fb034b..92d39b8d 100644 --- a/x64_dbg_gui/Project/Src/BasicView/HeaderButton.h +++ b/x64_dbg_gui/Project/Src/BasicView/HeaderButton.h @@ -7,7 +7,7 @@ class HeaderButton : public QWidget { Q_OBJECT public: - explicit HeaderButton(QWidget *parent = 0); + explicit HeaderButton(QWidget* parent = 0); void setGeometry(int x, int y, int w, int h); signals: diff --git a/x64_dbg_gui/Project/Src/BasicView/HexDump.cpp b/x64_dbg_gui/Project/Src/BasicView/HexDump.cpp index 23d41791..a2314536 100644 --- a/x64_dbg_gui/Project/Src/BasicView/HexDump.cpp +++ b/x64_dbg_gui/Project/Src/BasicView/HexDump.cpp @@ -1,7 +1,7 @@ #include "HexDump.h" #include "Configuration.h" -HexDump::HexDump(QWidget *parent) : AbstractTableView(parent) +HexDump::HexDump(QWidget* parent) : AbstractTableView(parent) { fontsUpdated(); SelectionData_t data; @@ -16,9 +16,9 @@ HexDump::HexDump(QWidget *parent) : AbstractTableView(parent) clearDescriptors(); - backgroundColor=ConfigColor("HexDumpBackgroundColor"); - textColor=ConfigColor("HexDumpTextColor"); - selectionColor=ConfigColor("HexDumpSelectionColor"); + backgroundColor = ConfigColor("HexDumpBackgroundColor"); + textColor = ConfigColor("HexDumpTextColor"); + selectionColor = ConfigColor("HexDumpSelectionColor"); connect(Bridge::getBridge(), SIGNAL(updateDump()), this, SLOT(reloadData())); connect(Bridge::getBridge(), SIGNAL(dbgStateChanged(DBGSTATE)), this, SLOT(debugStateChanged(DBGSTATE))); @@ -27,9 +27,9 @@ HexDump::HexDump(QWidget *parent) : AbstractTableView(parent) void HexDump::colorsUpdated() { AbstractTableView::colorsUpdated(); - backgroundColor=ConfigColor("HexDumpBackgroundColor"); - textColor=ConfigColor("HexDumpTextColor"); - selectionColor=ConfigColor("HexDumpSelectionColor"); + backgroundColor = ConfigColor("HexDumpBackgroundColor"); + textColor = ConfigColor("HexDumpTextColor"); + selectionColor = ConfigColor("HexDumpSelectionColor"); reloadData(); } @@ -322,7 +322,7 @@ void HexDump::getString(int col, int_t rva, QListgetSize()) wStr = toString(mDescriptor.at(col).data, (void*)(wData + wI * wByteCount)).rightJustified(maxLen, ' ') + append; else @@ -443,8 +443,8 @@ QString HexDump::wordToString(uint16 word, WordViewMode_e mode) case UnicodeWord: { - QChar wChar((char)word&0xFF); - if(wChar.isPrint() == true && (word>>8)==0) + QChar wChar((char)word & 0xFF); + if(wChar.isPrint() == true && (word >> 8) == 0) wStr = QString(wChar); else wStr = "."; @@ -500,7 +500,7 @@ QString HexDump::dwordToString(uint32 dword, DwordViewMode_e mode) case FloatDword: { float* wPtr = (float*)&dword; - wStr = QString::number((double)*wPtr); + wStr = QString::number((double) * wPtr); } break; @@ -541,7 +541,7 @@ QString HexDump::qwordToString(uint64 qword, QwordViewMode_e mode) case DoubleQword: { double* wPtr = (double*)&qword; - wStr = QString::number((double)*wPtr); + wStr = QString::number((double) * wPtr); } break; @@ -933,13 +933,13 @@ void HexDump::clearDescriptors() { deleteAllColumns(); mDescriptor.clear(); - int charwidth=getCharWidth(); - addColumnAt(8+charwidth*2*sizeof(uint_t), "Address", false); //address + int charwidth = getCharWidth(); + addColumnAt(8 + charwidth * 2 * sizeof(uint_t), "Address", false); //address } void HexDump::debugStateChanged(DBGSTATE state) { - if(state==stopped) + if(state == stopped) { mMemPage->setAttributes(0, 0); setRowCount(0); diff --git a/x64_dbg_gui/Project/Src/BasicView/HexDump.h b/x64_dbg_gui/Project/Src/BasicView/HexDump.h index 79bb5add..d9479be0 100644 --- a/x64_dbg_gui/Project/Src/BasicView/HexDump.h +++ b/x64_dbg_gui/Project/Src/BasicView/HexDump.h @@ -81,7 +81,7 @@ public: DataDescriptor_t data; } ColumnDescriptor_t; - explicit HexDump(QWidget *parent = 0); + explicit HexDump(QWidget* parent = 0); void colorsUpdated(); void fontsUpdated(); @@ -106,7 +106,7 @@ public: void getString(int col, int_t rva, QList* richText); int getSizeOf(DataSize_e size); - QString toString(DataDescriptor_t desc, void *data); + QString toString(DataDescriptor_t desc, void* data); QString byteToString(byte_t byte, ByteViewMode_e mode); QString wordToString(uint16 word, WordViewMode_e mode); diff --git a/x64_dbg_gui/Project/Src/BasicView/HistoryLineEdit.cpp b/x64_dbg_gui/Project/Src/BasicView/HistoryLineEdit.cpp index f572b781..ce9bf6a0 100644 --- a/x64_dbg_gui/Project/Src/BasicView/HistoryLineEdit.cpp +++ b/x64_dbg_gui/Project/Src/BasicView/HistoryLineEdit.cpp @@ -1,7 +1,7 @@ #include "HistoryLineEdit.h" #include "Bridge.h" -HistoryLineEdit::HistoryLineEdit(QWidget *parent) : QLineEdit(parent) +HistoryLineEdit::HistoryLineEdit(QWidget* parent) : QLineEdit(parent) { mCmdHistory.clear(); mCmdIndex = -1; @@ -24,15 +24,15 @@ void HistoryLineEdit::keyPressEvent(QKeyEvent* event) //This fixes a very annoying bug on some systems if(bSixPressed) { - bSixPressed=false; - if(event->text()=="^") + bSixPressed = false; + if(event->text() == "^") { event->ignore(); return; } } if(wKey == Qt::Key_6) - bSixPressed=true; + bSixPressed = true; if(wKey == Qt::Key_Up || wKey == Qt::Key_Down) { diff --git a/x64_dbg_gui/Project/Src/BasicView/HistoryLineEdit.h b/x64_dbg_gui/Project/Src/BasicView/HistoryLineEdit.h index 78fa8169..383c9753 100644 --- a/x64_dbg_gui/Project/Src/BasicView/HistoryLineEdit.h +++ b/x64_dbg_gui/Project/Src/BasicView/HistoryLineEdit.h @@ -8,7 +8,7 @@ class HistoryLineEdit : public QLineEdit { Q_OBJECT public: - explicit HistoryLineEdit(QWidget *parent = 0); + explicit HistoryLineEdit(QWidget* parent = 0); void keyPressEvent(QKeyEvent* event); void addLineToHistory(QString parLine); void setFocus(); diff --git a/x64_dbg_gui/Project/Src/BasicView/ReferenceView.cpp b/x64_dbg_gui/Project/Src/BasicView/ReferenceView.cpp index f1249704..486d0c73 100644 --- a/x64_dbg_gui/Project/Src/BasicView/ReferenceView.cpp +++ b/x64_dbg_gui/Project/Src/BasicView/ReferenceView.cpp @@ -16,12 +16,12 @@ ReferenceView::ReferenceView() mMainLayout->addWidget(mSearchProgress); // Setup signals - connect(Bridge::getBridge(), SIGNAL(referenceAddColumnAt(int,QString)), this, SLOT(addColumnAt(int,QString))); + connect(Bridge::getBridge(), SIGNAL(referenceAddColumnAt(int, QString)), this, SLOT(addColumnAt(int, QString))); connect(Bridge::getBridge(), SIGNAL(referenceSetRowCount(int_t)), this, SLOT(setRowCount(int_t))); connect(Bridge::getBridge(), SIGNAL(referenceDeleteAllColumns()), this, SLOT(deleteAllColumns())); - connect(Bridge::getBridge(), SIGNAL(referenceSetCellContent(int,int,QString)), this, SLOT(setCellContent(int,int,QString))); + connect(Bridge::getBridge(), SIGNAL(referenceSetCellContent(int, int, QString)), this, SLOT(setCellContent(int, int, QString))); connect(Bridge::getBridge(), SIGNAL(referenceReloadData()), this, SLOT(reloadData())); - connect(Bridge::getBridge(), SIGNAL(referenceSetSingleSelection(int,bool)), this, SLOT(setSingleSelection(int,bool))); + connect(Bridge::getBridge(), SIGNAL(referenceSetSingleSelection(int, bool)), this, SLOT(setSingleSelection(int, bool))); connect(Bridge::getBridge(), SIGNAL(referenceSetProgress(int)), mSearchProgress, SLOT(setValue(int))); connect(Bridge::getBridge(), SIGNAL(referenceSetSearchStartCol(int)), this, SLOT(setSearchStartCol(int))); connect(this, SIGNAL(listContextMenuSignal(QMenu*)), this, SLOT(referenceContextMenu(QMenu*))); @@ -64,16 +64,16 @@ void ReferenceView::refreshShortcutsSlot() void ReferenceView::addColumnAt(int width, QString title) { - int charwidth=mList->getCharWidth(); + int charwidth = mList->getCharWidth(); if(width) - width=charwidth*width+8; + width = charwidth * width + 8; else - width=0; + width = 0; mSearchBox->setText(""); if(title.toLower() == "&data&") { - mFollowDumpDefault=true; - title="Data"; + mFollowDumpDefault = true; + title = "Data"; } mList->addColumnAt(width, title, true); mSearchList->addColumnAt(width, title, true); @@ -208,15 +208,15 @@ void ReferenceView::toggleBookmark() bool result; if(DbgGetBookmarkAt(wVA)) - result=DbgSetBookmarkAt(wVA, false); + result = DbgSetBookmarkAt(wVA, false); else - result=DbgSetBookmarkAt(wVA, true); + result = DbgSetBookmarkAt(wVA, true); if(!result) { QMessageBox msg(QMessageBox::Critical, "Error!", "DbgSetBookmarkAt failed!"); msg.setWindowIcon(QIcon(":/icons/images/compile-error.png")); msg.setParent(this, Qt::Dialog); - msg.setWindowFlags(msg.windowFlags()&(~Qt::WindowContextHelpButtonHint)); + msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint)); msg.exec(); } GuiUpdateAllViews(); diff --git a/x64_dbg_gui/Project/Src/BasicView/SearchListView.cpp b/x64_dbg_gui/Project/Src/BasicView/SearchListView.cpp index 8b184c78..c11b0535 100644 --- a/x64_dbg_gui/Project/Src/BasicView/SearchListView.cpp +++ b/x64_dbg_gui/Project/Src/BasicView/SearchListView.cpp @@ -1,7 +1,7 @@ #include "SearchListView.h" #include "ui_SearchListView.h" -SearchListView::SearchListView(QWidget *parent) : +SearchListView::SearchListView(QWidget* parent) : QWidget(parent), ui(new Ui::SearchListView) { @@ -46,7 +46,7 @@ SearchListView::SearchListView(QWidget *parent) : ui->mainSplitter->setStretchFactor(0, 1); // Disable main splitter - for(int i=0; imainSplitter->count(); i++) + for(int i = 0; i < ui->mainSplitter->count(); i++) ui->mainSplitter->handle(i)->setEnabled(false); // Setup signals @@ -66,84 +66,84 @@ SearchListView::~SearchListView() void SearchListView::listKeyPressed(QKeyEvent* event) { - char ch=event->text().toUtf8().constData()[0]; + char ch = event->text().toUtf8().constData()[0]; if(isprint(ch)) //add a char to the search box - mSearchBox->setText(mSearchBox->text()+QString(QChar(ch))); - else if(event->key()==Qt::Key_Backspace) //remove a char from the search box + mSearchBox->setText(mSearchBox->text() + QString(QChar(ch))); + else if(event->key() == Qt::Key_Backspace) //remove a char from the search box { QString newText; - if(event->modifiers()==Qt::ControlModifier) //clear the search box - newText=""; + if(event->modifiers() == Qt::ControlModifier) //clear the search box + newText = ""; else { - newText=mSearchBox->text(); + newText = mSearchBox->text(); newText.chop(1); } mSearchBox->setText(newText); } - else if((event->key()==Qt::Key_Return || event->key()==Qt::Key_Enter)) //user pressed enter + else if((event->key() == Qt::Key_Return || event->key() == Qt::Key_Enter)) //user pressed enter emit enterPressedSignal(); } bool SearchListView::findTextInList(SearchListViewTable* list, QString text, int row, int startcol, bool startswith) { - int count=list->getColumnCount(); - if(startcol+1>count) + int count = list->getColumnCount(); + if(startcol + 1 > count) return false; if(startswith) { - for(int i=startcol; igetCellContent(row, i).startsWith(text, Qt::CaseInsensitive)) return true; } else { - for(int i=startcol; igetCellContent(row, i).contains(text, Qt::CaseInsensitive)) return true; } return false; } -void SearchListView::searchTextChanged(const QString &arg1) +void SearchListView::searchTextChanged(const QString & arg1) { if(arg1.length()) { mList->hide(); mSearchList->show(); - mCurList=mSearchList; + mCurList = mSearchList; } else { mSearchList->hide(); mList->show(); mList->setFocus(); - mCurList=mList; + mCurList = mList; } mSearchList->setRowCount(0); - int rows=mList->getRowCount(); - int columns=mList->getColumnCount(); - for(int i=0,j=0; igetRowCount(); + int columns = mList->getColumnCount(); + for(int i = 0, j = 0; i < rows; i++) { if(findTextInList(mList, arg1, i, mSearchStartCol, false)) { - mSearchList->setRowCount(j+1); - for(int k=0; ksetRowCount(j + 1); + for(int k = 0; k < columns; k++) mSearchList->setCellContent(j, k, mList->getCellContent(i, k)); j++; } } - rows=mSearchList->getRowCount(); + rows = mSearchList->getRowCount(); mSearchList->setTableOffset(0); - for(int i=0; imSearchList->getViewableRowsCount()) + if(rows > mSearchList->getViewableRowsCount()) { - int cur=i-mSearchList->getViewableRowsCount()/2; + int cur = i - mSearchList->getViewableRowsCount() / 2; if(!mSearchList->isValidIndex(cur, 0)) - cur=i; + cur = i; mSearchList->setTableOffset(cur); } mSearchList->setSingleSelection(i); diff --git a/x64_dbg_gui/Project/Src/BasicView/SearchListView.h b/x64_dbg_gui/Project/Src/BasicView/SearchListView.h index 904fe81f..a422da51 100644 --- a/x64_dbg_gui/Project/Src/BasicView/SearchListView.h +++ b/x64_dbg_gui/Project/Src/BasicView/SearchListView.h @@ -29,7 +29,7 @@ public: bool findTextInList(SearchListViewTable* list, QString text, int row, int startcol, bool startswith); private slots: - void searchTextChanged(const QString &arg1); + void searchTextChanged(const QString & arg1); void listKeyPressed(QKeyEvent* event); void listContextMenu(const QPoint & pos); void doubleClickedSlot(); diff --git a/x64_dbg_gui/Project/Src/BasicView/SearchListViewTable.cpp b/x64_dbg_gui/Project/Src/BasicView/SearchListViewTable.cpp index c94f864f..1d70ff6b 100644 --- a/x64_dbg_gui/Project/Src/BasicView/SearchListViewTable.cpp +++ b/x64_dbg_gui/Project/Src/BasicView/SearchListViewTable.cpp @@ -7,32 +7,32 @@ SearchListViewTable::SearchListViewTable(StdTable* parent) : StdTable(parent) QString SearchListViewTable::paintContent(QPainter* painter, int_t rowBase, int rowOffset, int col, int x, int y, int w, int h) { - bool isaddr=true; - QString text=StdTable::paintContent(painter, rowBase, rowOffset, col, x, y, w, h); + bool isaddr = true; + QString text = StdTable::paintContent(painter, rowBase, rowOffset, col, x, y, w, h); if(!DbgIsDebugging()) - isaddr=false; + isaddr = false; if(!getRowCount()) - isaddr=false; + isaddr = false; const char* addrText = text.toUtf8().constData(); - ULONGLONG val=0; + ULONGLONG val = 0; uint_t wVA; - if(sscanf(addrText, "%llX", &val)!=1) - isaddr=false; + if(sscanf(addrText, "%llX", &val) != 1) + isaddr = false; else - wVA=val; - if(col==0 && isaddr) + wVA = val; + if(col == 0 && isaddr) { - BPXTYPE bpxtype=DbgGetBpxTypeAt(wVA); - bool isbookmark=DbgGetBookmarkAt(wVA); + BPXTYPE bpxtype = DbgGetBpxTypeAt(wVA); + bool isbookmark = DbgGetBookmarkAt(wVA); painter->setPen(ConfigColor("AbstractTableViewTextColor")); if(!isbookmark) { - if(bpxtype&bp_normal) //normal breakpoint + if(bpxtype & bp_normal) //normal breakpoint { painter->setPen(QPen(ConfigColor("DisassemblyBreakpointColor"))); painter->fillRect(QRect(x, y, w, h), QBrush(ConfigColor("DisassemblyBreakpointBackgroundColor"))); //fill red } - else if(bpxtype&bp_hardware) //hardware breakpoint only + else if(bpxtype & bp_hardware) //hardware breakpoint only { painter->setPen(QPen(ConfigColor("DisassemblyHardwareBreakpointColor"))); painter->fillRect(QRect(x, y, w, h), QBrush(ConfigColor("DisassemblyHardwareBreakpointBackgroundColor"))); //fill red @@ -40,22 +40,22 @@ QString SearchListViewTable::paintContent(QPainter* painter, int_t rowBase, int } else //bookmark { - if(bpxtype==bp_none) //bookmark only + if(bpxtype == bp_none) //bookmark only { painter->setPen(QPen(ConfigColor("DisassemblyBookmarkColor"))); //black address painter->fillRect(QRect(x, y, w, h), QBrush(ConfigColor("DisassemblyBookmarkBackgroundColor"))); //fill bookmark color } else //bookmark + breakpoint { - QColor color=ConfigColor("DisassemblyBookmarkBackgroundColor"); + QColor color = ConfigColor("DisassemblyBookmarkBackgroundColor"); if(!color.alpha()) //we don't want transparent text - color=textColor; + color = textColor; painter->setPen(QPen(color)); - if(bpxtype&bp_normal) //bookmark + normal breakpoint + if(bpxtype & bp_normal) //bookmark + normal breakpoint { painter->fillRect(QRect(x, y, w, h), QBrush(ConfigColor("DisassemblyBreakpointBackgroundColor"))); //fill red } - else if(bpxtype&bp_hardware) //bookmark + hardware breakpoint only + else if(bpxtype & bp_hardware) //bookmark + hardware breakpoint only { painter->fillRect(QRect(x, y, w, h), QBrush(ConfigColor("DisassemblyHardwareBreakpointBackgroundColor"))); //fill red } @@ -67,7 +67,7 @@ QString SearchListViewTable::paintContent(QPainter* painter, int_t rowBase, int } } painter->drawText(QRect(x + 4, y , w - 4 , h), Qt::AlignVCenter | Qt::AlignLeft, text); - text=""; + text = ""; } return text; } diff --git a/x64_dbg_gui/Project/Src/BasicView/ShortcutEdit.cpp b/x64_dbg_gui/Project/Src/BasicView/ShortcutEdit.cpp index 07f56d4c..547b72bc 100644 --- a/x64_dbg_gui/Project/Src/BasicView/ShortcutEdit.cpp +++ b/x64_dbg_gui/Project/Src/BasicView/ShortcutEdit.cpp @@ -1,7 +1,7 @@ #include "ShortcutEdit.h" #include -ShortcutEdit::ShortcutEdit(QWidget *parent) : QLineEdit(parent) +ShortcutEdit::ShortcutEdit(QWidget* parent) : QLineEdit(parent) { } @@ -21,14 +21,14 @@ void ShortcutEdit::setErrorState(bool error) setStyleSheet("color: #000000"); } -void ShortcutEdit::keyPressEvent(QKeyEvent *event) +void ShortcutEdit::keyPressEvent(QKeyEvent* event) { keyInt = event->key(); // find key-id const Qt::Key key = static_cast(keyInt); // we do not know how to handle this case - if( key == Qt::Key_unknown ) + if(key == Qt::Key_unknown) { keyInt = -1; emit askForSave(); @@ -36,7 +36,7 @@ void ShortcutEdit::keyPressEvent(QKeyEvent *event) } // these keys will be ignored - if( key == Qt::Key_Escape || key == Qt::Key_Backspace ) + if(key == Qt::Key_Escape || key == Qt::Key_Backspace) { setText(""); keyInt = -1; @@ -55,9 +55,9 @@ void ShortcutEdit::keyPressEvent(QKeyEvent *event) // some strange cases (only Ctrl) QString KeyText = QKeySequence(keyInt).toString(QKeySequence::NativeText) ; - for(int i=0; isetAccepted(true); diff --git a/x64_dbg_gui/Project/Src/BasicView/ShortcutEdit.h b/x64_dbg_gui/Project/Src/BasicView/ShortcutEdit.h index 397ba59e..4e15b335 100644 --- a/x64_dbg_gui/Project/Src/BasicView/ShortcutEdit.h +++ b/x64_dbg_gui/Project/Src/BasicView/ShortcutEdit.h @@ -10,7 +10,7 @@ class ShortcutEdit : public QLineEdit int keyInt; public: - explicit ShortcutEdit(QWidget *parent = 0); + explicit ShortcutEdit(QWidget* parent = 0); const QKeySequence getKeysequence() const; public slots: diff --git a/x64_dbg_gui/Project/Src/BasicView/StdTable.cpp b/x64_dbg_gui/Project/Src/BasicView/StdTable.cpp index 738f65ae..37a30e1e 100644 --- a/x64_dbg_gui/Project/Src/BasicView/StdTable.cpp +++ b/x64_dbg_gui/Project/Src/BasicView/StdTable.cpp @@ -1,7 +1,7 @@ #include "StdTable.h" #include "Bridge.h" -StdTable::StdTable(QWidget *parent) : AbstractTableView(parent) +StdTable::StdTable(QWidget* parent) : AbstractTableView(parent) { SelectionData_t data; memset(&data, 0, sizeof(SelectionData_t)); @@ -10,7 +10,7 @@ StdTable::StdTable(QWidget *parent) : AbstractTableView(parent) mIsMultiSelctionAllowed = false; mData.clear(); - mSort.first=-1; + mSort.first = -1; mCopyMenuOnly = false; mCopyMenuDebugOnly = true; @@ -229,7 +229,7 @@ void StdTable::addColumnAt(int width, QString title, bool isClickable, QString c AbstractTableView::addColumnAt(width, title, isClickable); //append empty column to list of rows - for(int i=0; i 0) { mData.append(QList()); - for(int j=0; j(sender()); if(!action) return; - int col=action->objectName().toInt(); + int col = action->objectName().toInt(); Bridge::CopyToClipboard(getCellContent(getInitialSelection(), col).toUtf8().constData()); } @@ -380,11 +380,11 @@ void StdTable::setupCopyMenu(QMenu* copyMenu) //Copy->Separatoe copyMenu->addSeparator(); //Copy->ColName - for(int i=0; i & a, const QList & b) const { - bool less=QString::compare(a.at(mCol), b.at(mCol), Qt::CaseInsensitive) < 0; + bool less = QString::compare(a.at(mCol), b.at(mCol), Qt::CaseInsensitive) < 0; if(mGreater) return !less; return less; diff --git a/x64_dbg_gui/Project/Src/Bridge/Bridge.cpp b/x64_dbg_gui/Project/Src/Bridge/Bridge.cpp index 85a79d6e..c7513b89 100644 --- a/x64_dbg_gui/Project/Src/Bridge/Bridge.cpp +++ b/x64_dbg_gui/Project/Src/Bridge/Bridge.cpp @@ -8,7 +8,7 @@ static Bridge* mBridge; /************************************************************************************ Class Members ************************************************************************************/ -Bridge::Bridge(QObject *parent) : QObject(parent) +Bridge::Bridge(QObject* parent) : QObject(parent) { mBridgeMutex = new QMutex(); } @@ -21,13 +21,13 @@ Bridge::~Bridge() void Bridge::CopyToClipboard(const char* text) { HGLOBAL hText; - char *pText; - int len=strlen(text); + char* pText; + int len = strlen(text); if(!len) return; - hText=GlobalAlloc(GMEM_DDESHARE|GMEM_MOVEABLE, len+1); - pText=(char*)GlobalLock(hText); + hText = GlobalAlloc(GMEM_DDESHARE | GMEM_MOVEABLE, len + 1); + pText = (char*)GlobalLock(hText); strcpy(pText, text); OpenClipboard(0); @@ -38,8 +38,8 @@ void Bridge::CopyToClipboard(const char* text) void Bridge::BridgeSetResult(int_t result) { - bridgeResult=result; - hasBridgeResult=true; + bridgeResult = result; + hasBridgeResult = true; } /************************************************************************************ @@ -93,7 +93,7 @@ void Bridge::emitDumpAt(int_t va) void Bridge::emitScriptAdd(int count, const char** lines) { mBridgeMutex->lock(); - hasBridgeResult=false; + hasBridgeResult = false; emit scriptAdd(count, lines); while(!hasBridgeResult) //wait for thread completion Sleep(100); @@ -133,7 +133,7 @@ void Bridge::emitScriptMessage(QString message) int Bridge::emitScriptQuestion(QString message) { mBridgeMutex->lock(); - hasBridgeResult=false; + hasBridgeResult = false; emit scriptQuestion(message); while(!hasBridgeResult) //wait for thread completion Sleep(100); @@ -234,7 +234,7 @@ void Bridge::emitSetLastException(unsigned int exceptionCode) int Bridge::emitMenuAddMenu(int hMenu, QString title) { mBridgeMutex->lock(); - hasBridgeResult=false; + hasBridgeResult = false; emit menuAddMenu(hMenu, title); while(!hasBridgeResult) //wait for thread completion Sleep(100); @@ -245,7 +245,7 @@ int Bridge::emitMenuAddMenu(int hMenu, QString title) int Bridge::emitMenuAddMenuEntry(int hMenu, QString title) { mBridgeMutex->lock(); - hasBridgeResult=false; + hasBridgeResult = false; emit menuAddMenuEntry(hMenu, title); while(!hasBridgeResult) //wait for thread completion Sleep(100); @@ -273,7 +273,7 @@ bool Bridge::emitSelectionGet(int hWindow, SELECTIONDATA* selection) if(!DbgIsDebugging()) return false; mBridgeMutex->lock(); - hasBridgeResult=false; + hasBridgeResult = false; switch(hWindow) { case GUI_DISASSEMBLY: @@ -294,9 +294,9 @@ bool Bridge::emitSelectionGet(int hWindow, SELECTIONDATA* selection) mBridgeMutex->unlock(); if(selection->start > selection->end) //swap start and end { - int_t temp=selection->end; - selection->end=selection->start; - selection->start=temp; + int_t temp = selection->end; + selection->end = selection->start; + selection->start = temp; } return true; } @@ -306,7 +306,7 @@ bool Bridge::emitSelectionSet(int hWindow, const SELECTIONDATA* selection) if(!DbgIsDebugging()) return false; mBridgeMutex->lock(); - hasBridgeResult=false; + hasBridgeResult = false; switch(hWindow) { case GUI_DISASSEMBLY: @@ -331,7 +331,7 @@ bool Bridge::emitSelectionSet(int hWindow, const SELECTIONDATA* selection) bool Bridge::emitGetStrWindow(const QString title, QString* text) { mBridgeMutex->lock(); - hasBridgeResult=false; + hasBridgeResult = false; emit getStrWindow(title, text); while(!hasBridgeResult) //wait for thread completion Sleep(100); @@ -395,7 +395,7 @@ void Bridge::initBridge() /************************************************************************************ Exported Functions ************************************************************************************/ -__declspec(dllexport) int _gui_guiinit(int argc, char *argv[]) +__declspec(dllexport) int _gui_guiinit(int argc, char* argv[]) { return main(argc, argv); } @@ -412,7 +412,7 @@ __declspec(dllexport) void* _gui_sendmessage(GUIMSG type, void* param1, void* pa case GUI_SET_DEBUG_STATE: { - Bridge::getBridge()->emitDbgStateChanged(reinterpret_cast(param1)); + Bridge::getBridge()->emitDbgStateChanged(reinterpret_cast(param1)); } break; @@ -568,7 +568,7 @@ __declspec(dllexport) void* _gui_sendmessage(GUIMSG type, void* param1, void* pa case GUI_REF_SETCELLCONTENT: { - CELLINFO* info=(CELLINFO*)param1; + CELLINFO* info = (CELLINFO*)param1; Bridge::getBridge()->emitReferenceSetCellContent(info->row, info->col, QString(info->str)); } break; @@ -635,21 +635,21 @@ __declspec(dllexport) void* _gui_sendmessage(GUIMSG type, void* param1, void* pa case GUI_GET_DISASSEMBLY: { - uint_t parVA=(uint_t)param1; - char* text=(char*)param2; + uint_t parVA = (uint_t)param1; + char* text = (char*)param2; if(!text || !parVA || !DbgIsDebugging()) return 0; byte_t wBuffer[16]; if(!DbgMemRead(parVA, wBuffer, 16)) return 0; QBeaEngine* disasm = new QBeaEngine(); - Instruction_t instr=disasm->DisassembleAt(wBuffer, 16, 0, 0, parVA); + Instruction_t instr = disasm->DisassembleAt(wBuffer, 16, 0, 0, parVA); BeaTokenizer::TokenizeInstruction(&instr.tokens, &instr.disasm); QList richText; BeaTokenizer::TokenToRichText(&instr.tokens, &richText, 0); - QString finalInstruction=""; - for(int i=0; iemitGetStrWindow(QString(reinterpret_cast(param1)), &text)) { - if(text.length()>=GUI_MAX_LINE_SIZE) - text.chop(text.length()-GUI_MAX_LINE_SIZE); + if(text.length() >= GUI_MAX_LINE_SIZE) + text.chop(text.length() - GUI_MAX_LINE_SIZE); strcpy((char*)param2, text.toUtf8().constData()); return (void*)(uint_t)true; } diff --git a/x64_dbg_gui/Project/Src/Bridge/Bridge.h b/x64_dbg_gui/Project/Src/Bridge/Bridge.h index 651337bd..15dd3d95 100644 --- a/x64_dbg_gui/Project/Src/Bridge/Bridge.h +++ b/x64_dbg_gui/Project/Src/Bridge/Bridge.h @@ -17,7 +17,7 @@ class Bridge : public QObject { Q_OBJECT public: - explicit Bridge(QObject *parent = 0); + explicit Bridge(QObject* parent = 0); ~Bridge(); static Bridge* getBridge(); diff --git a/x64_dbg_gui/Project/Src/Disassembler/BeaTokenizer.cpp b/x64_dbg_gui/Project/Src/Disassembler/BeaTokenizer.cpp index 85880059..5002c901 100644 --- a/x64_dbg_gui/Project/Src/Disassembler/BeaTokenizer.cpp +++ b/x64_dbg_gui/Project/Src/Disassembler/BeaTokenizer.cpp @@ -16,19 +16,19 @@ BeaTokenizer::BeaTokenizer() void BeaTokenizer::AddToken(BeaInstructionToken* instr, const BeaTokenType type, const QString text, const BeaTokenValue* value) { BeaSingleToken token; - token.type=type; - if(type!=TokenSpace && type!=TokenArgumentSpace && type!=TokenMemoryOperatorSpace) - token.text=text.trimmed(); //remove whitespaces from the start and end + token.type = type; + if(type != TokenSpace && type != TokenArgumentSpace && type != TokenMemoryOperatorSpace) + token.text = text.trimmed(); //remove whitespaces from the start and end else - token.text=text; + token.text = text; if(ConfigBool("Disassembler", "Uppercase")) - token.text=token.text.toUpper(); + token.text = token.text.toUpper(); if(value) - token.value=*value; + token.value = *value; else { - token.value.size=0; - token.value.value=0; + token.value.size = 0; + token.value.value = 0; } instr->tokens.push_back(token); } @@ -62,7 +62,7 @@ bool BeaTokenizer::IsNopInstruction(QString mnemonic, const DISASM* disasm) { Q_UNUSED(disasm); //TODO: add instructions like "mov eax,eax" and "xchg ebx,ebx" and "lea eax,[eax]" - if(mnemonic=="nop") + if(mnemonic == "nop") return true; return false; } @@ -70,14 +70,14 @@ bool BeaTokenizer::IsNopInstruction(QString mnemonic, const DISASM* disasm) void BeaTokenizer::StringInstructionMemory(BeaInstructionToken* instr, int size, QString segment, ARGUMENTS_TYPE reg) { if(memSizeNames.contains(size)) - AddToken(instr, TokenMemorySize, memSizeNames.find(size).value()+" ptr", 0); + AddToken(instr, TokenMemorySize, memSizeNames.find(size).value() + " ptr", 0); else AddToken(instr, TokenMemorySize, "??? ptr", 0); AddToken(instr, TokenSpace, " ", 0); AddToken(instr, TokenMemorySegment, segment, 0); AddToken(instr, TokenUncategorized, ":", 0); AddToken(instr, TokenMemoryBrackets, "[", 0); - AddToken(instr, TokenMemoryBaseRegister, RegisterToString(sizeof(int_t)*8, reg), 0); //EDI/RDI + AddToken(instr, TokenMemoryBaseRegister, RegisterToString(sizeof(int_t) * 8, reg), 0); //EDI/RDI AddToken(instr, TokenMemoryBrackets, "]", 0); } @@ -85,25 +85,25 @@ void BeaTokenizer::StringInstruction(QString mnemonic, BeaInstructionToken* inst { AddToken(instr, TokenMnemonicNormal, mnemonic, 0); AddToken(instr, TokenSpace, " ", 0); - if(mnemonic=="movs") + if(mnemonic == "movs") { StringInstructionMemory(instr, disasm->Argument1.ArgSize, "es", REG7); //EDI/RDI AddToken(instr, TokenComma, ",", 0); AddToken(instr, TokenArgumentSpace, " ", 0); StringInstructionMemory(instr, disasm->Argument1.ArgSize, "ds", REG6); //ESI/RSI } - else if(mnemonic=="cmps") + else if(mnemonic == "cmps") { StringInstructionMemory(instr, disasm->Argument1.ArgSize, "ds", REG6); //EDI/RDI AddToken(instr, TokenComma, ",", 0); AddToken(instr, TokenArgumentSpace, " ", 0); StringInstructionMemory(instr, disasm->Argument1.ArgSize, "es", REG7); //ESI/RSI } - else if(mnemonic=="scas" || mnemonic=="stos") + else if(mnemonic == "scas" || mnemonic == "stos") StringInstructionMemory(instr, disasm->Argument1.ArgSize, "es", REG7); //ESI/RSI - else if(mnemonic=="lods") + else if(mnemonic == "lods") StringInstructionMemory(instr, disasm->Argument1.ArgSize, "ds", REG6); //ESI/RSI - else if(mnemonic=="outs") + else if(mnemonic == "outs") { AddToken(instr, TokenGeneralRegister, "dx", 0); AddToken(instr, TokenComma, ",", 0); @@ -114,37 +114,37 @@ void BeaTokenizer::StringInstruction(QString mnemonic, BeaInstructionToken* inst void BeaTokenizer::Mnemonic(BeaInstructionToken* instr, const DISASM* disasm) { - QString mnemonic=QString(disasm->Instruction.Mnemonic).trimmed().toLower(); + QString mnemonic = QString(disasm->Instruction.Mnemonic).trimmed().toLower(); bool farMnemonic = mnemonic.contains(" far"); if(farMnemonic) mnemonic.truncate(mnemonic.indexOf(" far")); - QString completeInstr=QString(disasm->CompleteInstr).trimmed().toLower(); - BeaTokenType type=TokenMnemonicNormal; - int brtype=disasm->Instruction.BranchType; + QString completeInstr = QString(disasm->CompleteInstr).trimmed().toLower(); + BeaTokenType type = TokenMnemonicNormal; + int brtype = disasm->Instruction.BranchType; if(brtype) //jump/call { - if(brtype==CallType) - type=TokenMnemonicCall; - else if(brtype==RetType) - type=TokenMnemonicRet; - else if(brtype==JmpType) - type=TokenMnemonicUncondJump; + if(brtype == CallType) + type = TokenMnemonicCall; + else if(brtype == RetType) + type = TokenMnemonicRet; + else if(brtype == JmpType) + type = TokenMnemonicUncondJump; else //cond jump - type=TokenMnemonicCondJump; + type = TokenMnemonicCondJump; } - else if(mnemonic=="push" || mnemonic=="pop") - type=TokenMnemonicPushPop; + else if(mnemonic == "push" || mnemonic == "pop") + type = TokenMnemonicPushPop; else if(IsNopInstruction(mnemonic, disasm)) //nop instructions - type=TokenMnemonicNop; + type = TokenMnemonicNop; else if(completeInstr.contains("movs") || completeInstr.contains("cmps") || completeInstr.contains("scas") || completeInstr.contains("lods") || completeInstr.contains("stos") || completeInstr.contains("outs")) { - completeInstr=completeInstr.replace("rep ", "").replace("repne ", ""); - if(completeInstr.length()!=5) + completeInstr = completeInstr.replace("rep ", "").replace("repne ", ""); + if(completeInstr.length() != 5) { AddToken(instr, type, mnemonic, 0); return; } - if(mnemonic[4]=='b' || mnemonic[4]=='w' || mnemonic[4]=='d' || mnemonic[4]=='q') + if(mnemonic[4] == 'b' || mnemonic[4] == 'w' || mnemonic[4] == 'd' || mnemonic[4] == 'q') { mnemonic.truncate(4); StringInstruction(mnemonic, instr, disasm); @@ -163,31 +163,31 @@ void BeaTokenizer::Mnemonic(BeaInstructionToken* instr, const DISASM* disasm) QString BeaTokenizer::PrintValue(const BeaTokenValue* value, bool module) { - char labelText[MAX_LABEL_SIZE]=""; - char moduleText[MAX_MODULE_SIZE]=""; - int_t addr=value->value; - bool bHasLabel=DbgGetLabelAt(addr, SEG_DEFAULT, labelText); - bool bHasModule=(module && DbgGetModuleAt(addr, moduleText) && !QString(labelText).startsWith("JMP.&")); + char labelText[MAX_LABEL_SIZE] = ""; + char moduleText[MAX_MODULE_SIZE] = ""; + int_t addr = value->value; + bool bHasLabel = DbgGetLabelAt(addr, SEG_DEFAULT, labelText); + bool bHasModule = (module && DbgGetModuleAt(addr, moduleText) && !QString(labelText).startsWith("JMP.&")); QString addrText; - addrText=QString("%1").arg(addr&(uint_t)-1, 0, 16, QChar('0')).toUpper(); + addrText = QString("%1").arg(addr & (uint_t) - 1, 0, 16, QChar('0')).toUpper(); QString finalText; if(bHasLabel && bHasModule) // - finalText=QString("<%1.%2>").arg(moduleText).arg(labelText); + finalText = QString("<%1.%2>").arg(moduleText).arg(labelText); else if(bHasModule) //module.addr - finalText=QString("%1.%2").arg(moduleText).arg(addrText); + finalText = QString("%1.%2").arg(moduleText).arg(addrText); else if(bHasLabel) //