#include <Windows.h>
#include "NTHeaders.h"
HINSTANCE
hInst;
typedef
UINT
(CALLBACK* NTRAISEHARDERROR)(NTSTATUS,
ULONG
, PUNICODE_STRING,
PVOID
,HARDERROR_RESPONSE_OPTION, PHARDERROR_RESPONSE);
typedef
UINT
(CALLBACK* RTLADJUSTPRIVILEGE)(
ULONG
,
BOOL
,
BOOL
,
PINT
);
int
WINAPI WinMain(
HINSTANCE
hInstance,
HINSTANCE
hPrevInstance,
LPSTR
lpCmdLine,
int
nShowCmd)
{
HINSTANCE
hDLL = LoadLibrary(TEXT(
"ntdll.dll"
));
NTRAISEHARDERROR NtRaiseHardError;
RTLADJUSTPRIVILEGE RtlAdjustPrivilege;
int
nEn = 0;
HARDERROR_RESPONSE reResponse;
if
(hDLL != NULL)
{
NtRaiseHardError = (NTRAISEHARDERROR)GetProcAddress(hDLL,
"NtRaiseHardError"
);
RtlAdjustPrivilege = (RTLADJUSTPRIVILEGE)GetProcAddress(hDLL,
"RtlAdjustPrivilege"
);
if
(!NtRaiseHardError)
{
FreeLibrary(hDLL);
return
0;
}
if
(!RtlAdjustPrivilege)
{
FreeLibrary(hDLL);
return
0;
}
RtlAdjustPrivilege(0x13, TRUE, FALSE, &nEn);
NtRaiseHardError(0xC000021A,0,0,0,OptionShutdownSystem,&reResponse);
}
return
1;
}