still testing this code but i need it tf off my desktop

merge-requests/1/head
_xeroxz 4 years ago
parent f18b3fddfb
commit 2297ded1eb

Binary file not shown.

Binary file not shown.

@ -0,0 +1,18 @@
c:\users\_xeroxz\desktop\bluepill\demo\x64\release\vc142.pdb
c:\users\_xeroxz\desktop\bluepill\demo\x64\release\vdm_ctx.obj
c:\users\_xeroxz\desktop\bluepill\demo\x64\release\main.obj
c:\users\_xeroxz\desktop\bluepill\demo\x64\release\bluepill.obj
c:\users\_xeroxz\desktop\bluepill\x64\release\demo.ipdb
c:\users\_xeroxz\desktop\bluepill\x64\release\demo.iobj
c:\users\_xeroxz\desktop\bluepill\x64\release\demo.exe
c:\users\_xeroxz\desktop\bluepill\x64\release\demo.pdb
c:\users\_xeroxz\desktop\bluepill\demo\x64\release\hypercall.obj
c:\users\_xeroxz\desktop\bluepill\demo\x64\release\demo.tlog\cl.command.1.tlog
c:\users\_xeroxz\desktop\bluepill\demo\x64\release\demo.tlog\cl.read.1.tlog
c:\users\_xeroxz\desktop\bluepill\demo\x64\release\demo.tlog\cl.write.1.tlog
c:\users\_xeroxz\desktop\bluepill\demo\x64\release\demo.tlog\demo.write.1u.tlog
c:\users\_xeroxz\desktop\bluepill\demo\x64\release\demo.tlog\link.command.1.tlog
c:\users\_xeroxz\desktop\bluepill\demo\x64\release\demo.tlog\link.read.1.tlog
c:\users\_xeroxz\desktop\bluepill\demo\x64\release\demo.tlog\link.write.1.tlog
c:\users\_xeroxz\desktop\bluepill\demo\x64\release\demo.tlog\masm.read.1u.tlog
c:\users\_xeroxz\desktop\bluepill\demo\x64\release\demo.tlog\masm.write.1u.tlog

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ProjectOutputs>
<ProjectOutput>
<FullPath>C:\Users\_xeroxz\Desktop\bluepill\x64\Release\demo.exe</FullPath>
</ProjectOutput>
</ProjectOutputs>
<ContentFiles />
<SatelliteDlls />
<NonRecipeFileRefs />
</Project>

@ -0,0 +1,408 @@
 Assembling hypercall.asm...
