1
0
Fork 0

IsFileBeingDebugged problem

This commit is contained in:
Mr. eXoDia 2014-04-14 23:02:32 +02:00
parent b4ffffdbe9
commit 22e78f5a8d
6 changed files with 29 additions and 27 deletions

View File

@ -80,7 +80,9 @@ extern "C" DLL_EXPORT bool _dbg_valfromstring(const char* string, duint* value)
extern "C" DLL_EXPORT bool _dbg_isdebugging()
{
return IsFileBeingDebugged();
if(IsFileBeingDebugged())
return true;
return false;
}
extern "C" DLL_EXPORT bool _dbg_isjumpgoingtoexecute(duint addr)
@ -99,7 +101,7 @@ extern "C" DLL_EXPORT bool _dbg_isjumpgoingtoexecute(duint addr)
extern "C" DLL_EXPORT bool _dbg_addrinfoget(duint addr, SEGMENTREG segment, ADDRINFO* addrinfo)
{
if(!IsFileBeingDebugged())
if(!DbgIsDebugging())
return false;
bool retval=false;
if(addrinfo->flags&flagmodule) //get module
@ -310,7 +312,7 @@ extern "C" DLL_EXPORT int _dbg_bpgettypeat(duint addr)
extern "C" DLL_EXPORT bool _dbg_getregdump(REGDUMP* regdump)
{
if(!IsFileBeingDebugged())
if(!DbgIsDebugging())
{
memset(regdump, 0, sizeof(REGDUMP));
return true;

View File

@ -259,7 +259,7 @@ bool apienumexports(uint base, EXPORTENUMCALLBACK cbEnum)
///comment functions
bool commentset(uint addr, const char* text)
{
if(!IsFileBeingDebugged() 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);
@ -297,7 +297,7 @@ bool commentset(uint addr, const char* text)
bool commentget(uint addr, char* text)
{
if(!IsFileBeingDebugged() or !memisvalidreadptr(fdProcessInfo->hProcess, addr) or !text)
if(!DbgIsDebugging() or !memisvalidreadptr(fdProcessInfo->hProcess, addr) or !text)
return false;
char modname[MAX_MODULE_SIZE]="";
char sql[deflen]="";
@ -310,7 +310,7 @@ bool commentget(uint addr, char* text)
bool commentdel(uint addr)
{
if(!IsFileBeingDebugged() or !memisvalidreadptr(fdProcessInfo->hProcess, addr))
if(!DbgIsDebugging() or !memisvalidreadptr(fdProcessInfo->hProcess, addr))
return false;
char modname[MAX_MODULE_SIZE]="";
char sql[deflen]="";
@ -339,7 +339,7 @@ bool commentdel(uint addr)
///label functions
bool labelset(uint addr, const char* text)
{
if(!IsFileBeingDebugged() or !memisvalidreadptr(fdProcessInfo->hProcess, addr) or !text or strlen(text)>=MAX_LABEL_SIZE-1)
if(!DbgIsDebugging() or !memisvalidreadptr(fdProcessInfo->hProcess, addr) or !text or strlen(text)>=MAX_LABEL_SIZE-1)
return false;
if(!*text) //NOTE: delete when there is no text
return labeldel(addr);
@ -418,7 +418,7 @@ bool labelfromstring(const char* text, uint* addr)
bool labelget(uint addr, char* text)
{
if(!IsFileBeingDebugged() or !memisvalidreadptr(fdProcessInfo->hProcess, addr) or !text)
if(!DbgIsDebugging() or !memisvalidreadptr(fdProcessInfo->hProcess, addr) or !text)
return false;
char modname[MAX_MODULE_SIZE]="";
char sql[deflen]="";
@ -431,7 +431,7 @@ bool labelget(uint addr, char* text)
bool labeldel(uint addr)
{
if(!IsFileBeingDebugged() or !memisvalidreadptr(fdProcessInfo->hProcess, addr))
if(!DbgIsDebugging() or !memisvalidreadptr(fdProcessInfo->hProcess, addr))
return false;
char modname[MAX_MODULE_SIZE]="";
char sql[deflen]="";
@ -460,7 +460,7 @@ bool labeldel(uint addr)
///bookmark functions
bool bookmarkset(uint addr)
{
if(!IsFileBeingDebugged() or !memisvalidreadptr(fdProcessInfo->hProcess, addr))
if(!DbgIsDebugging() or !memisvalidreadptr(fdProcessInfo->hProcess, addr))
return false;
char modname[MAX_MODULE_SIZE]="";
char sql[deflen]="";
@ -494,7 +494,7 @@ bool bookmarkset(uint addr)
bool bookmarkget(uint addr)
{
if(!IsFileBeingDebugged() or !memisvalidreadptr(fdProcessInfo->hProcess, addr))
if(!DbgIsDebugging() or !memisvalidreadptr(fdProcessInfo->hProcess, addr))
return false;
char modname[MAX_MODULE_SIZE]="";
char sql[deflen]="";
@ -507,7 +507,7 @@ bool bookmarkget(uint addr)
bool bookmarkdel(uint addr)
{
if(!IsFileBeingDebugged() or !memisvalidreadptr(fdProcessInfo->hProcess, addr))
if(!DbgIsDebugging() or !memisvalidreadptr(fdProcessInfo->hProcess, addr))
return false;
char modname[MAX_MODULE_SIZE]="";
char sql[deflen]="";
@ -536,7 +536,7 @@ bool bookmarkdel(uint addr)
///function database
bool functionget(duint addr, duint* start, duint* end)
{
if(!IsFileBeingDebugged() or !memisvalidreadptr(fdProcessInfo->hProcess, addr))
if(!DbgIsDebugging() or !memisvalidreadptr(fdProcessInfo->hProcess, addr))
return false;
char modname[MAX_MODULE_SIZE]="";
char sql[deflen]="";
@ -598,7 +598,7 @@ bool functionoverlaps(uint start, uint end)
bool functionadd(uint start, uint end, bool manual)
{
if(!IsFileBeingDebugged() or end<start or memfindbaseaddr(fdProcessInfo->hProcess, start, 0)!=memfindbaseaddr(fdProcessInfo->hProcess, end, 0)) //the function boundaries are not in the same mem page
if(!DbgIsDebugging() or end<start or memfindbaseaddr(fdProcessInfo->hProcess, start, 0)!=memfindbaseaddr(fdProcessInfo->hProcess, end, 0)) //the function boundaries are not in the same mem page
return false;
char sql[deflen]="";
char modname[MAX_MODULE_SIZE]="";
@ -629,7 +629,7 @@ bool functionadd(uint start, uint end, bool manual)
bool functiondel(uint addr)
{
if(!IsFileBeingDebugged() or !functionget(addr, 0, 0))
if(!DbgIsDebugging() or !functionget(addr, 0, 0))
return false;
char modname[MAX_MODULE_SIZE]="";
char sql[deflen]="";

View File

@ -162,7 +162,7 @@ CMDRESULT cmdloop(COMMAND* command_list, CBCOMMAND cbUnknownCommand, CBCOMMANDPR
}
else
{
if(cmd->debugonly and !IsFileBeingDebugged())
if(cmd->debugonly and !DbgIsDebugging())
{
dputs("this command is debug-only");
if(error_is_fatal)
@ -266,7 +266,7 @@ CMDRESULT cmddirectexec(COMMAND* cmd_list, const char* cmd)
COMMAND* found=cmdfindmain(cmd_list, command);
if(!found or !found->cbCommand)
return STATUS_ERROR;
if(found->debugonly and !IsFileBeingDebugged())
if(found->debugonly and !DbgIsDebugging())
return STATUS_ERROR;
int argcount=arggetcount(command);
char** argv=(char**)emalloc((argcount+1)*sizeof(char*), "cmddirectexec:argv");

View File

@ -953,7 +953,7 @@ static DWORD WINAPI threadDebugLoop(void* lpParameter)
CMDRESULT cbDebugInit(int argc, char* argv[])
{
if(IsFileBeingDebugged())
if(DbgIsDebugging())
{
dputs("already debugging!");
return STATUS_ERROR;
@ -1906,7 +1906,7 @@ CMDRESULT cbDebugAttach(int argc, char* argv[])
dprintf("invalid expression \"%s\"!\n", argv[1]);
return STATUS_ERROR;
}
if(IsFileBeingDebugged())
if(DbgIsDebugging())
{
//TODO: do stuff
dputs("terminate the current session!");

View File

@ -303,7 +303,7 @@ static CMDRESULT scriptinternalcmdexec(const char* cmd)
return STATUS_CONTINUE;
}
CMDRESULT res=cmddirectexec(dbggetcommandlist(), command);
if(IsFileBeingDebugged())
if(DbgIsDebugging())
{
while(!waitislocked(WAITID_RUN)) //while not locked (NOTE: possible deadlock)
Sleep(10);

View File

@ -978,7 +978,7 @@ static 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 !IsFileBeingDebugged())
if(!value or !DbgIsDebugging())
return false;
//explicit API handling
const char* apiname=strstr(name, ":");
@ -1206,7 +1206,7 @@ bool valfromstring(const char* string, uint* value, bool silent, bool baseonly,
}
else if(*string=='@' or strstr(string, "[")) //memory location
{
if(!IsFileBeingDebugged())
if(!DbgIsDebugging())
{
if(!silent)
dputs("not debugging");
@ -1269,7 +1269,7 @@ bool valfromstring(const char* string, uint* value, bool silent, bool baseonly,
}
else if(isregister(string)) //register
{
if(!IsFileBeingDebugged())
if(!DbgIsDebugging())
{
if(!silent)
dputs("not debugging!");
@ -1287,7 +1287,7 @@ bool valfromstring(const char* string, uint* value, bool silent, bool baseonly,
}
else if(*string=='!' and isflag(string+1)) //flag
{
if(!IsFileBeingDebugged())
if(!DbgIsDebugging())
{
if(!silent)
dputs("not debugging");
@ -1372,7 +1372,7 @@ bool valtostring(const char* string, uint* value, bool silent)
return false;
else if(*string=='@' or strstr(string, "[")) //memory location
{
if(!IsFileBeingDebugged())
if(!DbgIsDebugging())
{
if(!silent)
dputs("not debugging");
@ -1427,7 +1427,7 @@ bool valtostring(const char* string, uint* value, bool silent)
}
else if(isregister(string)) //register
{
if(!IsFileBeingDebugged())
if(!DbgIsDebugging())
{
if(!silent)
dputs("not debugging!");
@ -1447,7 +1447,7 @@ bool valtostring(const char* string, uint* value, bool silent)
}
else if(*string=='!' and isflag(string+1)) //flag
{
if(!IsFileBeingDebugged())
if(!DbgIsDebugging())
{
if(!silent)
dputs("not debugging");