Last active
May 25, 2026 15:39
-
-
Save valinet/bd7534af1e03472ef567c6d6f1a210d2 to your computer and use it in GitHub Desktop.
Task Manager Image File Execution Options Launcher
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // cl /nologo uaskmgr.c advapi32.lib kernel32.lib user32.lib /O1 /GS- /Gs9999999 /GF /kernel /link /ENTRY:main /NODEFAULTLIB /SUBSYSTEM:windows /NOCOFFGRPINFO /ALIGN:16 /MERGE:.rdata=.text /MERGE:.pdata=.text /OUT:uaskmgr.exe | |
| #include <Windows.h> | |
| int main() { | |
| char map = 0; | |
| PROCESS_INFORMATION pi; | |
| STARTUPINFOW si; | |
| for (int i = 0; i < sizeof(si); i = i + 2) | |
| ((char*)(&si))[i] = 0; | |
| for (int i = 1; i < sizeof(si); i = i + 2) | |
| ((char*)(&si))[i] = 0; | |
| si.cb = sizeof(si); | |
| BOOL fIsElevated = FALSE; | |
| HANDLE hToken = NULL; | |
| TOKEN_ELEVATION elevation; | |
| elevation.TokenIsElevated = 0; | |
| DWORD dwSize = 0; | |
| if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken)) | |
| return FALSE; | |
| if (GetTokenInformation(hToken, TokenElevation, &elevation, | |
| sizeof(elevation), &dwSize)) | |
| fIsElevated = elevation.TokenIsElevated; | |
| if (hToken) | |
| CloseHandle(hToken); | |
| wchar_t cmd[MAX_PATH]; | |
| if (!fIsElevated) { | |
| DWORD len = GetSystemDirectoryW(cmd, MAX_PATH - 13); | |
| cmd[len + 0] = L'\\'; cmd[len + 1] = L't'; cmd[len + 2] = L'a'; | |
| cmd[len + 3] = L's'; cmd[len + 4] = L'k'; cmd[len + 5] = L'm'; | |
| cmd[len + 6] = L'g'; cmd[len + 7] = L'r'; cmd[len + 8] = L'.'; | |
| cmd[len + 9] = L'e'; cmd[len + 10] = L'x'; cmd[len + 11] = L'e'; | |
| cmd[len + 12] = L'\0'; | |
| } else { | |
| DWORD len = GetModuleFileNameW(GetModuleHandleW(NULL), cmd, MAX_PATH); | |
| if (len >= 11) | |
| cmd[len - 11] = L't'; | |
| } | |
| if (!CreateProcessW(NULL, cmd, NULL, NULL, FALSE, | |
| DEBUG_ONLY_THIS_PROCESS, | |
| NULL, NULL, &si, &pi)) | |
| ExitProcess(GetLastError()); | |
| DebugActiveProcessStop(pi.dwProcessId); | |
| CloseHandle(pi.hThread); | |
| CloseHandle(pi.hProcess); | |
| ExitProcess(0); | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment