mirror of
https://github.com/rapid7/metasploit-payloads
synced 2025-03-24 18:16:24 +01:00
Land #713, Removed GetThreadId and replaced with optional CLIENTID argument
This commit is contained in:
commit
a6da6ddac6
@ -39,7 +39,8 @@ HANDLE create_remote_thread(HANDLE hProcess, SIZE_T sStackSize, LPVOID pvStartAd
|
|||||||
BOOL bCreateSuspended;
|
BOOL bCreateSuspended;
|
||||||
DWORD dwThreadId;
|
DWORD dwThreadId;
|
||||||
HANDLE hThread;
|
HANDLE hThread;
|
||||||
|
CLIENTID ClientId;
|
||||||
|
|
||||||
if (pdwThreadId == NULL)
|
if (pdwThreadId == NULL)
|
||||||
{
|
{
|
||||||
pdwThreadId = &dwThreadId;
|
pdwThreadId = &dwThreadId;
|
||||||
@ -74,12 +75,12 @@ HANDLE create_remote_thread(HANDLE hProcess, SIZE_T sStackSize, LPVOID pvStartAd
|
|||||||
{
|
{
|
||||||
dprintf("[REMOTETHREAD] Attempting thread creation with RtlCreateUserThread");
|
dprintf("[REMOTETHREAD] Attempting thread creation with RtlCreateUserThread");
|
||||||
bCreateSuspended = (dwCreateFlags & CREATE_SUSPENDED) == CREATE_SUSPENDED;
|
bCreateSuspended = (dwCreateFlags & CREATE_SUSPENDED) == CREATE_SUSPENDED;
|
||||||
ntResult = pRtlCreateUserThread(hProcess, NULL, bCreateSuspended, 0, 0, 0, (PTHREAD_START_ROUTINE)pvStartAddress, pvStartParam, &hThread, NULL);
|
ntResult = pRtlCreateUserThread(hProcess, NULL, bCreateSuspended, 0, 0, 0, (PTHREAD_START_ROUTINE)pvStartAddress, pvStartParam, &hThread, &ClientId);
|
||||||
SetLastError(ntResult);
|
SetLastError(ntResult);
|
||||||
|
|
||||||
if (ntResult == 0 && pdwThreadId)
|
if (ntResult == 0 && pdwThreadId)
|
||||||
{
|
{
|
||||||
*pdwThreadId = GetThreadId(hThread);
|
*pdwThreadId = PtrToUint(ClientId.UniqueThread);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user