Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. proc VMhost
  2.    
  3.     ;; es cs ss ds fs gs ldtr tr - selector
  4.     mov ax, es
  5.     mov [vm_mem.h_es_sel], ax
  6.     mov ax, cs
  7.     mov [vm_mem.h_cs_sel], ax
  8.     mov ax, ss
  9.     mov [vm_mem.h_ss_sel], ax
  10.     mov ax, ds
  11.     mov [vm_mem.h_ds_sel], ax
  12.     mov ax, fs
  13.     mov [vm_mem.h_fs_sel], ax
  14.     mov ax, gs
  15.     mov [vm_mem.h_fs_sel], ax
  16.    
  17.     mov word [vm_mem.h_tr_sel], 18h
  18.    
  19.    
  20.    
  21.     ;; ia32_sysenter_cs
  22.     mov ecx, 174h
  23.     rdmsr
  24.     mov [vm_mem.h_sysenter_cs], eax
  25.    
  26.     ;; pat
  27.    
  28.     ;; efer
  29.     mov ecx, 0c0000080h
  30.     rdmsr
  31.     mov [vm_mem.h_ia32_efer_f], eax
  32.     mov [vm_mem.h_ia32_efer_hi], edx
  33.    
  34.     ;; cr0 cr3 cr4
  35.     mov rax, cr0
  36.     mov [vm_mem.h_cr0], rax
  37.     mov rax, cr3
  38.     mov [vm_mem.h_cr3], rax
  39.     mov rax, cr4
  40.     mov [vm_mem.h_cr4], rax
  41.    
  42.     ;; fs gs tr gdtr idtr - base   
  43.     mov rax, GDT64
  44.     mov [vm_mem.h_gdtr_base], rax
  45.    
  46.     mov rax, IDT64
  47.     mov [vm_mem.h_idtr_base], rax
  48.    
  49.    
  50.    
  51.     ;; rsp rip ia32_sysenter_esp ia32_sysenter_eip
  52.     mov [vm_mem.h_rsp], RSP_BASE            ; = 200000h
  53.     mov rax, FromVM
  54.     mov [vm_mem.h_rip], rax
  55.    
  56.     ret
  57. endp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement