MCPcopy Create free account
hub / github.com/HyperSine/Windows10-CustomKernelSigners / _tmain

Function _tmain

EnableCustomKernelSigners/_tmain.cpp:271–297  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

269}
270
271int _tmain(int argc, PTSTR argv[]) {
272 LSTATUS Status;
273 OwnedResource<GenericHandleTraits> hToken;
274 BOOL bShutdownPrivilegeEnable;
275
276 if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ALL_ACCESS, hToken.GetAddress())) {
277 _tprintf_s(TEXT("[-] Failed to open current process's token. CODE: 0x%.8X\n"), GetLastError());
278 return -1;
279 }
280
281 Status = EnableCksCheckPrivilege(hToken, SE_SHUTDOWN_NAME, &bShutdownPrivilegeEnable);
282 if (Status != ERROR_SUCCESS) {
283 _tprintf_s(TEXT("[-] Failed to check " SE_SHUTDOWN_NAME ". CODE: 0x%.8X\n"), Status);
284 return -1;
285 }
286
287 if (bShutdownPrivilegeEnable == FALSE && (Status = EnableCksSetPrivilege(hToken, SE_SHUTDOWN_NAME, TRUE)) != ERROR_SUCCESS) {
288 _tprintf_s(TEXT("[-] Failed to enable " SE_SHUTDOWN_NAME " . CODE: 0x%.8X\n"), Status);
289 return -1;
290 }
291
292 if (argc == 2 && _tcsicmp(argv[1], TEXT("--setupmode")) == 0) {
293 return EnableCksFinal(EnableCksSetupMode(), true);
294 } else {
295 return EnableCksFinal(EnableCksNonSetupMode(), false);
296 }
297}
298

Callers

nothing calls this directly

Calls 6

EnableCksCheckPrivilegeFunction · 0.85
EnableCksSetPrivilegeFunction · 0.85
EnableCksFinalFunction · 0.85
EnableCksSetupModeFunction · 0.85
EnableCksNonSetupModeFunction · 0.85
GetAddressMethod · 0.80

Tested by

no test coverage detected