Skip to content

Commit f7929d0

Browse files
committed
Simply Code
1 parent 3480669 commit f7929d0

2 files changed

Lines changed: 14 additions & 14 deletions

File tree

MonikaHijack/demo2.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ typedef struct _SYSTEM_PROCESS_INFORMATION {
100100
bool IsThreadSafeToHijack(DWORD processId, DWORD threadId)
101101
{
102102
// Load NtQuerySystemInformation
103-
HMODULE hNtdll = GetModuleHandleA("ntdll.dll");
103+
static HMODULE hNtdll = GetModuleHandleA("ntdll.dll");
104104
if (!hNtdll)
105105
{
106106
printf("Failed to load ntdll.dll\n");
@@ -114,19 +114,19 @@ bool IsThreadSafeToHijack(DWORD processId, DWORD threadId)
114114
exit(1);
115115
}
116116

117-
static ULONG bufferSize = 0;
118-
static PSYSTEM_PROCESS_INFORMATION processInfoBuf = NULL;
119-
120-
if(bufferSize == 0 || !processInfoBuf)
121-
{
122-
NtQuerySystemInformation(SystemProcessInformation, NULL, 0, &bufferSize);
123-
processInfoBuf = (PSYSTEM_PROCESS_INFORMATION)malloc(bufferSize);
124-
if (!processInfoBuf)
125-
{
126-
printf("Failed to allocate memory for process information\n");
127-
exit(1);
128-
}
129-
}
117+
static ULONG bufferSize = 1024 * 1024; // !MB should be enough
118+
static PSYSTEM_PROCESS_INFORMATION processInfoBuf = (PSYSTEM_PROCESS_INFORMATION)malloc(bufferSize);
119+
120+
// if(bufferSize == 0 || !processInfoBuf)
121+
// {
122+
// NtQuerySystemInformation(SystemProcessInformation, NULL, 0, &bufferSize);
123+
// processInfoBuf = (PSYSTEM_PROCESS_INFORMATION)malloc(bufferSize);
124+
// if (!processInfoBuf)
125+
// {
126+
// printf("Failed to allocate memory for process information\n");
127+
// exit(1);
128+
// }
129+
// }
130130

131131
if (NtQuerySystemInformation(SystemProcessInformation, processInfoBuf, bufferSize, &bufferSize) != 0)
132132
{

MonikaHijack/demo2.exe

175 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)