diff --git a/Voyager/PayLoad (Intel)/x64.asm b/Voyager/PayLoad (Intel)/x64.asm new file mode 100644 index 0000000..86ee849 --- /dev/null +++ b/Voyager/PayLoad (Intel)/x64.asm @@ -0,0 +1,29 @@ + +.CONST + +VMX_OK EQU 0 +VMX_ERROR_WITH_STATUS EQU 1 +VMX_ERROR_WITHOUT_STATUS EQU 2 + +.CODE +; unsigned char __stdcall AsmInvept( +; _In_ InvEptType invept_type, +; _In_ const InvEptDescriptor *invept_descriptor); +AsmInvept PROC + ; invept ecx, oword ptr [rdx] + db 66h, 0fh, 38h, 80h, 0ah + jz errorWithCode ; if (ZF) jmp + jc errorWithoutCode ; if (CF) jmp + xor rax, rax ; return VMX_OK + ret + +errorWithoutCode: + mov rax, VMX_ERROR_WITHOUT_STATUS + ret + +errorWithCode: + mov rax, VMX_ERROR_WITH_STATUS + ret +AsmInvept ENDP + +END