1
0
Fork 0

DBG+BRIDGE: api to get useful process/thread information

This commit is contained in:
mrexodia 2016-11-29 00:53:08 +01:00
parent 12ee743c2c
commit 98da939bf4
No known key found for this signature in database
GPG Key ID: FC89E0AAA0C1AAD8
3 changed files with 53 additions and 1 deletions

View File

@ -996,6 +996,26 @@ BRIDGE_IMPEXP void DbgSelChanged(int hWindow, duint VA)
_dbg_sendmessage(DBG_SELCHANGED, (void*)hWindow, (void*)VA);
}
BRIDGE_IMPEXP HANDLE DbgGetProcessHandle()
{
return (HANDLE)_dbg_sendmessage(DBG_GET_PROCESS_HANDLE, nullptr, nullptr);
}
BRIDGE_IMPEXP HANDLE DbgGetThreadHandle()
{
return (HANDLE)_dbg_sendmessage(DBG_GET_THREAD_HANDLE, nullptr, nullptr);
}
BRIDGE_IMPEXP DWORD DbgGetProcessId()
{
return (DWORD)_dbg_sendmessage(DBG_GET_PROCESS_ID, nullptr, nullptr);
}
BRIDGE_IMPEXP DWORD DbgGetThreadId()
{
return (DWORD)_dbg_sendmessage(DBG_GET_THREAD_ID, nullptr, nullptr);
}
BRIDGE_IMPEXP const char* GuiTranslateText(const char* Source)
{
EnterCriticalSection(&csTranslate);

View File

@ -231,7 +231,11 @@ typedef enum
DBG_ARGUMENT_ADD, // param1=FUNCTION* info, param2=unused
DBG_ARGUMENT_DEL, // param1=FUNCTION* info, param2=unused
DBG_GET_WATCH_LIST, // param1=ListOf(WATCHINFO), param2=unused
DBG_SELCHANGED // param1=hWindow, param2=VA
DBG_SELCHANGED, // param1=hWindow, param2=VA
DBG_GET_PROCESS_HANDLE, // param1=unused, param2=unused
DBG_GET_THREAD_HANDLE, // param1=unused, param2=unused
DBG_GET_PROCESS_ID, // param1=unused, param2=unused
DBG_GET_THREAD_ID, // param1=unused, param2=unused
} DBGMSG;
typedef enum
@ -863,6 +867,10 @@ BRIDGE_IMPEXP void DbgDelEncodeTypeRange(duint start, duint end);
BRIDGE_IMPEXP void DbgDelEncodeTypeSegment(duint start);
BRIDGE_IMPEXP bool DbgGetWatchList(ListOf(WATCHINFO) list);
BRIDGE_IMPEXP void DbgSelChanged(int hWindow, duint VA);
BRIDGE_IMPEXP HANDLE DbgGetProcessHandle();
BRIDGE_IMPEXP HANDLE DbgGetThreadHandle();
BRIDGE_IMPEXP DWORD DbgGetProcessId();
BRIDGE_IMPEXP DWORD DbgGetThreadId();
//Gui defines
#define GUI_PLUGIN_MENU 0

View File

@ -1301,6 +1301,30 @@ extern "C" DLL_EXPORT duint _dbg_sendmessage(DBGMSG type, void* param1, void* pa
}
break;
case DBG_GET_PROCESS_HANDLE:
{
return duint(fdProcessInfo->hProcess);
}
break;
case DBG_GET_THREAD_HANDLE:
{
return duint(hActiveThread);
}
break;
case DBG_GET_PROCESS_ID:
{
return duint(fdProcessInfo->dwProcessId);
}
break;
case DBG_GET_THREAD_ID:
{
return duint(ThreadGetId(hActiveThread));
}
break;
}
return 0;
}