bluepill.cpp
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(66,1): warning C4005: 'STATUS_WAIT_0': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2510): message : see previous definition of 'STATUS_WAIT_0'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(222,1): warning C4005: 'STATUS_ABANDONED_WAIT_0': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2511): message : see previous definition of 'STATUS_ABANDONED_WAIT_0'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(245,1): warning C4005: 'STATUS_USER_APC': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2512): message : see previous definition of 'STATUS_USER_APC'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(281,1): warning C4005: 'STATUS_TIMEOUT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2513): message : see previous definition of 'STATUS_TIMEOUT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(290,1): warning C4005: 'STATUS_PENDING': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2514): message : see previous definition of 'STATUS_PENDING'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(737,1): warning C4005: 'DBG_EXCEPTION_HANDLED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2515): message : see previous definition of 'DBG_EXCEPTION_HANDLED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(746,1): warning C4005: 'DBG_CONTINUE': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2516): message : see previous definition of 'DBG_CONTINUE'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(821,1): warning C4005: 'STATUS_SEGMENT_NOTIFICATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2517): message : see previous definition of 'STATUS_SEGMENT_NOTIFICATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(984,1): warning C4005: 'STATUS_FATAL_APP_EXIT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2518): message : see previous definition of 'STATUS_FATAL_APP_EXIT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1304,1): warning C4005: 'DBG_REPLY_LATER': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2519): message : see previous definition of 'DBG_REPLY_LATER'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1322,1): warning C4005: 'DBG_TERMINATE_THREAD': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2520): message : see previous definition of 'DBG_TERMINATE_THREAD'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1331,1): warning C4005: 'DBG_TERMINATE_PROCESS': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2521): message : see previous definition of 'DBG_TERMINATE_PROCESS'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1340,1): warning C4005: 'DBG_CONTROL_C': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2522): message : see previous definition of 'DBG_CONTROL_C'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1349,1): warning C4005: 'DBG_PRINTEXCEPTION_C': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2523): message : see previous definition of 'DBG_PRINTEXCEPTION_C'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1358,1): warning C4005: 'DBG_RIPEXCEPTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2524): message : see previous definition of 'DBG_RIPEXCEPTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1367,1): warning C4005: 'DBG_CONTROL_BREAK': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2525): message : see previous definition of 'DBG_CONTROL_BREAK'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1376,1): warning C4005: 'DBG_COMMAND_EXCEPTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2526): message : see previous definition of 'DBG_COMMAND_EXCEPTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1385,1): warning C4005: 'DBG_PRINTEXCEPTION_WIDE_C': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2527): message : see previous definition of 'DBG_PRINTEXCEPTION_WIDE_C'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1417,1): warning C4005: 'STATUS_GUARD_PAGE_VIOLATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2528): message : see previous definition of 'STATUS_GUARD_PAGE_VIOLATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1428,1): warning C4005: 'STATUS_DATATYPE_MISALIGNMENT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2529): message : see previous definition of 'STATUS_DATATYPE_MISALIGNMENT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1439,1): warning C4005: 'STATUS_BREAKPOINT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2530): message : see previous definition of 'STATUS_BREAKPOINT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1450,1): warning C4005: 'STATUS_SINGLE_STEP': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2531): message : see previous definition of 'STATUS_SINGLE_STEP'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1753,1): warning C4005: 'STATUS_LONGJUMP': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2532): message : see previous definition of 'STATUS_LONGJUMP'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1780,1): warning C4005: 'STATUS_UNWIND_CONSOLIDATE': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2533): message : see previous definition of 'STATUS_UNWIND_CONSOLIDATE'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1884,1): warning C4005: 'DBG_EXCEPTION_NOT_HANDLED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2534): message : see previous definition of 'DBG_EXCEPTION_NOT_HANDLED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2030,1): warning C4005: 'STATUS_ACCESS_VIOLATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2535): message : see previous definition of 'STATUS_ACCESS_VIOLATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2039,1): warning C4005: 'STATUS_IN_PAGE_ERROR': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2536): message : see previous definition of 'STATUS_IN_PAGE_ERROR'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2057,1): warning C4005: 'STATUS_INVALID_HANDLE': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2537): message : see previous definition of 'STATUS_INVALID_HANDLE'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2102,1): warning C4005: 'STATUS_INVALID_PARAMETER': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2538): message : see previous definition of 'STATUS_INVALID_PARAMETER'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2202,1): warning C4005: 'STATUS_NO_MEMORY': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2539): message : see previous definition of 'STATUS_NO_MEMORY'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2259,1): warning C4005: 'STATUS_ILLEGAL_INSTRUCTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2540): message : see previous definition of 'STATUS_ILLEGAL_INSTRUCTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2340,1): warning C4005: 'STATUS_NONCONTINUABLE_EXCEPTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2541): message : see previous definition of 'STATUS_NONCONTINUABLE_EXCEPTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2349,1): warning C4005: 'STATUS_INVALID_DISPOSITION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2542): message : see previous definition of 'STATUS_INVALID_DISPOSITION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3282,1): warning C4005: 'STATUS_ARRAY_BOUNDS_EXCEEDED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2543): message : see previous definition of 'STATUS_ARRAY_BOUNDS_EXCEEDED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3292,1): warning C4005: 'STATUS_FLOAT_DENORMAL_OPERAND': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2544): message : see previous definition of 'STATUS_FLOAT_DENORMAL_OPERAND'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3302,1): warning C4005: 'STATUS_FLOAT_DIVIDE_BY_ZERO': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2545): message : see previous definition of 'STATUS_FLOAT_DIVIDE_BY_ZERO'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3312,1): warning C4005: 'STATUS_FLOAT_INEXACT_RESULT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2546): message : see previous definition of 'STATUS_FLOAT_INEXACT_RESULT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3322,1): warning C4005: 'STATUS_FLOAT_INVALID_OPERATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2547): message : see previous definition of 'STATUS_FLOAT_INVALID_OPERATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3332,1): warning C4005: 'STATUS_FLOAT_OVERFLOW': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2548): message : see previous definition of 'STATUS_FLOAT_OVERFLOW'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3342,1): warning C4005: 'STATUS_FLOAT_STACK_CHECK': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2549): message : see previous definition of 'STATUS_FLOAT_STACK_CHECK'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3352,1): warning C4005: 'STATUS_FLOAT_UNDERFLOW': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2550): message : see previous definition of 'STATUS_FLOAT_UNDERFLOW'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3362,1): warning C4005: 'STATUS_INTEGER_DIVIDE_BY_ZERO': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2551): message : see previous definition of 'STATUS_INTEGER_DIVIDE_BY_ZERO'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3372,1): warning C4005: 'STATUS_INTEGER_OVERFLOW': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2552): message : see previous definition of 'STATUS_INTEGER_OVERFLOW'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3382,1): warning C4005: 'STATUS_PRIVILEGED_INSTRUCTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2553): message : see previous definition of 'STATUS_PRIVILEGED_INSTRUCTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4328,1): warning C4005: 'STATUS_STACK_OVERFLOW': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2554): message : see previous definition of 'STATUS_STACK_OVERFLOW'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4845,1): warning C4005: 'STATUS_DLL_NOT_FOUND': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2555): message : see previous definition of 'STATUS_DLL_NOT_FOUND'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4874,1): warning C4005: 'STATUS_ORDINAL_NOT_FOUND': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2556): message : see previous definition of 'STATUS_ORDINAL_NOT_FOUND'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4884,1): warning C4005: 'STATUS_ENTRYPOINT_NOT_FOUND': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2557): message : see previous definition of 'STATUS_ENTRYPOINT_NOT_FOUND'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4894,1): warning C4005: 'STATUS_CONTROL_C_EXIT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2558): message : see previous definition of 'STATUS_CONTROL_C_EXIT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4972,1): warning C4005: 'STATUS_DLL_INIT_FAILED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2559): message : see previous definition of 'STATUS_DLL_INIT_FAILED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(5969,1): warning C4005: 'STATUS_CONTROL_STACK_VIOLATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2560): message : see previous definition of 'STATUS_CONTROL_STACK_VIOLATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(7527,1): warning C4005: 'STATUS_FLOAT_MULTIPLE_FAULTS': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2561): message : see previous definition of 'STATUS_FLOAT_MULTIPLE_FAULTS'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(7537,1): warning C4005: 'STATUS_FLOAT_MULTIPLE_TRAPS': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2562): message : see previous definition of 'STATUS_FLOAT_MULTIPLE_TRAPS'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(7669,1): warning C4005: 'STATUS_REG_NAT_CONSUMPTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2563): message : see previous definition of 'STATUS_REG_NAT_CONSUMPTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(8652,1): warning C4005: 'STATUS_HEAP_CORRUPTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2564): message : see previous definition of 'STATUS_HEAP_CORRUPTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(8880,1): warning C4005: 'STATUS_STACK_BUFFER_OVERRUN': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2565): message : see previous definition of 'STATUS_STACK_BUFFER_OVERRUN'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(9007,1): warning C4005: 'STATUS_INVALID_CRUNTIME_PARAMETER': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2566): message : see previous definition of 'STATUS_INVALID_CRUNTIME_PARAMETER'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(9070,1): warning C4005: 'STATUS_ASSERTION_FAILURE': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2567): message : see previous definition of 'STATUS_ASSERTION_FAILURE'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(9988,1): warning C4005: 'STATUS_ENCLAVE_VIOLATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2568): message : see previous definition of 'STATUS_ENCLAVE_VIOLATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(10415,1): warning C4005: 'STATUS_INTERRUPTED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2569): message : see previous definition of 'STATUS_INTERRUPTED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(10424,1): warning C4005: 'STATUS_THREAD_NOT_RUNNING': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2570): message : see previous definition of 'STATUS_THREAD_NOT_RUNNING'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(10718,1): warning C4005: 'STATUS_ALREADY_REGISTERED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2571): message : see previous definition of 'STATUS_ALREADY_REGISTERED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(14352,1): warning C4005: 'STATUS_SXS_EARLY_DEACTIVATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2573): message : see previous definition of 'STATUS_SXS_EARLY_DEACTIVATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(14361,1): warning C4005: 'STATUS_SXS_INVALID_DEACTIVATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2574): message : see previous definition of 'STATUS_SXS_INVALID_DEACTIVATION'
C:\Users\_xeroxz\Desktop\bluepill\demo\util\util.hpp(65,34): warning C4018: '<': signed/unsigned mismatch
C:\Users\_xeroxz\Desktop\bluepill\demo\util\util.hpp(240,24): warning C4018: '<': signed/unsigned mismatch
C:\Users\_xeroxz\Desktop\bluepill\demo\util\util.hpp(252,45): warning C4312: 'type cast': conversion from 'DWORD' to 'void *' of greater size
main.cpp
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(66,1): warning C4005: 'STATUS_WAIT_0': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2510): message : see previous definition of 'STATUS_WAIT_0'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(222,1): warning C4005: 'STATUS_ABANDONED_WAIT_0': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2511): message : see previous definition of 'STATUS_ABANDONED_WAIT_0'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(245,1): warning C4005: 'STATUS_USER_APC': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2512): message : see previous definition of 'STATUS_USER_APC'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(281,1): warning C4005: 'STATUS_TIMEOUT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2513): message : see previous definition of 'STATUS_TIMEOUT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(290,1): warning C4005: 'STATUS_PENDING': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2514): message : see previous definition of 'STATUS_PENDING'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(737,1): warning C4005: 'DBG_EXCEPTION_HANDLED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2515): message : see previous definition of 'DBG_EXCEPTION_HANDLED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(746,1): warning C4005: 'DBG_CONTINUE': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2516): message : see previous definition of 'DBG_CONTINUE'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(821,1): warning C4005: 'STATUS_SEGMENT_NOTIFICATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2517): message : see previous definition of 'STATUS_SEGMENT_NOTIFICATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(984,1): warning C4005: 'STATUS_FATAL_APP_EXIT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2518): message : see previous definition of 'STATUS_FATAL_APP_EXIT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1304,1): warning C4005: 'DBG_REPLY_LATER': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2519): message : see previous definition of 'DBG_REPLY_LATER'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1322,1): warning C4005: 'DBG_TERMINATE_THREAD': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2520): message : see previous definition of 'DBG_TERMINATE_THREAD'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1331,1): warning C4005: 'DBG_TERMINATE_PROCESS': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2521): message : see previous definition of 'DBG_TERMINATE_PROCESS'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1340,1): warning C4005: 'DBG_CONTROL_C': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2522): message : see previous definition of 'DBG_CONTROL_C'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1349,1): warning C4005: 'DBG_PRINTEXCEPTION_C': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2523): message : see previous definition of 'DBG_PRINTEXCEPTION_C'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1358,1): warning C4005: 'DBG_RIPEXCEPTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2524): message : see previous definition of 'DBG_RIPEXCEPTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1367,1): warning C4005: 'DBG_CONTROL_BREAK': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2525): message : see previous definition of 'DBG_CONTROL_BREAK'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1376,1): warning C4005: 'DBG_COMMAND_EXCEPTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2526): message : see previous definition of 'DBG_COMMAND_EXCEPTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1385,1): warning C4005: 'DBG_PRINTEXCEPTION_WIDE_C': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2527): message : see previous definition of 'DBG_PRINTEXCEPTION_WIDE_C'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1417,1): warning C4005: 'STATUS_GUARD_PAGE_VIOLATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2528): message : see previous definition of 'STATUS_GUARD_PAGE_VIOLATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1428,1): warning C4005: 'STATUS_DATATYPE_MISALIGNMENT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2529): message : see previous definition of 'STATUS_DATATYPE_MISALIGNMENT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1439,1): warning C4005: 'STATUS_BREAKPOINT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2530): message : see previous definition of 'STATUS_BREAKPOINT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1450,1): warning C4005: 'STATUS_SINGLE_STEP': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2531): message : see previous definition of 'STATUS_SINGLE_STEP'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1753,1): warning C4005: 'STATUS_LONGJUMP': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2532): message : see previous definition of 'STATUS_LONGJUMP'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1780,1): warning C4005: 'STATUS_UNWIND_CONSOLIDATE': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2533): message : see previous definition of 'STATUS_UNWIND_CONSOLIDATE'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1884,1): warning C4005: 'DBG_EXCEPTION_NOT_HANDLED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2534): message : see previous definition of 'DBG_EXCEPTION_NOT_HANDLED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2030,1): warning C4005: 'STATUS_ACCESS_VIOLATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2535): message : see previous definition of 'STATUS_ACCESS_VIOLATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2039,1): warning C4005: 'STATUS_IN_PAGE_ERROR': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2536): message : see previous definition of 'STATUS_IN_PAGE_ERROR'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2057,1): warning C4005: 'STATUS_INVALID_HANDLE': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2537): message : see previous definition of 'STATUS_INVALID_HANDLE'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2102,1): warning C4005: 'STATUS_INVALID_PARAMETER': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2538): message : see previous definition of 'STATUS_INVALID_PARAMETER'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2202,1): warning C4005: 'STATUS_NO_MEMORY': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2539): message : see previous definition of 'STATUS_NO_MEMORY'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2259,1): warning C4005: 'STATUS_ILLEGAL_INSTRUCTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2540): message : see previous definition of 'STATUS_ILLEGAL_INSTRUCTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2340,1): warning C4005: 'STATUS_NONCONTINUABLE_EXCEPTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2541): message : see previous definition of 'STATUS_NONCONTINUABLE_EXCEPTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2349,1): warning C4005: 'STATUS_INVALID_DISPOSITION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2542): message : see previous definition of 'STATUS_INVALID_DISPOSITION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3282,1): warning C4005: 'STATUS_ARRAY_BOUNDS_EXCEEDED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2543): message : see previous definition of 'STATUS_ARRAY_BOUNDS_EXCEEDED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3292,1): warning C4005: 'STATUS_FLOAT_DENORMAL_OPERAND': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2544): message : see previous definition of 'STATUS_FLOAT_DENORMAL_OPERAND'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3302,1): warning C4005: 'STATUS_FLOAT_DIVIDE_BY_ZERO': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2545): message : see previous definition of 'STATUS_FLOAT_DIVIDE_BY_ZERO'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3312,1): warning C4005: 'STATUS_FLOAT_INEXACT_RESULT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2546): message : see previous definition of 'STATUS_FLOAT_INEXACT_RESULT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3322,1): warning C4005: 'STATUS_FLOAT_INVALID_OPERATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2547): message : see previous definition of 'STATUS_FLOAT_INVALID_OPERATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3332,1): warning C4005: 'STATUS_FLOAT_OVERFLOW': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2548): message : see previous definition of 'STATUS_FLOAT_OVERFLOW'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3342,1): warning C4005: 'STATUS_FLOAT_STACK_CHECK': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2549): message : see previous definition of 'STATUS_FLOAT_STACK_CHECK'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3352,1): warning C4005: 'STATUS_FLOAT_UNDERFLOW': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2550): message : see previous definition of 'STATUS_FLOAT_UNDERFLOW'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3362,1): warning C4005: 'STATUS_INTEGER_DIVIDE_BY_ZERO': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2551): message : see previous definition of 'STATUS_INTEGER_DIVIDE_BY_ZERO'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3372,1): warning C4005: 'STATUS_INTEGER_OVERFLOW': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2552): message : see previous definition of 'STATUS_INTEGER_OVERFLOW'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3382,1): warning C4005: 'STATUS_PRIVILEGED_INSTRUCTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2553): message : see previous definition of 'STATUS_PRIVILEGED_INSTRUCTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4328,1): warning C4005: 'STATUS_STACK_OVERFLOW': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2554): message : see previous definition of 'STATUS_STACK_OVERFLOW'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4845,1): warning C4005: 'STATUS_DLL_NOT_FOUND': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2555): message : see previous definition of 'STATUS_DLL_NOT_FOUND'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4874,1): warning C4005: 'STATUS_ORDINAL_NOT_FOUND': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2556): message : see previous definition of 'STATUS_ORDINAL_NOT_FOUND'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4884,1): warning C4005: 'STATUS_ENTRYPOINT_NOT_FOUND': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2557): message : see previous definition of 'STATUS_ENTRYPOINT_NOT_FOUND'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4894,1): warning C4005: 'STATUS_CONTROL_C_EXIT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2558): message : see previous definition of 'STATUS_CONTROL_C_EXIT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4972,1): warning C4005: 'STATUS_DLL_INIT_FAILED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2559): message : see previous definition of 'STATUS_DLL_INIT_FAILED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(5969,1): warning C4005: 'STATUS_CONTROL_STACK_VIOLATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2560): message : see previous definition of 'STATUS_CONTROL_STACK_VIOLATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(7527,1): warning C4005: 'STATUS_FLOAT_MULTIPLE_FAULTS': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2561): message : see previous definition of 'STATUS_FLOAT_MULTIPLE_FAULTS'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(7537,1): warning C4005: 'STATUS_FLOAT_MULTIPLE_TRAPS': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2562): message : see previous definition of 'STATUS_FLOAT_MULTIPLE_TRAPS'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(7669,1): warning C4005: 'STATUS_REG_NAT_CONSUMPTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2563): message : see previous definition of 'STATUS_REG_NAT_CONSUMPTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(8652,1): warning C4005: 'STATUS_HEAP_CORRUPTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2564): message : see previous definition of 'STATUS_HEAP_CORRUPTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(8880,1): warning C4005: 'STATUS_STACK_BUFFER_OVERRUN': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2565): message : see previous definition of 'STATUS_STACK_BUFFER_OVERRUN'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(9007,1): warning C4005: 'STATUS_INVALID_CRUNTIME_PARAMETER': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2566): message : see previous definition of 'STATUS_INVALID_CRUNTIME_PARAMETER'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(9070,1): warning C4005: 'STATUS_ASSERTION_FAILURE': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2567): message : see previous definition of 'STATUS_ASSERTION_FAILURE'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(9988,1): warning C4005: 'STATUS_ENCLAVE_VIOLATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2568): message : see previous definition of 'STATUS_ENCLAVE_VIOLATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(10415,1): warning C4005: 'STATUS_INTERRUPTED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2569): message : see previous definition of 'STATUS_INTERRUPTED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(10424,1): warning C4005: 'STATUS_THREAD_NOT_RUNNING': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2570): message : see previous definition of 'STATUS_THREAD_NOT_RUNNING'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(10718,1): warning C4005: 'STATUS_ALREADY_REGISTERED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2571): message : see previous definition of 'STATUS_ALREADY_REGISTERED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(14352,1): warning C4005: 'STATUS_SXS_EARLY_DEACTIVATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2573): message : see previous definition of 'STATUS_SXS_EARLY_DEACTIVATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(14361,1): warning C4005: 'STATUS_SXS_INVALID_DEACTIVATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2574): message : see previous definition of 'STATUS_SXS_INVALID_DEACTIVATION'
C:\Users\_xeroxz\Desktop\bluepill\demo\util\util.hpp(65,34): warning C4018: '<': signed/unsigned mismatch
C:\Users\_xeroxz\Desktop\bluepill\demo\util\util.hpp(240,24): warning C4018: '<': signed/unsigned mismatch
C:\Users\_xeroxz\Desktop\bluepill\demo\util\util.hpp(252,45): warning C4312: 'type cast': conversion from 'DWORD' to 'void *' of greater size
C:\Users\_xeroxz\Desktop\bluepill\demo\main.cpp(5,1): warning C4326: return type of 'main' should be 'int' instead of 'void'
C:\Users\_xeroxz\Desktop\bluepill\demo\main.cpp(49,14): warning C4477: 'printf' : format string '%p' requires an argument of type 'void *', but variadic argument 1 has type 'const uintptr_t'
C:\Users\_xeroxz\Desktop\bluepill\demo\main.cpp(50,14): warning C4477: 'printf' : format string '%p' requires an argument of type 'void *', but variadic argument 1 has type 'const uintptr_t'
vdm_ctx.cpp
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(66,1): warning C4005: 'STATUS_WAIT_0': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2510): message : see previous definition of 'STATUS_WAIT_0'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(222,1): warning C4005: 'STATUS_ABANDONED_WAIT_0': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2511): message : see previous definition of 'STATUS_ABANDONED_WAIT_0'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(245,1): warning C4005: 'STATUS_USER_APC': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2512): message : see previous definition of 'STATUS_USER_APC'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(281,1): warning C4005: 'STATUS_TIMEOUT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2513): message : see previous definition of 'STATUS_TIMEOUT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(290,1): warning C4005: 'STATUS_PENDING': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2514): message : see previous definition of 'STATUS_PENDING'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(737,1): warning C4005: 'DBG_EXCEPTION_HANDLED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2515): message : see previous definition of 'DBG_EXCEPTION_HANDLED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(746,1): warning C4005: 'DBG_CONTINUE': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2516): message : see previous definition of 'DBG_CONTINUE'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(821,1): warning C4005: 'STATUS_SEGMENT_NOTIFICATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2517): message : see previous definition of 'STATUS_SEGMENT_NOTIFICATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(984,1): warning C4005: 'STATUS_FATAL_APP_EXIT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2518): message : see previous definition of 'STATUS_FATAL_APP_EXIT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1304,1): warning C4005: 'DBG_REPLY_LATER': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2519): message : see previous definition of 'DBG_REPLY_LATER'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1322,1): warning C4005: 'DBG_TERMINATE_THREAD': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2520): message : see previous definition of 'DBG_TERMINATE_THREAD'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1331,1): warning C4005: 'DBG_TERMINATE_PROCESS': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2521): message : see previous definition of 'DBG_TERMINATE_PROCESS'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1340,1): warning C4005: 'DBG_CONTROL_C': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2522): message : see previous definition of 'DBG_CONTROL_C'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1349,1): warning C4005: 'DBG_PRINTEXCEPTION_C': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2523): message : see previous definition of 'DBG_PRINTEXCEPTION_C'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1358,1): warning C4005: 'DBG_RIPEXCEPTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2524): message : see previous definition of 'DBG_RIPEXCEPTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1367,1): warning C4005: 'DBG_CONTROL_BREAK': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2525): message : see previous definition of 'DBG_CONTROL_BREAK'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1376,1): warning C4005: 'DBG_COMMAND_EXCEPTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2526): message : see previous definition of 'DBG_COMMAND_EXCEPTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1385,1): warning C4005: 'DBG_PRINTEXCEPTION_WIDE_C': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2527): message : see previous definition of 'DBG_PRINTEXCEPTION_WIDE_C'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1417,1): warning C4005: 'STATUS_GUARD_PAGE_VIOLATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2528): message : see previous definition of 'STATUS_GUARD_PAGE_VIOLATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1428,1): warning C4005: 'STATUS_DATATYPE_MISALIGNMENT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2529): message : see previous definition of 'STATUS_DATATYPE_MISALIGNMENT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1439,1): warning C4005: 'STATUS_BREAKPOINT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2530): message : see previous definition of 'STATUS_BREAKPOINT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1450,1): warning C4005: 'STATUS_SINGLE_STEP': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2531): message : see previous definition of 'STATUS_SINGLE_STEP'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1753,1): warning C4005: 'STATUS_LONGJUMP': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2532): message : see previous definition of 'STATUS_LONGJUMP'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1780,1): warning C4005: 'STATUS_UNWIND_CONSOLIDATE': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2533): message : see previous definition of 'STATUS_UNWIND_CONSOLIDATE'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1884,1): warning C4005: 'DBG_EXCEPTION_NOT_HANDLED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2534): message : see previous definition of 'DBG_EXCEPTION_NOT_HANDLED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2030,1): warning C4005: 'STATUS_ACCESS_VIOLATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2535): message : see previous definition of 'STATUS_ACCESS_VIOLATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2039,1): warning C4005: 'STATUS_IN_PAGE_ERROR': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2536): message : see previous definition of 'STATUS_IN_PAGE_ERROR'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2057,1): warning C4005: 'STATUS_INVALID_HANDLE': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2537): message : see previous definition of 'STATUS_INVALID_HANDLE'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2102,1): warning C4005: 'STATUS_INVALID_PARAMETER': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2538): message : see previous definition of 'STATUS_INVALID_PARAMETER'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2202,1): warning C4005: 'STATUS_NO_MEMORY': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2539): message : see previous definition of 'STATUS_NO_MEMORY'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2259,1): warning C4005: 'STATUS_ILLEGAL_INSTRUCTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2540): message : see previous definition of 'STATUS_ILLEGAL_INSTRUCTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2340,1): warning C4005: 'STATUS_NONCONTINUABLE_EXCEPTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2541): message : see previous definition of 'STATUS_NONCONTINUABLE_EXCEPTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2349,1): warning C4005: 'STATUS_INVALID_DISPOSITION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2542): message : see previous definition of 'STATUS_INVALID_DISPOSITION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3282,1): warning C4005: 'STATUS_ARRAY_BOUNDS_EXCEEDED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2543): message : see previous definition of 'STATUS_ARRAY_BOUNDS_EXCEEDED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3292,1): warning C4005: 'STATUS_FLOAT_DENORMAL_OPERAND': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2544): message : see previous definition of 'STATUS_FLOAT_DENORMAL_OPERAND'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3302,1): warning C4005: 'STATUS_FLOAT_DIVIDE_BY_ZERO': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2545): message : see previous definition of 'STATUS_FLOAT_DIVIDE_BY_ZERO'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3312,1): warning C4005: 'STATUS_FLOAT_INEXACT_RESULT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2546): message : see previous definition of 'STATUS_FLOAT_INEXACT_RESULT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3322,1): warning C4005: 'STATUS_FLOAT_INVALID_OPERATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2547): message : see previous definition of 'STATUS_FLOAT_INVALID_OPERATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3332,1): warning C4005: 'STATUS_FLOAT_OVERFLOW': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2548): message : see previous definition of 'STATUS_FLOAT_OVERFLOW'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3342,1): warning C4005: 'STATUS_FLOAT_STACK_CHECK': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2549): message : see previous definition of 'STATUS_FLOAT_STACK_CHECK'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3352,1): warning C4005: 'STATUS_FLOAT_UNDERFLOW': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2550): message : see previous definition of 'STATUS_FLOAT_UNDERFLOW'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3362,1): warning C4005: 'STATUS_INTEGER_DIVIDE_BY_ZERO': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2551): message : see previous definition of 'STATUS_INTEGER_DIVIDE_BY_ZERO'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3372,1): warning C4005: 'STATUS_INTEGER_OVERFLOW': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2552): message : see previous definition of 'STATUS_INTEGER_OVERFLOW'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3382,1): warning C4005: 'STATUS_PRIVILEGED_INSTRUCTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2553): message : see previous definition of 'STATUS_PRIVILEGED_INSTRUCTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4328,1): warning C4005: 'STATUS_STACK_OVERFLOW': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2554): message : see previous definition of 'STATUS_STACK_OVERFLOW'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4845,1): warning C4005: 'STATUS_DLL_NOT_FOUND': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2555): message : see previous definition of 'STATUS_DLL_NOT_FOUND'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4874,1): warning C4005: 'STATUS_ORDINAL_NOT_FOUND': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2556): message : see previous definition of 'STATUS_ORDINAL_NOT_FOUND'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4884,1): warning C4005: 'STATUS_ENTRYPOINT_NOT_FOUND': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2557): message : see previous definition of 'STATUS_ENTRYPOINT_NOT_FOUND'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4894,1): warning C4005: 'STATUS_CONTROL_C_EXIT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2558): message : see previous definition of 'STATUS_CONTROL_C_EXIT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4972,1): warning C4005: 'STATUS_DLL_INIT_FAILED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2559): message : see previous definition of 'STATUS_DLL_INIT_FAILED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(5969,1): warning C4005: 'STATUS_CONTROL_STACK_VIOLATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2560): message : see previous definition of 'STATUS_CONTROL_STACK_VIOLATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(7527,1): warning C4005: 'STATUS_FLOAT_MULTIPLE_FAULTS': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2561): message : see previous definition of 'STATUS_FLOAT_MULTIPLE_FAULTS'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(7537,1): warning C4005: 'STATUS_FLOAT_MULTIPLE_TRAPS': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2562): message : see previous definition of 'STATUS_FLOAT_MULTIPLE_TRAPS'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(7669,1): warning C4005: 'STATUS_REG_NAT_CONSUMPTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2563): message : see previous definition of 'STATUS_REG_NAT_CONSUMPTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(8652,1): warning C4005: 'STATUS_HEAP_CORRUPTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2564): message : see previous definition of 'STATUS_HEAP_CORRUPTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(8880,1): warning C4005: 'STATUS_STACK_BUFFER_OVERRUN': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2565): message : see previous definition of 'STATUS_STACK_BUFFER_OVERRUN'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(9007,1): warning C4005: 'STATUS_INVALID_CRUNTIME_PARAMETER': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2566): message : see previous definition of 'STATUS_INVALID_CRUNTIME_PARAMETER'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(9070,1): warning C4005: 'STATUS_ASSERTION_FAILURE': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2567): message : see previous definition of 'STATUS_ASSERTION_FAILURE'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(9988,1): warning C4005: 'STATUS_ENCLAVE_VIOLATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2568): message : see previous definition of 'STATUS_ENCLAVE_VIOLATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(10415,1): warning C4005: 'STATUS_INTERRUPTED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2569): message : see previous definition of 'STATUS_INTERRUPTED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(10424,1): warning C4005: 'STATUS_THREAD_NOT_RUNNING': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2570): message : see previous definition of 'STATUS_THREAD_NOT_RUNNING'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(10718,1): warning C4005: 'STATUS_ALREADY_REGISTERED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2571): message : see previous definition of 'STATUS_ALREADY_REGISTERED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(14352,1): warning C4005: 'STATUS_SXS_EARLY_DEACTIVATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2573): message : see previous definition of 'STATUS_SXS_EARLY_DEACTIVATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(14361,1): warning C4005: 'STATUS_SXS_INVALID_DEACTIVATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2574): message : see previous definition of 'STATUS_SXS_INVALID_DEACTIVATION'
C:\Users\_xeroxz\Desktop\bluepill\demo\util\util.hpp(65,34): warning C4018: '<': signed/unsigned mismatch
C:\Users\_xeroxz\Desktop\bluepill\demo\util\util.hpp(240,24): warning C4018: '<': signed/unsigned mismatch
C:\Users\_xeroxz\Desktop\bluepill\demo\util\util.hpp(252,45): warning C4312: 'type cast': conversion from 'DWORD' to 'void *' of greater size
C:\Users\_xeroxz\Desktop\bluepill\demo\vdm_ctx\vdm_ctx.cpp(23,5): warning C4311: 'reinterpret_cast': pointer truncation from 'void *' to 'uint32_t'
C:\Users\_xeroxz\Desktop\bluepill\demo\vdm_ctx\vdm_ctx.cpp(23,5): warning C4302: 'reinterpret_cast': truncation from 'void *' to 'uint32_t'
C:\Users\_xeroxz\Desktop\bluepill\demo\vdm_ctx\vdm_ctx.cpp(50,15): warning C4312: 'type cast': conversion from 'uint32_t' to 'HANDLE' of greater size
Generating code
Previous IPDB not found, fall back to full compilation.
All 353 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
Finished generating code
demo.vcxproj -> C:\Users\_xeroxz\Desktop\bluepill\x64\Release\demo.exe

@ -0,0 +1,2 @@
PlatformToolSet=v142:VCToolArchitecture=Native32Bit:VCToolsVersion=14.28.29333:TargetPlatformVersion=10.0.19041.0:
Release|x64|C:\Users\_xeroxz\Desktop\bluepill\|

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -46,10 +46,21 @@ auto drv_entry(PDRIVER_OBJECT driver_object, PUNICODE_STRING registry_path) -> N
// copy the guest IDT entries...
memcpy(idt::table, (void*)idt_value.base_address, idt_value.limit);
// change gp, pf, and de to vmxroot handlers...
idt::table[general_protection] = idt::create_entry(hv::idt_addr_t{ __gp_handler }, idt::ist_idx::gp);
idt::table[page_fault] = idt::create_entry(hv::idt_addr_t{ __pf_handler }, idt::ist_idx::pf);
idt::table[divide_error] = idt::create_entry(hv::idt_addr_t{ __de_handler }, idt::ist_idx::de);
idt::table[general_protection] =
idt::create_entry(hv::idt_addr_t
{ __gp_handler }, idt::ist_idx::gp);
idt::table[page_fault] =
idt::create_entry(hv::idt_addr_t
{ __pf_handler }, idt::ist_idx::pf);
idt::table[divide_error] =
idt::create_entry(hv::idt_addr_t
{ __de_handler }, idt::ist_idx::de);
idt::table[non_maskable_interrupt] =
idt::create_entry(hv::idt_addr_t
{ __nmi_handler }, idt::ist_idx::nmi);
// used for SEH in vmxroot fault handler...
idt::image_base = driver_object->DriverStart;

