ULONG ErrorCode= VMRead_ULONG(0x00004400); Log( "VM Instruction Error" , ErrorCode ); } VMMExitProc extern "C" __declspec( naked ) VOID VMMExitProc( ) { __asm CLI __asm PUSHAD //保存通用寄存器 __asm MOV GuestEAX, EAX __asm MOV GuestEBX, EBX __asm MOV GuestECX, ECX __asm ...
如果发生VM退出(例如,Guest执行了CPUID指令),GuestRIP保持不变,并且由VMM决定是否更改Guest的RIP,因此如果我们没有某种功能来管理这种情况,然后处理器执行CPUID指令的无限循环,因为我们没有增加RIP。 为了解决这个问题,我们必须读取一个名为VM_EXIT_INSTRUCTION_LEN的 VMCS 字段,该字段存储导致 VM-exit的指令的长度。
在volume 3 .chapter 30.4 < VM instruction error numbers > 可以查阅错误码 》 0x7: VM entry invalid control field(s) 查看VMCS 的fields: 好,那填充 Control Fields: VM-Execution Control Fields: 有两种VM-Execution Controls 组成 Pin-Based VM-Execution Controls 这个就是针脚--硬件断点;这里设置是否拦...
Vmx_VmLaunch(); //执行成功,直接跳走,不再向下执行,执行失败,EFLAG的CF或ZF位置1// VM - instruction错误字段将会包含错误代码// Log("ERROR: VmLaunch指令调用失败!!!",Vmx_VmRead(VM_INSTRUCTION_ERROR)); //从错误字段中读取错误号// Intel第三卷 30-4中可以查看错误号// return STATUS_SUCCESS; } ...
7 8 9 10 __vmx_vmlaunch();/// if VMLAUNCH succeeds will never be here!//ULONG64ErrorCode=0;__vmx_vmread(VM_INSTRUCTION_ERROR,&ErrorCode);__vmx_off();DbgPrint("[*] VMLAUNCH Error : 0x%llx\n",ErrorCode);DbgBreakPoint(); The...
asthey arereservedforfutureexpansion.Itis recommendedthatsoftware“bzero”any newlyallocatedVMCB. •见手册A2中的tableb-1 state-savearea •Thestate-saveareawithintheVMCBstartsat offset400hintotheVMCBpage •见A2中的tableb-2 SVMInterceptExitCodes •WhentheVMRUNinstructionexits(backto thehost),an...
—0:Active.Thelogicalprocessorisexecutinginstructionsnormally.—1:HLT.ThelogicalprocessorisinactivebecauseitexecutedtheHLTinstruction.—2:Shutdown.Thelogicalprocessorisinactivebecauseitincurredatriplefault2orsomeotherseriouserror.—3:Wait-for-SIPI.Thelogicalprocessorisinactivebecauseitiswaitingforastartup-IPI(SIPI)...
5)VM-entry exception error code 字段 6)VM-entry instruction length字段 4 5 6 用于控制事件注入 含有注入事件的VM-entry被称为"向量化的VM-entry" 6)VM-exit信息区域 VM-exit的直接向量事件信息类字段有两个: VM-exit interruption information 和 ...
在volume 3 .chapter 30.4 < VM instruction error numbers > 可以查阅错误码 》 0x7: VM entry invalid control field(s) 查看VMCS 的fields: 好,那填充 Control Fields: VM-Execution Control Fields: 有两种VM-Execution Controls 组成 Pin-Based VM-Execution Controls 这个就是针脚--硬件断点;这里设置是否拦...