| 157 | } |
| 158 | |
| 159 | void DllInjection::specialThreadSettings( HANDLE hThread ) |
| 160 | { |
| 161 | if (hThread) |
| 162 | { |
| 163 | if (!SetThreadPriority(hThread, THREAD_PRIORITY_TIME_CRITICAL)) |
| 164 | { |
| 165 | #ifdef DEBUG_COMMENTS |
| 166 | Scylla::debugLog.log(L"specialThreadSettings :: SetThreadPriority(hThread, THREAD_PRIORITY_TIME_CRITICAL) failed 0x%X", GetLastError()); |
| 167 | #endif |
| 168 | } |
| 169 | |
| 170 | if (NativeWinApi::NtSetInformationThread) |
| 171 | { |
| 172 | if (NativeWinApi::NtSetInformationThread(hThread, ThreadHideFromDebugger, 0, 0) != STATUS_SUCCESS) |
| 173 | { |
| 174 | #ifdef DEBUG_COMMENTS |
| 175 | Scylla::debugLog.log(L"specialThreadSettings :: NtSetInformationThread ThreadHideFromDebugger failed"); |
| 176 | #endif |
| 177 | } |
| 178 | } |
| 179 | } |
| 180 | } |
| 181 | |
| 182 | HANDLE DllInjection::startRemoteThread(HANDLE hProcess, LPVOID lpStartAddress, LPVOID lpParameter) |
| 183 | { |