Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- proc VMhost
- ;; es cs ss ds fs gs ldtr tr - selector
- mov ax, es
- mov [vm_mem.h_es_sel], ax
- mov ax, cs
- mov [vm_mem.h_cs_sel], ax
- mov ax, ss
- mov [vm_mem.h_ss_sel], ax
- mov ax, ds
- mov [vm_mem.h_ds_sel], ax
- mov ax, fs
- mov [vm_mem.h_fs_sel], ax
- mov ax, gs
- mov [vm_mem.h_fs_sel], ax
- mov word [vm_mem.h_tr_sel], 18h
- ;; ia32_sysenter_cs
- mov ecx, 174h
- rdmsr
- mov [vm_mem.h_sysenter_cs], eax
- ;; pat
- ;; efer
- mov ecx, 0c0000080h
- rdmsr
- mov [vm_mem.h_ia32_efer_f], eax
- mov [vm_mem.h_ia32_efer_hi], edx
- ;; cr0 cr3 cr4
- mov rax, cr0
- mov [vm_mem.h_cr0], rax
- mov rax, cr3
- mov [vm_mem.h_cr3], rax
- mov rax, cr4
- mov [vm_mem.h_cr4], rax
- ;; fs gs tr gdtr idtr - base
- mov rax, GDT64
- mov [vm_mem.h_gdtr_base], rax
- mov rax, IDT64
- mov [vm_mem.h_idtr_base], rax
- ;; rsp rip ia32_sysenter_esp ia32_sysenter_eip
- mov [vm_mem.h_rsp], RSP_BASE ; = 200000h
- mov rax, FromVM
- mov [vm_mem.h_rip], rax
- ret
- endp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement