DBG: removed the 'and' and 'or' defines
This commit is contained in:
parent
e8ee2430c6
commit
c86eaa5a08
|
@ -92,7 +92,7 @@ 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 || cacheFlags != GetContextDataEx(hActiveThread, UE_EFLAGS))
|
||||
{
|
||||
cacheFlags = GetContextDataEx(hActiveThread, UE_EFLAGS);
|
||||
cacheAddr = addr;
|
||||
|
@ -122,10 +122,10 @@ extern "C" DLL_EXPORT bool _dbg_addrinfoget(duint addr, SEGMENTREG segment, ADDR
|
|||
PSYMBOL_INFO pSymbol = (PSYMBOL_INFO)buffer;
|
||||
pSymbol->SizeOfStruct = sizeof(SYMBOL_INFO);
|
||||
pSymbol->MaxNameLen = MAX_LABEL_SIZE;
|
||||
if(SafeSymFromAddr(fdProcessInfo->hProcess, (DWORD64)addr, &displacement, pSymbol) and !displacement)
|
||||
if(SafeSymFromAddr(fdProcessInfo->hProcess, (DWORD64)addr, &displacement, pSymbol) && !displacement)
|
||||
{
|
||||
pSymbol->Name[pSymbol->MaxNameLen - 1] = '\0';
|
||||
if(!bUndecorateSymbolNames or !SafeUnDecorateSymbolName(pSymbol->Name, addrinfo->label, MAX_LABEL_SIZE, UNDNAME_COMPLETE))
|
||||
if(!bUndecorateSymbolNames || !SafeUnDecorateSymbolName(pSymbol->Name, addrinfo->label, MAX_LABEL_SIZE, UNDNAME_COMPLETE))
|
||||
strcpy_s(addrinfo->label, pSymbol->Name);
|
||||
retval = true;
|
||||
}
|
||||
|
@ -138,10 +138,10 @@ extern "C" DLL_EXPORT bool _dbg_addrinfoget(duint addr, SEGMENTREG segment, ADDR
|
|||
uint val = 0;
|
||||
if(MemRead((void*)basicinfo.memory.value, &val, sizeof(val), 0))
|
||||
{
|
||||
if(SafeSymFromAddr(fdProcessInfo->hProcess, (DWORD64)val, &displacement, pSymbol) and !displacement)
|
||||
if(SafeSymFromAddr(fdProcessInfo->hProcess, (DWORD64)val, &displacement, pSymbol) && !displacement)
|
||||
{
|
||||
pSymbol->Name[pSymbol->MaxNameLen - 1] = '\0';
|
||||
if(!bUndecorateSymbolNames or !SafeUnDecorateSymbolName(pSymbol->Name, addrinfo->label, MAX_LABEL_SIZE, UNDNAME_COMPLETE))
|
||||
if(!bUndecorateSymbolNames || !SafeUnDecorateSymbolName(pSymbol->Name, addrinfo->label, MAX_LABEL_SIZE, UNDNAME_COMPLETE))
|
||||
sprintf_s(addrinfo->label, "JMP.&%s", pSymbol->Name);
|
||||
retval = true;
|
||||
}
|
||||
|
@ -175,12 +175,12 @@ extern "C" DLL_EXPORT bool _dbg_addrinfoget(duint addr, SEGMENTREG segment, ADDR
|
|||
DWORD dwDisplacement;
|
||||
IMAGEHLP_LINE64 line;
|
||||
line.SizeOfStruct = sizeof(IMAGEHLP_LINE64);
|
||||
if(SafeSymGetLineFromAddr64(fdProcessInfo->hProcess, (DWORD64)addr, &dwDisplacement, &line) and !dwDisplacement)
|
||||
if(SafeSymGetLineFromAddr64(fdProcessInfo->hProcess, (DWORD64)addr, &dwDisplacement, &line) && !dwDisplacement)
|
||||
{
|
||||
char filename[deflen] = "";
|
||||
strcpy_s(filename, line.FileName);
|
||||
int len = (int)strlen(filename);
|
||||
while(filename[len] != '\\' and len != 0)
|
||||
while(filename[len] != '\\' && len != 0)
|
||||
len--;
|
||||
if(len)
|
||||
len++;
|
||||
|
@ -208,7 +208,7 @@ extern "C" DLL_EXPORT bool _dbg_addrinfoget(duint addr, SEGMENTREG segment, ADDR
|
|||
|
||||
if(instr.arg[i].constant == instr.arg[i].value) //avoid: call <module.label> ; 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 || !disasmgetstringat(instr.arg[i].constant, &strtype, ascii, unicode, len_left) || strtype == str_none)
|
||||
continue;
|
||||
switch(strtype)
|
||||
{
|
||||
|
@ -228,7 +228,7 @@ extern "C" DLL_EXPORT bool _dbg_addrinfoget(duint addr, SEGMENTREG segment, ADDR
|
|||
break;
|
||||
}
|
||||
}
|
||||
else if(instr.arg[i].memvalue and (disasmgetstringat(instr.arg[i].memvalue, &strtype, ascii, unicode, len_left) or _dbg_addrinfoget(instr.arg[i].memvalue, instr.arg[i].segment, &newinfo)))
|
||||
else if(instr.arg[i].memvalue && (disasmgetstringat(instr.arg[i].memvalue, &strtype, ascii, unicode, len_left) || _dbg_addrinfoget(instr.arg[i].memvalue, instr.arg[i].segment, &newinfo)))
|
||||
{
|
||||
switch(strtype)
|
||||
{
|
||||
|
@ -255,7 +255,7 @@ extern "C" DLL_EXPORT bool _dbg_addrinfoget(duint addr, SEGMENTREG segment, ADDR
|
|||
break;
|
||||
}
|
||||
}
|
||||
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)))
|
||||
else if(instr.arg[i].value && (disasmgetstringat(instr.arg[i].value, &strtype, ascii, unicode, len_left) || _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;
|
||||
|
@ -333,7 +333,7 @@ extern "C" DLL_EXPORT int _dbg_bpgettypeat(duint addr)
|
|||
static int cacheBpCount;
|
||||
static int cacheResult;
|
||||
int bpcount = BpGetList(nullptr);
|
||||
if(cacheAddr != addr or cacheBpCount != bpcount)
|
||||
if(cacheAddr != addr || cacheBpCount != bpcount)
|
||||
{
|
||||
BREAKPOINT bp;
|
||||
cacheAddr = addr;
|
||||
|
@ -792,7 +792,7 @@ extern "C" DLL_EXPORT uint _dbg_sendmessage(DBGMSG type, void* param1, void* par
|
|||
|
||||
case DBG_DISASM_FAST_AT:
|
||||
{
|
||||
if(!param1 or !param2)
|
||||
if(!param1 || !param2)
|
||||
return 0;
|
||||
BASIC_INSTRUCTION_INFO* basicinfo = (BASIC_INSTRUCTION_INFO*)param2;
|
||||
if(!disasmfast((uint)param1, basicinfo))
|
||||
|
|
|
@ -136,7 +136,7 @@ void setalloctrace(const char* file)
|
|||
bool arraycontains(const char* cmd_list, const char* cmd)
|
||||
{
|
||||
//TODO: fix this function a little
|
||||
if(!cmd_list or !cmd)
|
||||
if(!cmd_list || !cmd)
|
||||
return false;
|
||||
char temp[deflen] = "";
|
||||
strcpy_s(temp, cmd_list);
|
||||
|
|
|
@ -30,11 +30,6 @@
|
|||
#include "stringutils.h"
|
||||
#include "dbghelp_safe.h"
|
||||
|
||||
#ifndef __GNUC__
|
||||
#define and &&
|
||||
#define or ||
|
||||
#endif
|
||||
|
||||
#ifndef DLL_EXPORT
|
||||
#define DLL_EXPORT __declspec(dllexport)
|
||||
#endif //DLL_IMPORT
|
||||
|
|
|
@ -166,7 +166,7 @@ bool apienumexports(uint base, EXPORTENUMCALLBACK cbEnum)
|
|||
memset(&export_dir, 0, sizeof(export_dir));
|
||||
MemRead((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
|
||||
if(!export_dir.NumberOfFunctions || !NumberOfNames) //no named exports
|
||||
return false;
|
||||
char modname[MAX_MODULE_SIZE] = "";
|
||||
ModNameFromAddr(base, modname, true);
|
||||
|
@ -190,14 +190,14 @@ bool apienumexports(uint base, EXPORTENUMCALLBACK cbEnum)
|
|||
DWORD curFunctionRva = 0;
|
||||
MemRead(AddrOfFunctions_va + sizeof(DWORD)*curAddrOfNameOrdinals, &curFunctionRva, sizeof(DWORD), 0);
|
||||
|
||||
if(curFunctionRva >= export_dir_rva and curFunctionRva < export_dir_rva + export_dir_size)
|
||||
if(curFunctionRva >= export_dir_rva && curFunctionRva < export_dir_rva + export_dir_size)
|
||||
{
|
||||
char forwarded_api[deflen] = "";
|
||||
memset(forwarded_api, 0, deflen);
|
||||
MemRead((void*)(curFunctionRva + base), forwarded_api, deflen, 0);
|
||||
int len = (int)strlen(forwarded_api);
|
||||
int j = 0;
|
||||
while(forwarded_api[j] != '.' and j < len)
|
||||
while(forwarded_api[j] != '.' && j < len)
|
||||
j++;
|
||||
if(forwarded_api[j] == '.')
|
||||
{
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
static bool cbUnknown(const char* text, ULONGLONG* value)
|
||||
{
|
||||
if(!text or !value)
|
||||
if(!text || !value)
|
||||
return false;
|
||||
uint val;
|
||||
if(!valfromstring(text, &val))
|
||||
|
|
|
@ -75,7 +75,7 @@ void cmdfree(COMMAND* cmd_list)
|
|||
*/
|
||||
bool cmdnew(COMMAND* command_list, const char* name, CBCOMMAND cbCommand, bool debugonly)
|
||||
{
|
||||
if(!command_list or !cbCommand or !name or !*name or cmdfind(command_list, name, 0))
|
||||
if(!command_list || !cbCommand || !name || !*name || cmdfind(command_list, name, 0))
|
||||
return false;
|
||||
COMMAND* cmd;
|
||||
bool nonext = false;
|
||||
|
@ -113,7 +113,7 @@ COMMAND* cmdget(COMMAND* command_list, const char* cmd)
|
|||
strcpy_s(new_cmd, deflen, cmd);
|
||||
int len = (int)strlen(new_cmd);
|
||||
int start = 0;
|
||||
while(new_cmd[start] != ' ' and start < len)
|
||||
while(new_cmd[start] != ' ' && start < len)
|
||||
start++;
|
||||
new_cmd[start] = 0;
|
||||
COMMAND* found = cmdfind(command_list, new_cmd, 0);
|
||||
|
@ -195,7 +195,7 @@ error_is_fatal: error return of a command callback stops the command proce
|
|||
*/
|
||||
CMDRESULT cmdloop(COMMAND* command_list, CBCOMMAND cbUnknownCommand, CBCOMMANDPROVIDER cbCommandProvider, CBCOMMANDFINDER cbCommandFinder, bool error_is_fatal)
|
||||
{
|
||||
if(!cbUnknownCommand or !cbCommandProvider)
|
||||
if(!cbUnknownCommand || !cbCommandProvider)
|
||||
return STATUS_ERROR;
|
||||
char command[deflen] = "";
|
||||
bool bLoop = true;
|
||||
|
@ -212,17 +212,17 @@ CMDRESULT cmdloop(COMMAND* command_list, CBCOMMAND cbUnknownCommand, CBCOMMANDPR
|
|||
else //'dirty' command processing
|
||||
cmd = cbCommandFinder(command_list, command);
|
||||
|
||||
if(!cmd or !cmd->cbCommand) //unknown command
|
||||
if(!cmd || !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)
|
||||
if((error_is_fatal && res == STATUS_ERROR) || res == STATUS_EXIT)
|
||||
bLoop = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(cmd->debugonly and !DbgIsDebugging())
|
||||
if(cmd->debugonly && !DbgIsDebugging())
|
||||
{
|
||||
dputs("this command is debug-only");
|
||||
if(error_is_fatal)
|
||||
|
@ -244,7 +244,7 @@ CMDRESULT cmdloop(COMMAND* command_list, CBCOMMAND cbUnknownCommand, CBCOMMANDPR
|
|||
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)
|
||||
if((error_is_fatal && res == STATUS_ERROR) || res == STATUS_EXIT)
|
||||
bLoop = false;
|
||||
}
|
||||
}
|
||||
|
@ -319,7 +319,7 @@ static void specialformat(char* string)
|
|||
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--
|
||||
if((found[flen - 1] == '+' && found[flen - 2] == '+') || (found[flen - 1] == '-' && found[flen - 2] == '-')) //eax++/eax--
|
||||
{
|
||||
found[flen - 2] = 0;
|
||||
char op = found[flen - 1];
|
||||
|
@ -344,7 +344,7 @@ 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] == '+' && string[len - 2] == '+') || (string[len - 1] == '-' && string[len - 2] == '-')) //eax++/eax--
|
||||
{
|
||||
string[len - 2] = 0;
|
||||
char op = string[len - 1];
|
||||
|
@ -387,14 +387,14 @@ COMMAND* cmdfindmain(COMMAND* cmd_list, char* command)
|
|||
*/
|
||||
CMDRESULT cmddirectexec(COMMAND* cmd_list, const char* cmd)
|
||||
{
|
||||
if(!cmd or !strlen(cmd))
|
||||
if(!cmd || !strlen(cmd))
|
||||
return STATUS_ERROR;
|
||||
char command[deflen] = "";
|
||||
strcpy_s(command, StringUtils::Trim(cmd).c_str());
|
||||
COMMAND* found = cmdfindmain(cmd_list, command);
|
||||
if(!found or !found->cbCommand)
|
||||
if(!found || !found->cbCommand)
|
||||
return STATUS_ERROR;
|
||||
if(found->debugonly and !DbgIsDebugging())
|
||||
if(found->debugonly && !DbgIsDebugging())
|
||||
return STATUS_ERROR;
|
||||
Command cmdParsed(command);
|
||||
int argcount = cmdParsed.GetArgCount();
|
||||
|
|
|
@ -207,7 +207,7 @@ void cbUserBreakpoint()
|
|||
BRIDGEBP pluginBp;
|
||||
PLUG_CB_BREAKPOINT bpInfo;
|
||||
bpInfo.breakpoint = 0;
|
||||
if(!BpGet(GetContextDataEx(hActiveThread, UE_CIP), BPNORMAL, 0, &bp) and bp.enabled)
|
||||
if(!BpGet(GetContextDataEx(hActiveThread, UE_CIP), BPNORMAL, 0, &bp) && bp.enabled)
|
||||
dputs("Breakpoint reached not in list!");
|
||||
else
|
||||
{
|
||||
|
@ -438,7 +438,7 @@ static BOOL CALLBACK SymRegisterCallbackProc64(HANDLE hProcess, ULONG ActionCode
|
|||
suspress = true;
|
||||
zerobar = true;
|
||||
}
|
||||
else if(sscanf(text, "%*s %d percent", &percent) == 1 or sscanf(text, "%d percent", &percent) == 1)
|
||||
else if(sscanf(text, "%*s %d percent", &percent) == 1 || sscanf(text, "%d percent", &percent) == 1)
|
||||
{
|
||||
GuiSymbolSetProgress(percent);
|
||||
suspress = true;
|
||||
|
@ -576,7 +576,7 @@ static unsigned char getCIPch()
|
|||
void cbRtrStep()
|
||||
{
|
||||
unsigned int cipch = getCIPch();
|
||||
if(cipch == 0xC3 or cipch == 0xC2)
|
||||
if(cipch == 0xC3 || cipch == 0xC2)
|
||||
cbRtrFinalStep();
|
||||
else
|
||||
StepOver((void*)cbRtrStep);
|
||||
|
@ -648,7 +648,7 @@ static void cbCreateProcess(CREATE_PROCESS_DEBUG_INFO* CreateProcessInfo)
|
|||
BpEnumAll(cbSetModuleBreakpoints, modname);
|
||||
GuiUpdateBreakpointsView();
|
||||
pCreateProcessBase = (uint)CreateProcessInfo->lpBaseOfImage;
|
||||
if(!bFileIsDll and !bIsAttached) //Set entry breakpoint
|
||||
if(!bFileIsDll && !bIsAttached) //Set entry breakpoint
|
||||
{
|
||||
pDebuggedBase = pCreateProcessBase; //debugged base = executable
|
||||
char command[256] = "";
|
||||
|
@ -842,7 +842,7 @@ static void cbLoadDll(LOAD_DLL_DEBUG_INFO* LoadDll)
|
|||
|
||||
char command[256] = "";
|
||||
bool bIsDebuggingThis = false;
|
||||
if(bFileIsDll and !_stricmp(DLLDebugFileName, szFileName) and !bIsAttached) //Set entry breakpoint
|
||||
if(bFileIsDll && !_stricmp(DLLDebugFileName, szFileName) && !bIsAttached) //Set entry breakpoint
|
||||
{
|
||||
bIsDebuggingThis = true;
|
||||
pDebuggedBase = (uint)base;
|
||||
|
@ -1044,7 +1044,7 @@ static void cbException(EXCEPTION_DEBUG_INFO* ExceptionData)
|
|||
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.dwType == 0x1000 && nameInfo.dwFlags == 0 && ThreadIsValid(nameInfo.dwThreadID)) //passed basic checks
|
||||
{
|
||||
Memory<char*> ThreadName(MAX_THREAD_NAME_SIZE, "cbException:ThreadName");
|
||||
if(MemRead((void*)nameInfo.szName, ThreadName, MAX_THREAD_NAME_SIZE - 1, 0))
|
||||
|
@ -1118,14 +1118,14 @@ DWORD WINAPI threadDebugLoop(void* lpParameter)
|
|||
return 0;
|
||||
}
|
||||
BOOL wow64 = false, mewow64 = false;
|
||||
if(!IsWow64Process(fdProcessInfo->hProcess, &wow64) or !IsWow64Process(GetCurrentProcess(), &mewow64))
|
||||
if(!IsWow64Process(fdProcessInfo->hProcess, &wow64) || !IsWow64Process(GetCurrentProcess(), &mewow64))
|
||||
{
|
||||
dputs("IsWow64Process failed!");
|
||||
StopDebug();
|
||||
unlock(WAITID_STOP);
|
||||
return 0;
|
||||
}
|
||||
if((mewow64 and !wow64) or (!mewow64 and wow64))
|
||||
if((mewow64 && !wow64) || (!mewow64 && wow64))
|
||||
{
|
||||
#ifdef _WIN64
|
||||
dputs("Use x32dbg to debug this process!");
|
||||
|
@ -1156,7 +1156,7 @@ DWORD WINAPI threadDebugLoop(void* lpParameter)
|
|||
//set GUI title
|
||||
strcpy_s(szBaseFileName, szFileName);
|
||||
int len = (int)strlen(szBaseFileName);
|
||||
while(szBaseFileName[len] != '\\' and len)
|
||||
while(szBaseFileName[len] != '\\' && len)
|
||||
len--;
|
||||
if(len)
|
||||
strcpy_s(szBaseFileName, szBaseFileName + len + 1);
|
||||
|
@ -1198,7 +1198,7 @@ bool cbDeleteAllBreakpoints(const BREAKPOINT* bp)
|
|||
dprintf("Delete breakpoint failed (BpDelete): "fhex"\n", bp->addr);
|
||||
return false;
|
||||
}
|
||||
if(!bp->enabled or DeleteBPX(bp->addr))
|
||||
if(!bp->enabled || DeleteBPX(bp->addr))
|
||||
return true;
|
||||
dprintf("Delete breakpoint failed (DeleteBPX): "fhex"\n", bp->addr);
|
||||
return false;
|
||||
|
@ -1206,7 +1206,7 @@ bool cbDeleteAllBreakpoints(const BREAKPOINT* bp)
|
|||
|
||||
bool cbEnableAllBreakpoints(const BREAKPOINT* bp)
|
||||
{
|
||||
if(bp->type != BPNORMAL or bp->enabled)
|
||||
if(bp->type != BPNORMAL || bp->enabled)
|
||||
return true;
|
||||
|
||||
if(!BpEnable(bp->addr, BPNORMAL, true))
|
||||
|
@ -1224,7 +1224,7 @@ bool cbEnableAllBreakpoints(const BREAKPOINT* bp)
|
|||
|
||||
bool cbDisableAllBreakpoints(const BREAKPOINT* bp)
|
||||
{
|
||||
if(bp->type != BPNORMAL or !bp->enabled)
|
||||
if(bp->type != BPNORMAL || !bp->enabled)
|
||||
return true;
|
||||
|
||||
if(!BpEnable(bp->addr, BPNORMAL, false))
|
||||
|
@ -1242,7 +1242,7 @@ bool cbDisableAllBreakpoints(const BREAKPOINT* bp)
|
|||
|
||||
bool cbEnableAllHardwareBreakpoints(const BREAKPOINT* bp)
|
||||
{
|
||||
if(bp->type != BPHARDWARE or bp->enabled)
|
||||
if(bp->type != BPHARDWARE || bp->enabled)
|
||||
return true;
|
||||
DWORD drx = 0;
|
||||
if(!GetUnusedHardwareBreakPointRegister(&drx))
|
||||
|
@ -1268,7 +1268,7 @@ bool cbEnableAllHardwareBreakpoints(const BREAKPOINT* bp)
|
|||
|
||||
bool cbDisableAllHardwareBreakpoints(const BREAKPOINT* bp)
|
||||
{
|
||||
if(bp->type != BPHARDWARE or !bp->enabled)
|
||||
if(bp->type != BPHARDWARE || !bp->enabled)
|
||||
return true;
|
||||
if(!BpEnable(bp->addr, BPHARDWARE, false))
|
||||
{
|
||||
|
@ -1285,7 +1285,7 @@ bool cbDisableAllHardwareBreakpoints(const BREAKPOINT* bp)
|
|||
|
||||
bool cbEnableAllMemoryBreakpoints(const BREAKPOINT* bp)
|
||||
{
|
||||
if(bp->type != BPMEMORY or bp->enabled)
|
||||
if(bp->type != BPMEMORY || bp->enabled)
|
||||
return true;
|
||||
uint size = 0;
|
||||
MemFindBaseAddr(bp->addr, &size);
|
||||
|
@ -1304,7 +1304,7 @@ bool cbEnableAllMemoryBreakpoints(const BREAKPOINT* bp)
|
|||
|
||||
bool cbDisableAllMemoryBreakpoints(const BREAKPOINT* bp)
|
||||
{
|
||||
if(bp->type != BPMEMORY or !bp->enabled)
|
||||
if(bp->type != BPMEMORY || !bp->enabled)
|
||||
return true;
|
||||
if(!BpEnable(bp->addr, BPMEMORY, false))
|
||||
{
|
||||
|
@ -1417,7 +1417,7 @@ DWORD WINAPI threadAttachLoop(void* lpParameter)
|
|||
//set GUI title
|
||||
strcpy_s(szBaseFileName, szFileName);
|
||||
int len = (int)strlen(szBaseFileName);
|
||||
while(szBaseFileName[len] != '\\' and len)
|
||||
while(szBaseFileName[len] != '\\' && len)
|
||||
len--;
|
||||
if(len)
|
||||
strcpy_s(szBaseFileName, szBaseFileName + len + 1);
|
||||
|
@ -1790,9 +1790,9 @@ bool dbglistprocesses(std::vector<PROCESSENTRY32>* list)
|
|||
if(!hProcess)
|
||||
continue;
|
||||
BOOL wow64 = false, mewow64 = false;
|
||||
if(!IsWow64Process(hProcess, &wow64) or !IsWow64Process(GetCurrentProcess(), &mewow64))
|
||||
if(!IsWow64Process(hProcess, &wow64) || !IsWow64Process(GetCurrentProcess(), &mewow64))
|
||||
continue;
|
||||
if((mewow64 and !wow64) or (!mewow64 and wow64))
|
||||
if((mewow64 && !wow64) || (!mewow64 && wow64))
|
||||
continue;
|
||||
wchar_t szExePath[MAX_PATH] = L"";
|
||||
if(GetModuleFileNameExW(hProcess, 0, szExePath, MAX_PATH))
|
||||
|
|
|
@ -91,7 +91,7 @@ CMDRESULT cbDebugInit(int argc, char* argv[])
|
|||
static char currentfolder[deflen] = "";
|
||||
strcpy_s(currentfolder, arg1);
|
||||
int len = (int)strlen(currentfolder);
|
||||
while(currentfolder[len] != '\\' and len != 0)
|
||||
while(currentfolder[len] != '\\' && len != 0)
|
||||
len--;
|
||||
currentfolder[len] = 0;
|
||||
|
||||
|
@ -197,7 +197,7 @@ CMDRESULT cbDebugSetBPX(int argc, char* argv[]) //bp addr [,name [,type]]
|
|||
bool has_arg2 = argc > 3;
|
||||
if(has_arg2)
|
||||
strcpy_s(argtype, argv[3]);
|
||||
if(!has_arg2 and (scmp(argname, "ss") or scmp(argname, "long") or scmp(argname, "ud2")))
|
||||
if(!has_arg2 && (scmp(argname, "ss") || scmp(argname, "long") || scmp(argname, "ud2")))
|
||||
{
|
||||
strcpy_s(argtype, argname);
|
||||
*argname = 0;
|
||||
|
@ -293,7 +293,7 @@ CMDRESULT cbDebugDeleteBPX(int argc, char* argv[])
|
|||
return STATUS_CONTINUE;
|
||||
}
|
||||
uint addr = 0;
|
||||
if(!valfromstring(argv[1], &addr) or !BpGet(addr, BPNORMAL, 0, &found)) //invalid breakpoint
|
||||
if(!valfromstring(argv[1], &addr) || !BpGet(addr, BPNORMAL, 0, &found)) //invalid breakpoint
|
||||
{
|
||||
dprintf("No such breakpoint \"%s\"\n", argv[1]);
|
||||
return STATUS_ERROR;
|
||||
|
@ -346,7 +346,7 @@ CMDRESULT cbDebugEnableBPX(int argc, char* argv[])
|
|||
return STATUS_CONTINUE;
|
||||
}
|
||||
uint addr = 0;
|
||||
if(!valfromstring(argv[1], &addr) or !BpGet(addr, BPNORMAL, 0, &found)) //invalid breakpoint
|
||||
if(!valfromstring(argv[1], &addr) || !BpGet(addr, BPNORMAL, 0, &found)) //invalid breakpoint
|
||||
{
|
||||
dprintf("No such breakpoint \"%s\"\n", argv[1]);
|
||||
return STATUS_ERROR;
|
||||
|
@ -404,7 +404,7 @@ CMDRESULT cbDebugDisableBPX(int argc, char* argv[])
|
|||
return STATUS_CONTINUE;
|
||||
}
|
||||
uint addr = 0;
|
||||
if(!valfromstring(argv[1], &addr) or !BpGet(addr, BPNORMAL, 0, &found)) //invalid breakpoint
|
||||
if(!valfromstring(argv[1], &addr) || !BpGet(addr, BPNORMAL, 0, &found)) //invalid breakpoint
|
||||
{
|
||||
dprintf("No such breakpoint \"%s\"\n", argv[1]);
|
||||
return STATUS_ERROR;
|
||||
|
@ -605,7 +605,7 @@ CMDRESULT cbDebugDeleteMemoryBreakpoint(int argc, char* argv[])
|
|||
return STATUS_CONTINUE;
|
||||
}
|
||||
uint addr = 0;
|
||||
if(!valfromstring(argv[1], &addr) or !BpGet(addr, BPMEMORY, 0, &found)) //invalid breakpoint
|
||||
if(!valfromstring(argv[1], &addr) || !BpGet(addr, BPMEMORY, 0, &found)) //invalid breakpoint
|
||||
{
|
||||
dprintf("No such memory breakpoint \"%s\"\n", argv[1]);
|
||||
return STATUS_ERROR;
|
||||
|
@ -763,7 +763,7 @@ CMDRESULT cbDebugDeleteHardwareBreakpoint(int argc, char* argv[])
|
|||
return STATUS_CONTINUE;
|
||||
}
|
||||
uint addr = 0;
|
||||
if(!valfromstring(argv[1], &addr) or !BpGet(addr, BPHARDWARE, 0, &found)) //invalid breakpoint
|
||||
if(!valfromstring(argv[1], &addr) || !BpGet(addr, BPHARDWARE, 0, &found)) //invalid breakpoint
|
||||
{
|
||||
dprintf("No such hardware breakpoint \"%s\"\n", argv[1]);
|
||||
return STATUS_ERROR;
|
||||
|
@ -844,7 +844,7 @@ CMDRESULT cbDebugMemset(int argc, char* argv[])
|
|||
dputs("Not enough arguments");
|
||||
return STATUS_ERROR;
|
||||
}
|
||||
if(!valfromstring(argv[1], &addr, false) or !valfromstring(argv[2], &value, false))
|
||||
if(!valfromstring(argv[1], &addr, false) || !valfromstring(argv[2], &value, false))
|
||||
return STATUS_ERROR;
|
||||
if(argc > 3)
|
||||
{
|
||||
|
@ -980,12 +980,12 @@ CMDRESULT cbDebugAttach(int argc, char* argv[])
|
|||
return STATUS_ERROR;
|
||||
}
|
||||
BOOL wow64 = false, mewow64 = false;
|
||||
if(!IsWow64Process(hProcess, &wow64) or !IsWow64Process(GetCurrentProcess(), &mewow64))
|
||||
if(!IsWow64Process(hProcess, &wow64) || !IsWow64Process(GetCurrentProcess(), &mewow64))
|
||||
{
|
||||
dputs("IsWow64Process failed!");
|
||||
return STATUS_ERROR;
|
||||
}
|
||||
if((mewow64 and !wow64) or (!mewow64 and wow64))
|
||||
if((mewow64 && !wow64) || (!mewow64 && wow64))
|
||||
{
|
||||
#ifdef _WIN64
|
||||
dputs("Use x32dbg to debug this process!");
|
||||
|
@ -1303,7 +1303,7 @@ CMDRESULT cbDebugEnableHardwareBreakpoint(int argc, char* argv[])
|
|||
}
|
||||
BREAKPOINT found;
|
||||
uint addr = 0;
|
||||
if(!valfromstring(argv[1], &addr) or !BpGet(addr, BPHARDWARE, 0, &found)) //invalid hardware breakpoint
|
||||
if(!valfromstring(argv[1], &addr) || !BpGet(addr, BPHARDWARE, 0, &found)) //invalid hardware breakpoint
|
||||
{
|
||||
dprintf("No such hardware breakpoint \"%s\"\n", argv[1]);
|
||||
return STATUS_ERROR;
|
||||
|
@ -1316,7 +1316,7 @@ CMDRESULT cbDebugEnableHardwareBreakpoint(int argc, char* argv[])
|
|||
}
|
||||
TITANSETDRX(found.titantype, drx);
|
||||
BpSetTitanType(found.addr, BPHARDWARE, found.titantype);
|
||||
if(!BpEnable(found.addr, BPHARDWARE, true) or !SetHardwareBreakPoint(found.addr, drx, TITANGETTYPE(found.titantype), TITANGETSIZE(found.titantype), (void*)cbHardwareBreakpoint))
|
||||
if(!BpEnable(found.addr, BPHARDWARE, true) || !SetHardwareBreakPoint(found.addr, drx, TITANGETTYPE(found.titantype), TITANGETSIZE(found.titantype), (void*)cbHardwareBreakpoint))
|
||||
{
|
||||
dprintf("Could not enable hardware breakpoint "fhex"\n", found.addr);
|
||||
return STATUS_ERROR;
|
||||
|
@ -1343,7 +1343,7 @@ CMDRESULT cbDebugDisableHardwareBreakpoint(int argc, char* argv[])
|
|||
}
|
||||
BREAKPOINT found;
|
||||
uint addr = 0;
|
||||
if(!valfromstring(argv[1], &addr) or !BpGet(addr, BPHARDWARE, 0, &found)) //invalid hardware breakpoint
|
||||
if(!valfromstring(argv[1], &addr) || !BpGet(addr, BPHARDWARE, 0, &found)) //invalid hardware breakpoint
|
||||
{
|
||||
dprintf("No such hardware breakpoint \"%s\"\n", argv[1]);
|
||||
return STATUS_ERROR;
|
||||
|
@ -1353,7 +1353,7 @@ CMDRESULT cbDebugDisableHardwareBreakpoint(int argc, char* argv[])
|
|||
dputs("Hardware breakpoint already disabled!");
|
||||
return STATUS_CONTINUE;
|
||||
}
|
||||
if(!BpEnable(found.addr, BPHARDWARE, false) or !DeleteHardwareBreakPoint(TITANGETDRX(found.titantype)))
|
||||
if(!BpEnable(found.addr, BPHARDWARE, false) || !DeleteHardwareBreakPoint(TITANGETDRX(found.titantype)))
|
||||
{
|
||||
dprintf("Could not disable hardware breakpoint "fhex"\n", found.addr);
|
||||
return STATUS_ERROR;
|
||||
|
@ -1380,7 +1380,7 @@ CMDRESULT cbDebugEnableMemoryBreakpoint(int argc, char* argv[])
|
|||
}
|
||||
BREAKPOINT found;
|
||||
uint addr = 0;
|
||||
if(!valfromstring(argv[1], &addr) or !BpGet(addr, BPMEMORY, 0, &found)) //invalid memory breakpoint
|
||||
if(!valfromstring(argv[1], &addr) || !BpGet(addr, BPMEMORY, 0, &found)) //invalid memory breakpoint
|
||||
{
|
||||
dprintf("No such memory breakpoint \"%s\"\n", argv[1]);
|
||||
return STATUS_ERROR;
|
||||
|
@ -1393,7 +1393,7 @@ CMDRESULT cbDebugEnableMemoryBreakpoint(int argc, char* argv[])
|
|||
}
|
||||
uint size = 0;
|
||||
MemFindBaseAddr(found.addr, &size);
|
||||
if(!BpEnable(found.addr, BPMEMORY, true) or !SetMemoryBPXEx(found.addr, size, found.titantype, !found.singleshoot, (void*)cbMemoryBreakpoint))
|
||||
if(!BpEnable(found.addr, BPMEMORY, true) || !SetMemoryBPXEx(found.addr, size, found.titantype, !found.singleshoot, (void*)cbMemoryBreakpoint))
|
||||
{
|
||||
dprintf("Could not enable memory breakpoint "fhex"\n", found.addr);
|
||||
return STATUS_ERROR;
|
||||
|
@ -1420,7 +1420,7 @@ CMDRESULT cbDebugDisableMemoryBreakpoint(int argc, char* argv[])
|
|||
}
|
||||
BREAKPOINT found;
|
||||
uint addr = 0;
|
||||
if(!valfromstring(argv[1], &addr) or !BpGet(addr, BPMEMORY, 0, &found)) //invalid memory breakpoint
|
||||
if(!valfromstring(argv[1], &addr) || !BpGet(addr, BPMEMORY, 0, &found)) //invalid memory breakpoint
|
||||
{
|
||||
dprintf("No such memory breakpoint \"%s\"\n", argv[1]);
|
||||
return STATUS_ERROR;
|
||||
|
@ -1432,7 +1432,7 @@ CMDRESULT cbDebugDisableMemoryBreakpoint(int argc, char* argv[])
|
|||
}
|
||||
uint size = 0;
|
||||
MemFindBaseAddr(found.addr, &size);
|
||||
if(!BpEnable(found.addr, BPMEMORY, false) or !RemoveMemoryBPX(found.addr, size))
|
||||
if(!BpEnable(found.addr, BPMEMORY, false) || !RemoveMemoryBPX(found.addr, size))
|
||||
{
|
||||
dprintf("Could not disable memory breakpoint "fhex"\n", found.addr);
|
||||
return STATUS_ERROR;
|
||||
|
|
|
@ -88,7 +88,7 @@ void fillbasicinfo(Capstone* cp, BASIC_INSTRUCTION_INFO* basicinfo)
|
|||
|
||||
bool disasmfast(unsigned char* data, uint addr, BASIC_INSTRUCTION_INFO* basicinfo)
|
||||
{
|
||||
if(!data or !basicinfo)
|
||||
if(!data || !basicinfo)
|
||||
return false;
|
||||
Capstone cp;
|
||||
if(!cp.Disassemble(addr, data, MAX_DISASM_BUFFER))
|
||||
|
|
|
@ -248,10 +248,10 @@ static bool isasciistring(const unsigned char* data, int maxlen)
|
|||
break;
|
||||
}
|
||||
|
||||
if(len < 2 or len + 1 >= maxlen)
|
||||
if(len < 2 || len + 1 >= maxlen)
|
||||
return false;
|
||||
for(int i = 0; i < len; i++)
|
||||
if(!isprint(data[i]) and !isspace(data[i]))
|
||||
if(!isprint(data[i]) && !isspace(data[i]))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
@ -265,13 +265,13 @@ static bool isunicodestring(const unsigned char* data, int maxlen)
|
|||
break;
|
||||
}
|
||||
|
||||
if(len < 2 or len + 1 >= maxlen)
|
||||
if(len < 2 || len + 1 >= maxlen)
|
||||
return false;
|
||||
for(int i = 0; i < len * 2; i += 2)
|
||||
{
|
||||
if(data[i + 1]) //Extended ASCII only
|
||||
return false;
|
||||
if(!isprint(data[i]) and !isspace(data[i]))
|
||||
if(!isprint(data[i]) && !isspace(data[i]))
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
@ -285,7 +285,7 @@ bool disasmispossiblestring(uint addr)
|
|||
return false;
|
||||
uint test = 0;
|
||||
memcpy(&test, data, sizeof(uint));
|
||||
if(isasciistring(data, sizeof(data)) or isunicodestring(data, _countof(data)))
|
||||
if(isasciistring(data, sizeof(data)) || isunicodestring(data, _countof(data)))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ CMDRESULT cbBadCmd(int argc, char* argv[])
|
|||
char format_str[deflen] = "";
|
||||
if(isvar)// and *cmd!='.' and *cmd!='x') //prevent stupid 0=0 stuff
|
||||
{
|
||||
if(value > 15 and !hexonly)
|
||||
if(value > 15 && !hexonly)
|
||||
{
|
||||
if(!valuesignedcalc()) //signed numbers
|
||||
sprintf(format_str, "%%s=%%.%d"fext"X (%%"fext"ud)\n", valsize);
|
||||
|
@ -63,7 +63,7 @@ CMDRESULT cbBadCmd(int argc, char* argv[])
|
|||
}
|
||||
else
|
||||
{
|
||||
if(value > 15 and !hexonly)
|
||||
if(value > 15 && !hexonly)
|
||||
{
|
||||
if(!valuesignedcalc()) //signed numbers
|
||||
sprintf(format_str, "%%s=%%.%d"fext"X (%%"fext"ud)\n", valsize);
|
||||
|
@ -207,7 +207,7 @@ CMDRESULT cbInstrMov(int argc, char* argv[])
|
|||
valfromstring(argv[1], &temp, true, false, 0, &isvar, 0);
|
||||
if(!isvar)
|
||||
isvar = vargettype(argv[1], 0);
|
||||
if(!isvar or !valtostring(argv[1], set_value, true))
|
||||
if(!isvar || !valtostring(argv[1], set_value, true))
|
||||
{
|
||||
uint value;
|
||||
if(valfromstring(argv[1], &value)) //if the var is a value already it's an invalid destination
|
||||
|
@ -464,7 +464,7 @@ CMDRESULT cbInstrFunctionAdd(int argc, char* argv[])
|
|||
}
|
||||
uint start = 0;
|
||||
uint end = 0;
|
||||
if(!valfromstring(argv[1], &start, false) or !valfromstring(argv[2], &end, false))
|
||||
if(!valfromstring(argv[1], &start, false) || !valfromstring(argv[2], &end, false))
|
||||
return STATUS_ERROR;
|
||||
if(!FunctionAdd(start, end, true))
|
||||
{
|
||||
|
@ -887,10 +887,10 @@ CMDRESULT cbInstrRefFindRange(int argc, char* argv[])
|
|||
VALUERANGE range;
|
||||
if(!valfromstring(argv[1], &range.start, false))
|
||||
return STATUS_ERROR;
|
||||
if(argc < 3 or !valfromstring(argv[2], &range.end, false))
|
||||
if(argc < 3 || !valfromstring(argv[2], &range.end, false))
|
||||
range.end = range.start;
|
||||
uint addr = 0;
|
||||
if(argc < 4 or !valfromstring(argv[3], &addr))
|
||||
if(argc < 4 || !valfromstring(argv[3], &addr))
|
||||
addr = GetContextDataEx(hActiveThread, UE_CIP);
|
||||
uint size = 0;
|
||||
if(argc >= 5)
|
||||
|
@ -932,7 +932,7 @@ bool cbRefStr(Capstone* disasm, BASIC_INSTRUCTION_INFO* basicinfo, REFINFO* refi
|
|||
}
|
||||
if((basicinfo->type & TYPE_MEMORY) == TYPE_MEMORY)
|
||||
{
|
||||
if(!found and disasmgetstringat(basicinfo->memory.value, &strtype, string, string, 500))
|
||||
if(!found && disasmgetstringat(basicinfo->memory.value, &strtype, string, string, 500))
|
||||
found = true;
|
||||
}
|
||||
if(found)
|
||||
|
@ -959,7 +959,7 @@ bool cbRefStr(Capstone* disasm, BASIC_INSTRUCTION_INFO* basicinfo, REFINFO* refi
|
|||
CMDRESULT cbInstrRefStr(int argc, char* argv[])
|
||||
{
|
||||
uint addr;
|
||||
if(argc < 2 or !valfromstring(argv[1], &addr, true))
|
||||
if(argc < 2 || !valfromstring(argv[1], &addr, true))
|
||||
addr = GetContextDataEx(hActiveThread, UE_CIP);
|
||||
uint size = 0;
|
||||
if(argc >= 3)
|
||||
|
@ -1015,7 +1015,7 @@ CMDRESULT cbInstrGetstr(int argc, char* argv[])
|
|||
return STATUS_ERROR;
|
||||
}
|
||||
int size;
|
||||
if(!varget(argv[1], (char*)0, &size, 0) or !size)
|
||||
if(!varget(argv[1], (char*)0, &size, 0) || !size)
|
||||
{
|
||||
dprintf("failed to get variable size \"%s\"!\n", argv[1]);
|
||||
return STATUS_ERROR;
|
||||
|
@ -1050,7 +1050,7 @@ CMDRESULT cbInstrCopystr(int argc, char* argv[])
|
|||
return STATUS_ERROR;
|
||||
}
|
||||
int size;
|
||||
if(!varget(argv[2], (char*)0, &size, 0) or !size)
|
||||
if(!varget(argv[2], (char*)0, &size, 0) || !size)
|
||||
{
|
||||
dprintf("failed to get variable size \"%s\"!\n", argv[2]);
|
||||
return STATUS_ERROR;
|
||||
|
@ -1276,7 +1276,7 @@ static bool cbModCallFind(Capstone* disasm, BASIC_INSTRUCTION_INFO* basicinfo, R
|
|||
CMDRESULT cbInstrModCallFind(int argc, char* argv[])
|
||||
{
|
||||
uint addr;
|
||||
if(argc < 2 or !valfromstring(argv[1], &addr, true))
|
||||
if(argc < 2 || !valfromstring(argv[1], &addr, true))
|
||||
addr = GetContextDataEx(hActiveThread, UE_CIP);
|
||||
uint size = 0;
|
||||
if(argc >= 3)
|
||||
|
@ -1532,7 +1532,7 @@ CMDRESULT cbInstrFindAsm(int argc, char* argv[])
|
|||
}
|
||||
|
||||
uint addr = 0;
|
||||
if(argc < 3 or !valfromstring(argv[2], &addr))
|
||||
if(argc < 3 || !valfromstring(argv[2], &addr))
|
||||
addr = GetContextDataEx(hActiveThread, UE_CIP);
|
||||
uint size = 0;
|
||||
if(argc >= 4)
|
||||
|
|
|
@ -332,7 +332,7 @@ bool pluginunregistercallback(int pluginHandle, CBTYPE cbType)
|
|||
int pluginCallbackCount = (int)pluginCallbackList.size();
|
||||
for(int i = 0; i < pluginCallbackCount; i++)
|
||||
{
|
||||
if(pluginCallbackList.at(i).pluginHandle == pluginHandle and pluginCallbackList.at(i).cbType == cbType)
|
||||
if(pluginCallbackList.at(i).pluginHandle == pluginHandle && pluginCallbackList.at(i).cbType == cbType)
|
||||
{
|
||||
pluginCallbackList.erase(pluginCallbackList.begin() + i);
|
||||
return true;
|
||||
|
@ -370,7 +370,7 @@ void plugincbcall(CBTYPE cbType, void* callbackInfo)
|
|||
*/
|
||||
bool plugincmdregister(int pluginHandle, const char* command, CBPLUGINCOMMAND cbCommand, bool debugonly)
|
||||
{
|
||||
if(!command or strlen(command) >= deflen or strstr(command, "\1"))
|
||||
if(!command || strlen(command) >= deflen || strstr(command, "\1"))
|
||||
return false;
|
||||
PLUG_COMMAND plugCmd;
|
||||
plugCmd.pluginHandle = pluginHandle;
|
||||
|
@ -390,12 +390,12 @@ 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 || strlen(command) >= deflen || strstr(command, "\1"))
|
||||
return false;
|
||||
int listsize = (int)pluginCommandList.size();
|
||||
for(int i = 0; i < listsize; i++)
|
||||
{
|
||||
if(pluginCommandList.at(i).pluginHandle == pluginHandle and !strcmp(pluginCommandList.at(i).command, command))
|
||||
if(pluginCommandList.at(i).pluginHandle == pluginHandle && !strcmp(pluginCommandList.at(i).command, command))
|
||||
{
|
||||
if(!dbgcmddel(command))
|
||||
return false;
|
||||
|
@ -415,12 +415,12 @@ bool plugincmdunregister(int pluginHandle, const char* command)
|
|||
*/
|
||||
int pluginmenuadd(int hMenu, const char* title)
|
||||
{
|
||||
if(!title or !strlen(title))
|
||||
if(!title || !strlen(title))
|
||||
return -1;
|
||||
int nFound = -1;
|
||||
for(unsigned int i = 0; i < pluginMenuList.size(); i++)
|
||||
{
|
||||
if(pluginMenuList.at(i).hEntryMenu == hMenu and pluginMenuList.at(i).hEntryPlugin == -1)
|
||||
if(pluginMenuList.at(i).hEntryMenu == hMenu && pluginMenuList.at(i).hEntryPlugin == -1)
|
||||
{
|
||||
nFound = i;
|
||||
break;
|
||||
|
@ -446,7 +446,7 @@ int pluginmenuadd(int hMenu, const char* title)
|
|||
*/
|
||||
bool pluginmenuaddentry(int hMenu, int hEntry, const char* title)
|
||||
{
|
||||
if(!title || !strlen(title) or hEntry == -1)
|
||||
if(!title || !strlen(title) || hEntry == -1)
|
||||
return false;
|
||||
int pluginHandle = -1;
|
||||
//find plugin handle
|
||||
|
@ -485,7 +485,7 @@ bool pluginmenuaddseparator(int hMenu)
|
|||
bool bFound = false;
|
||||
for(unsigned int i = 0; i < pluginMenuList.size(); i++)
|
||||
{
|
||||
if(pluginMenuList.at(i).hEntryMenu == hMenu and pluginMenuList.at(i).hEntryPlugin == -1)
|
||||
if(pluginMenuList.at(i).hEntryMenu == hMenu && pluginMenuList.at(i).hEntryPlugin == -1)
|
||||
{
|
||||
bFound = true;
|
||||
break;
|
||||
|
@ -507,7 +507,7 @@ bool pluginmenuclear(int hMenu)
|
|||
bool bFound = false;
|
||||
for(unsigned int i = 0; i < pluginMenuList.size(); i++)
|
||||
{
|
||||
if(pluginMenuList.at(i).hEntryMenu == hMenu and pluginMenuList.at(i).hEntryPlugin == -1)
|
||||
if(pluginMenuList.at(i).hEntryMenu == hMenu && pluginMenuList.at(i).hEntryPlugin == -1)
|
||||
{
|
||||
bFound = true;
|
||||
break;
|
||||
|
@ -585,7 +585,7 @@ void pluginmenuseticon(int hMenu, const ICONDATA* icon)
|
|||
bool bFound = false;
|
||||
for(unsigned int i = 0; i < pluginMenuList.size(); i++)
|
||||
{
|
||||
if(pluginMenuList.at(i).hEntryMenu == hMenu and pluginMenuList.at(i).hEntryPlugin == -1)
|
||||
if(pluginMenuList.at(i).hEntryMenu == hMenu && pluginMenuList.at(i).hEntryPlugin == -1)
|
||||
{
|
||||
GuiMenuSetIcon(hMenu, icon);
|
||||
break;
|
||||
|
|
|
@ -31,19 +31,19 @@ static SCRIPTBRANCHTYPE scriptgetbranchtype(const char* text)
|
|||
strcpy_s(newtext, StringUtils::Trim(text).c_str());
|
||||
if(!strstr(newtext, " "))
|
||||
strcat(newtext, " ");
|
||||
if(!strncmp(newtext, "jmp ", 4) or !strncmp(newtext, "goto ", 5))
|
||||
if(!strncmp(newtext, "jmp ", 4) || !strncmp(newtext, "goto ", 5))
|
||||
return scriptjmp;
|
||||
else if(!strncmp(newtext, "jbe ", 4) or !strncmp(newtext, "ifbe ", 5) or !strncmp(newtext, "ifbeq ", 6) or !strncmp(newtext, "jle ", 4) or !strncmp(newtext, "ifle ", 5) or !strncmp(newtext, "ifleq ", 6))
|
||||
else if(!strncmp(newtext, "jbe ", 4) || !strncmp(newtext, "ifbe ", 5) || !strncmp(newtext, "ifbeq ", 6) || !strncmp(newtext, "jle ", 4) || !strncmp(newtext, "ifle ", 5) || !strncmp(newtext, "ifleq ", 6))
|
||||
return scriptjbejle;
|
||||
else if(!strncmp(newtext, "jae ", 4) or !strncmp(newtext, "ifae ", 5) or !strncmp(newtext, "ifaeq ", 6) or !strncmp(newtext, "jge ", 4) or !strncmp(newtext, "ifge ", 5) or !strncmp(newtext, "ifgeq ", 6))
|
||||
else if(!strncmp(newtext, "jae ", 4) || !strncmp(newtext, "ifae ", 5) || !strncmp(newtext, "ifaeq ", 6) || !strncmp(newtext, "jge ", 4) || !strncmp(newtext, "ifge ", 5) || !strncmp(newtext, "ifgeq ", 6))
|
||||
return scriptjaejge;
|
||||
else if(!strncmp(newtext, "jne ", 4) or !strncmp(newtext, "ifne ", 5) or !strncmp(newtext, "ifneq ", 6) or !strncmp(newtext, "jnz ", 4) or !strncmp(newtext, "ifnz ", 5))
|
||||
else if(!strncmp(newtext, "jne ", 4) || !strncmp(newtext, "ifne ", 5) || !strncmp(newtext, "ifneq ", 6) || !strncmp(newtext, "jnz ", 4) || !strncmp(newtext, "ifnz ", 5))
|
||||
return scriptjnejnz;
|
||||
else if(!strncmp(newtext, "je ", 3) or !strncmp(newtext, "ife ", 4) or !strncmp(newtext, "ifeq ", 5) or !strncmp(newtext, "jz ", 3) or !strncmp(newtext, "ifz ", 4))
|
||||
else if(!strncmp(newtext, "je ", 3) || !strncmp(newtext, "ife ", 4) || !strncmp(newtext, "ifeq ", 5) || !strncmp(newtext, "jz ", 3) || !strncmp(newtext, "ifz ", 4))
|
||||
return scriptjejz;
|
||||
else if(!strncmp(newtext, "jb ", 3) or !strncmp(newtext, "ifb ", 4) or !strncmp(newtext, "jl ", 3) or !strncmp(newtext, "ifl ", 4))
|
||||
else if(!strncmp(newtext, "jb ", 3) || !strncmp(newtext, "ifb ", 4) || !strncmp(newtext, "jl ", 3) || !strncmp(newtext, "ifl ", 4))
|
||||
return scriptjbjl;
|
||||
else if(!strncmp(newtext, "ja ", 3) or !strncmp(newtext, "ifa ", 4) or !strncmp(newtext, "jg ", 3) or !strncmp(newtext, "ifg ", 4))
|
||||
else if(!strncmp(newtext, "ja ", 3) || !strncmp(newtext, "ifa ", 4) || !strncmp(newtext, "jg ", 3) || !strncmp(newtext, "ifg ", 4))
|
||||
return scriptjajg;
|
||||
else if(!strncmp(newtext, "call ", 5))
|
||||
return scriptcall;
|
||||
|
@ -105,7 +105,7 @@ static bool scriptcreatelinemap(const char* filename)
|
|||
std::vector<LINEMAPENTRY>().swap(linemap);
|
||||
for(int i = 0, j = 0; i < len; i++) //make raw line map
|
||||
{
|
||||
if(filedata[i] == '\r' and filedata[i + 1] == '\n') //windows file
|
||||
if(filedata[i] == '\r' && filedata[i + 1] == '\n') //windows file
|
||||
{
|
||||
memset(&entry, 0, sizeof(entry));
|
||||
int add = 0;
|
||||
|
@ -193,7 +193,7 @@ static bool scriptcreatelinemap(const char* filename)
|
|||
char temp[256] = "";
|
||||
strcpy_s(temp, cur.u.label + 2);
|
||||
strcpy_s(cur.u.label, temp); //remove fake command
|
||||
if(!*cur.u.label or !strcmp(cur.u.label, "\"\"")) //no label text
|
||||
if(!*cur.u.label || !strcmp(cur.u.label, "\"\"")) //no label text
|
||||
{
|
||||
char message[256] = "";
|
||||
sprintf(message, "Empty label detected on line %d!", i + 1);
|
||||
|
@ -255,7 +255,7 @@ static bool scriptcreatelinemap(const char* filename)
|
|||
currentLine.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 || linemap.at(linemapsize - 1).type == linelabel) //label/comment on the end
|
||||
{
|
||||
memset(&entry, 0, sizeof(entry));
|
||||
entry.type = linecommand;
|
||||
|
@ -277,7 +277,7 @@ static bool scriptinternalbpget(int line) //internal bpget routine
|
|||
|
||||
static bool scriptinternalbptoggle(int line) //internal breakpoint
|
||||
{
|
||||
if(!line or line > (int)linemap.size()) //invalid line
|
||||
if(!line || line > (int)linemap.size()) //invalid line
|
||||
return false;
|
||||
line = scriptinternalstep(line - 1); //no breakpoints on non-executable locations
|
||||
if(scriptinternalbpget(line)) //remove breakpoint
|
||||
|
@ -370,19 +370,19 @@ static bool scriptinternalbranch(SCRIPTBRANCHTYPE type) //determine if we should
|
|||
bJump = true;
|
||||
break;
|
||||
case scriptjbjl: //$_BS_FLAG=0 and $_EZ_FLAG=0 //below, not equal
|
||||
if(!bsflag and !ezflag)
|
||||
if(!bsflag && !ezflag)
|
||||
bJump = true;
|
||||
break;
|
||||
case scriptjajg: //$_BS_FLAG=1 and $_EZ_FLAG=0 //above, not equal
|
||||
if(bsflag and !ezflag)
|
||||
if(bsflag && !ezflag)
|
||||
bJump = true;
|
||||
break;
|
||||
case scriptjbejle: //$_BS_FLAG=0 or $_EZ_FLAG=1
|
||||
if(!bsflag or ezflag)
|
||||
if(!bsflag || ezflag)
|
||||
bJump = true;
|
||||
break;
|
||||
case scriptjaejge: //$_BS_FLAG=1 or $_EZ_FLAG=1
|
||||
if(bsflag or ezflag)
|
||||
if(bsflag || ezflag)
|
||||
bJump = true;
|
||||
break;
|
||||
default:
|
||||
|
@ -431,7 +431,7 @@ static bool scriptinternalcmd()
|
|||
static DWORD WINAPI scriptRunThread(void* arg)
|
||||
{
|
||||
int destline = (int)(uint)arg;
|
||||
if(!destline or destline > (int)linemap.size()) //invalid line
|
||||
if(!destline || destline > (int)linemap.size()) //invalid line
|
||||
destline = 0;
|
||||
if(destline)
|
||||
{
|
||||
|
@ -532,7 +532,7 @@ void scriptstep()
|
|||
|
||||
bool scriptbptoggle(int line)
|
||||
{
|
||||
if(!line or line > (int)linemap.size()) //invalid line
|
||||
if(!line || line > (int)linemap.size()) //invalid line
|
||||
return false;
|
||||
line = scriptinternalstep(line - 1); //no breakpoints on non-executable locations
|
||||
if(scriptbpget(line)) //remove breakpoint
|
||||
|
@ -622,7 +622,7 @@ void scriptreset()
|
|||
|
||||
bool scriptgetbranchinfo(int line, SCRIPTBRANCH* info)
|
||||
{
|
||||
if(!info or !line or line > (int)linemap.size()) //invalid line
|
||||
if(!info || !line || line > (int)linemap.size()) //invalid line
|
||||
return false;
|
||||
if(linemap.at(line - 1).type != linebranch) //no branch
|
||||
return false;
|
||||
|
|
|
@ -113,7 +113,7 @@ bool stackcommentget(uint addr, STACK_COMMENT* comment)
|
|||
void stackgetcallstack(uint csp, CALLSTACK* callstack)
|
||||
{
|
||||
callstack->total = 0;
|
||||
if(!DbgIsDebugging() or csp % sizeof(uint)) //alignment problem
|
||||
if(!DbgIsDebugging() || csp % sizeof(uint)) //alignment problem
|
||||
return;
|
||||
if(!MemIsValidReadPtr(csp))
|
||||
return;
|
||||
|
|
|
@ -168,9 +168,9 @@ static bool isregister(const char* string)
|
|||
return true;
|
||||
if(scmp(string, "dr3"))
|
||||
return true;
|
||||
if(scmp(string, "dr6") or scmp(string, "dr4"))
|
||||
if(scmp(string, "dr6") || scmp(string, "dr4"))
|
||||
return true;
|
||||
if(scmp(string, "dr7") or scmp(string, "dr5"))
|
||||
if(scmp(string, "dr7") || scmp(string, "dr5"))
|
||||
return true;
|
||||
|
||||
if(scmp(string, "cip"))
|
||||
|
@ -601,7 +601,7 @@ static bool setflag(const char* string, bool set)
|
|||
flag = 0x100000;
|
||||
else if(scmp(string, "id"))
|
||||
flag = 0x200000;
|
||||
if(eflags & flag and !set)
|
||||
if(eflags & flag && !set)
|
||||
xorval = flag;
|
||||
else if(set)
|
||||
xorval = flag;
|
||||
|
@ -843,11 +843,11 @@ static uint getregister(int* size, const char* string)
|
|||
{
|
||||
return GetContextDataEx(hActiveThread, UE_DR3);
|
||||
}
|
||||
if(scmp(string, "dr6") or scmp(string, "dr4"))
|
||||
if(scmp(string, "dr6") || scmp(string, "dr4"))
|
||||
{
|
||||
return GetContextDataEx(hActiveThread, UE_DR6);
|
||||
}
|
||||
if(scmp(string, "dr7") or scmp(string, "dr5"))
|
||||
if(scmp(string, "dr7") || scmp(string, "dr5"))
|
||||
{
|
||||
return GetContextDataEx(hActiveThread, UE_DR7);
|
||||
}
|
||||
|
@ -1158,9 +1158,9 @@ bool setregister(const char* string, uint value)
|
|||
return SetContextDataEx(hActiveThread, UE_DR2, value);
|
||||
if(scmp(string, "dr3"))
|
||||
return SetContextDataEx(hActiveThread, UE_DR3, value);
|
||||
if(scmp(string, "dr6") or scmp(string, "dr4"))
|
||||
if(scmp(string, "dr6") || scmp(string, "dr4"))
|
||||
return SetContextDataEx(hActiveThread, UE_DR6, value);
|
||||
if(scmp(string, "dr7") or scmp(string, "dr5"))
|
||||
if(scmp(string, "dr7") || scmp(string, "dr5"))
|
||||
return SetContextDataEx(hActiveThread, UE_DR7, value);
|
||||
|
||||
if(scmp(string, "cip"))
|
||||
|
@ -1274,7 +1274,7 @@ bool setregister(const char* string, uint value)
|
|||
*/
|
||||
bool valapifromstring(const char* name, uint* value, int* value_size, bool printall, bool silent, bool* hexonly)
|
||||
{
|
||||
if(!value or !DbgIsDebugging())
|
||||
if(!value || !DbgIsDebugging())
|
||||
return false;
|
||||
//explicit API handling
|
||||
const char* apiname = strchr(name, ':'); //the ':' character cannot be in a path: http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx#naming_conventions
|
||||
|
@ -1329,9 +1329,9 @@ bool valapifromstring(const char* name, uint* value, int* value_size, bool print
|
|||
addr = modbase + (addr - (uint)mod); //correct for loaded base
|
||||
else //not found
|
||||
{
|
||||
if(scmp(apiname, "base") or scmp(apiname, "imagebase") or scmp(apiname, "header")) //get loaded base
|
||||
if(scmp(apiname, "base") || scmp(apiname, "imagebase") || scmp(apiname, "header")) //get loaded base
|
||||
addr = modbase;
|
||||
else if(scmp(apiname, "entry") or scmp(apiname, "oep") or scmp(apiname, "ep")) //get entry point
|
||||
else if(scmp(apiname, "entry") || scmp(apiname, "oep") || scmp(apiname, "ep")) //get entry point
|
||||
addr = modbase + GetPE32DataW(szModName, 0, UE_OEP);
|
||||
else if(*apiname == '$') //RVA
|
||||
{
|
||||
|
@ -1428,7 +1428,7 @@ bool valapifromstring(const char* name, uint* value, int* value_size, bool print
|
|||
if(kernel32 != -1) //prioritize kernel32 exports
|
||||
{
|
||||
*value = addrfound[kernel32];
|
||||
if(!printall or silent)
|
||||
if(!printall || silent)
|
||||
return true;
|
||||
for(int i = 0; i < found; i++)
|
||||
if(i != kernel32)
|
||||
|
@ -1437,7 +1437,7 @@ bool valapifromstring(const char* name, uint* value, int* value_size, bool print
|
|||
else
|
||||
{
|
||||
*value = *addrfound;
|
||||
if(!printall or silent)
|
||||
if(!printall || silent)
|
||||
return true;
|
||||
for(int i = 1; i < found; i++)
|
||||
dprintf(fhex"\n", addrfound[i]);
|
||||
|
@ -1452,7 +1452,7 @@ bool valapifromstring(const char* name, uint* value, int* value_size, bool print
|
|||
*/
|
||||
static bool isdecnumber(const char* string)
|
||||
{
|
||||
if(*string != '.' or !string[1]) //dec indicator/no number
|
||||
if(*string != '.' || !string[1]) //dec indicator/no number
|
||||
return false;
|
||||
int decAdd = 1;
|
||||
if(string[1] == '-') //minus
|
||||
|
@ -1476,7 +1476,7 @@ static bool isdecnumber(const char* string)
|
|||
static bool ishexnumber(const char* string)
|
||||
{
|
||||
int add = 0;
|
||||
if(*string == '0' and string[1] == 'x') //0x prefix
|
||||
if(*string == '0' && string[1] == 'x') //0x prefix
|
||||
add = 2;
|
||||
else if(*string == 'x') //hex indicator
|
||||
add = 1;
|
||||
|
@ -1502,7 +1502,7 @@ static bool ishexnumber(const char* string)
|
|||
*/
|
||||
bool valfromstring_noexpr(const char* string, uint* value, bool silent, bool baseonly, int* value_size, bool* isvar, bool* hexonly)
|
||||
{
|
||||
if(!value or !string)
|
||||
if(!value || !string)
|
||||
return false;
|
||||
if(!*string)
|
||||
{
|
||||
|
@ -1582,7 +1582,7 @@ bool valfromstring_noexpr(const char* string, uint* value, bool silent, bool bas
|
|||
*isvar = true;
|
||||
return true;
|
||||
}
|
||||
else if(*string == '!' and isflag(string + 1)) //flag
|
||||
else if(*string == '!' && isflag(string + 1)) //flag
|
||||
{
|
||||
if(!DbgIsDebugging())
|
||||
{
|
||||
|
@ -1660,7 +1660,7 @@ bool valfromstring_noexpr(const char* string, uint* value, bool silent, bool bas
|
|||
*/
|
||||
bool valfromstring(const char* string, uint* value, bool silent, bool baseonly, int* value_size, bool* isvar, bool* hexonly)
|
||||
{
|
||||
if(!value or !string)
|
||||
if(!value || !string)
|
||||
return false;
|
||||
if(!*string)
|
||||
{
|
||||
|
@ -1744,7 +1744,7 @@ static void setfpuvalue(const char* string, uint value)
|
|||
{
|
||||
uint flags = GetContextDataEx(hActiveThread, UE_MXCSR);
|
||||
flag = getmxcsrflagfromstring(string + STRLEN_USING_SIZEOF(MxCsr_PRE_FIELD_STRING));
|
||||
if(flags & flag and !set)
|
||||
if(flags & flag && !set)
|
||||
xorval = flag;
|
||||
else if(set)
|
||||
xorval = flag;
|
||||
|
@ -1792,7 +1792,7 @@ static void setfpuvalue(const char* string, uint value)
|
|||
{
|
||||
uint flags = GetContextDataEx(hActiveThread, UE_X87_STATUSWORD);
|
||||
flag = getx87statuswordflagfromstring(string + STRLEN_USING_SIZEOF(x87SW_PRE_FIELD_STRING));
|
||||
if(flags & flag and !set)
|
||||
if(flags & flag && !set)
|
||||
xorval = flag;
|
||||
else if(set)
|
||||
xorval = flag;
|
||||
|
@ -1825,7 +1825,7 @@ static void setfpuvalue(const char* string, uint value)
|
|||
{
|
||||
uint flags = GetContextDataEx(hActiveThread, UE_X87_CONTROLWORD);
|
||||
flag = getx87controlwordflagfromstring(string + STRLEN_USING_SIZEOF(x87CW_PRE_FIELD_STRING));
|
||||
if(flags & flag and !set)
|
||||
if(flags & flag && !set)
|
||||
xorval = flag;
|
||||
else if(set)
|
||||
xorval = flag;
|
||||
|
@ -2109,7 +2109,7 @@ bool valtostring(const char* string, uint value, bool silent)
|
|||
{
|
||||
if(!*string)
|
||||
return false;
|
||||
else if(*string == '@' or strstr(string, "[")) //memory location
|
||||
else if(*string == '@' || strstr(string, "[")) //memory location
|
||||
{
|
||||
if(!DbgIsDebugging())
|
||||
{
|
||||
|
@ -2125,7 +2125,7 @@ bool valtostring(const char* string, uint value, bool silent)
|
|||
{
|
||||
if(string[i] == ']')
|
||||
j += sprintf(newstring + j, ")");
|
||||
else if(isdigit(string[i]) and string[i + 1] == ':' and string[i + 2] == '[') //n:[
|
||||
else if(isdigit(string[i]) && string[i + 1] == ':' && string[i + 2] == '[') //n:[
|
||||
{
|
||||
j += sprintf(newstring + j, "@%c:(", string[i]);
|
||||
i += 2;
|
||||
|
@ -2140,7 +2140,7 @@ bool valtostring(const char* string, uint value, bool silent)
|
|||
strcpy_s(newstring, len * 2, string);
|
||||
int read_size = sizeof(uint);
|
||||
int add = 1;
|
||||
if(newstring[2] == ':' and isdigit((newstring[1])))
|
||||
if(newstring[2] == ':' && isdigit((newstring[1])))
|
||||
{
|
||||
add += 2;
|
||||
int new_size = newstring[1] - 0x30;
|
||||
|
@ -2200,7 +2200,7 @@ bool valtostring(const char* string, uint value, bool silent)
|
|||
GuiUpdateAllViews(); //repaint gui
|
||||
return true;
|
||||
}
|
||||
else if(*string == '!' and isflag(string + 1)) //flag
|
||||
else if(*string == '!' && isflag(string + 1)) //flag
|
||||
{
|
||||
if(!DbgIsDebugging())
|
||||
{
|
||||
|
|
|
@ -195,7 +195,7 @@ 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) || varvalue.type != VAR_UINT)
|
||||
return false;
|
||||
if(Size)
|
||||
*Size = varsize;
|
||||
|
@ -219,7 +219,7 @@ 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) || varvalue.type != VAR_STRING)
|
||||
return false;
|
||||
if(Size)
|
||||
*Size = varsize;
|
||||
|
|
Loading…
Reference in New Issue