mod kvm; mod mem; mod qemu; fn main() { let vm = qemu::find_windows_vm().expect("no quickemu Windows VM found"); println!("[+] pid={} vm_fd={} vcpu_fds={:?}", vm.pid, vm.vm_fd, vm.vcpu_fds); let sregs = kvm::get_sregs(vm.vcpu_fds[0]).expect("KVM_GET_SREGS failed"); println!("[+] vcpu0 CR3={:#018x}", sregs.cr3); let regs = kvm::get_regs(vm.vcpu_fds[0]).expect("KVM_GET_REGS failed"); println!("[+] vcpu0 RIP={:#018x} RSP={:#018x}", regs.rip, regs.rsp); let guest = mem::GuestMem::attach(vm.pid).expect("failed to map guest RAM"); for r in &guest.regions { println!("[+] mem region GPA {:#010x}..{:#010x} (HVA {:#010x})", r.gpa_base, r.gpa_base + r.size, r.hva_base); } }