@ -39,6 +39,33 @@ auto exit_handler(hv::pguest_registers regs) -> void
regs->rdx = result[3];
break;
}
case VMX_EXIT_REASON_NMI_WINDOW:
{
__debugbreak();
vmentry_interrupt_information interrupt{};
interrupt.interruption_type = interruption_type::non_maskable_interrupt;
interrupt.vector = EXCEPTION_NMI;
interrupt.valid = true;
--g_vcpu->nmi_counter;
__vmx_vmwrite(VMCS_CTRL_VMENTRY_INTERRUPTION_INFORMATION_FIELD, interrupt.flags);
if (!g_vcpu->nmi_counter) // no more nmi's then disable window exiting...
{
ia32_vmx_procbased_ctls_register procbased_ctls;
ia32_vmx_pinbased_ctls_register pinbased_ctls;
__vmx_vmread(VMCS_CTRL_PROCESSOR_BASED_VM_EXECUTION_CONTROLS, &procbased_ctls.flags);
__vmx_vmread(VMCS_CTRL_PIN_BASED_VM_EXECUTION_CONTROLS, &pinbased_ctls.flags);
procbased_ctls.nmi_window_exiting = false;
pinbased_ctls.virtual_nmi = false;
__vmx_vmwrite(VMCS_CTRL_PROCESSOR_BASED_VM_EXECUTION_CONTROLS, procbased_ctls.flags);
__vmx_vmwrite(VMCS_CTRL_PIN_BASED_VM_EXECUTION_CONTROLS, pinbased_ctls.flags);
}
return; // dont advance rip...
}
case VMX_EXIT_REASON_EXECUTE_XSETBV:
{
hv::msr_split value{};
@ -65,7 +92,7 @@ auto exit_handler(hv::pguest_registers regs) -> void
__except (EXCEPTION_EXECUTE_HANDLER)
{
vmentry_interrupt_information interrupt{};
interrupt.flags = interruption_type::hardware_exception;
interrupt.interruption_type = interruption_type::hardware_exception;
interrupt.vector = EXCEPTION_GP_FAULT;
interrupt.valid = true;
@ -94,7 +121,7 @@ auto exit_handler(hv::pguest_registers regs) -> void
__except (EXCEPTION_EXECUTE_HANDLER)
{
vmentry_interrupt_information interrupt{};
interrupt.flags = interruption_type::hardware_exception;
interrupt.interruption_type = interruption_type::hardware_exception;
interrupt.vector = EXCEPTION_GP_FAULT;
interrupt.valid = true;
@ -123,7 +150,7 @@ auto exit_handler(hv::pguest_registers regs) -> void
#UD If the LOCK prefix is used.
*/
vmentry_interrupt_information interrupt{};
interrupt.flags = interruption_type::hardware_exception;
interrupt.interruption_type = interruption_type::hardware_exception;
interrupt.vector = EXCEPTION_GP_FAULT;
interrupt.valid = true;
@ -213,7 +240,7 @@ auto exit_handler(hv::pguest_registers regs) -> void
else
{
vmentry_interrupt_information interrupt{};
interrupt.flags = interruption_type::hardware_exception;
interrupt.interruption_type = interruption_type::hardware_exception;
interrupt.vector = EXCEPTION_INVALID_OPCODE;
interrupt.valid = true;
@ -232,12 +259,11 @@ auto exit_handler(hv::pguest_registers regs) -> void
case VMX_EXIT_REASON_EXECUTE_VMXON:
{
vmentry_interrupt_information interrupt{};
interrupt.flags = interruption_type::hardware_exception;
interrupt.interruption_type = interruption_type::hardware_exception;
interrupt.vector = EXCEPTION_INVALID_OPCODE;
interrupt.valid = true;
__vmx_vmwrite(VMCS_CTRL_VMENTRY_INTERRUPTION_INFORMATION_FIELD, interrupt.flags);
// manual says there will never be an error code... so just put null...
__vmx_vmwrite(VMCS_VMEXIT_INTERRUPTION_ERROR_CODE, NULL);
return; // dont advance rip...
}

@ -658,6 +658,8 @@ namespace hv
u64 vmxon_phys;
u64 host_stack;
u64 error_code;
u8 nmi_counter;
tss64 tss;
segment_descriptor_64* gdt;
} vcpu_ctx, * pvcpu_ctx;

@ -10156,6 +10156,8 @@ typedef union
#define IA32_VMX_PROCBASED_CTLS 0x00000482
typedef union
{
uint64_t flags;
struct
{
uint64_t reserved1 : 2;
@ -10429,8 +10431,6 @@ typedef union
#define IA32_VMX_PROCBASED_CTLS_ACTIVATE_SECONDARY_CONTROLS(_) (((_) >> 31) & 0x01)
uint64_t reserved7 : 32;
};
uint64_t flags;
} ia32_vmx_procbased_ctls_register;

@ -45,6 +45,22 @@ auto seh_handler(hv::pidt_regs_t regs) -> void
}
}
auto nmi_handler(hv::pidt_regs_t regs) -> void
{
++g_vcpu->nmi_counter;
ia32_vmx_procbased_ctls_register procbased_ctls;
ia32_vmx_pinbased_ctls_register pinbased_ctls;
__vmx_vmread(VMCS_CTRL_PROCESSOR_BASED_VM_EXECUTION_CONTROLS, &procbased_ctls.flags);
__vmx_vmread(VMCS_CTRL_PIN_BASED_VM_EXECUTION_CONTROLS, &pinbased_ctls.flags);
procbased_ctls.nmi_window_exiting = true;
pinbased_ctls.virtual_nmi = true;
__vmx_vmwrite(VMCS_CTRL_PROCESSOR_BASED_VM_EXECUTION_CONTROLS, procbased_ctls.flags);
__vmx_vmwrite(VMCS_CTRL_PIN_BASED_VM_EXECUTION_CONTROLS, pinbased_ctls.flags);
}
namespace idt
{
auto create_entry(hv::idt_addr_t idt_handler, u8 ist_index) -> hv::idt_entry_t

@ -8,13 +8,16 @@
extern "C" void __gp_handler(void);
extern "C" void __pf_handler(void);
extern "C" void __de_handler(void);
extern "C" void __nmi_handler(void);
extern "C" void nmi_handler(hv::pidt_regs_t regs);
extern "C" void seh_handler(hv::pidt_regs_t regs);
namespace idt
{
__declspec(allocate(".idt"))
inline hv::idt_entry_t table[256];
enum ist_idx : u8 { de = 4, pf = 5, gp = 6};
enum ist_idx : u8 { nmi = 3, de = 4, pf = 5, gp = 6};
inline void* image_base = nullptr; // used for SEH...
auto create_entry(hv::idt_addr_t idt_handler, u8 ist_index) -> hv::idt_entry_t;

@ -1,6 +1,48 @@
extern seh_handler : proc
extern nmi_handler : proc
.code
__nmi_handler proc
push rax
push rbx
push rcx
push rdx
push rsi
push rdi
push rbp
push r8
push r9
push r10
push r11
push r12
push r13
push r14
push r15
mov rcx, rsp
sub rsp, 20h
call nmi_handler
add rsp, 20h
pop r15
pop r14
pop r13
pop r12
pop r11
pop r10
pop r9
pop r8
pop rbp
pop rdi
pop rsi
pop rdx
pop rcx
pop rbx
pop rax
add rsp, 8 ; remove exception code on the stack...
iretq
__nmi_handler endp
__de_handler proc
__pf_handler proc
__gp_handler proc

Loading…
Cancel
Save