use crate::{tests::helpers, *};
#[test]
pub fn sc64win_winver() {
helpers::setup();
let mut emu = emu64();
if !helpers::set_winver_maps(&mut emu, "win11") {
return; }
let loader = std::path::Path::new(&emu.cfg.maps_folder).join("loader.exe");
assert!(
loader.is_file(),
"loader.exe must be seeded into the winver maps folder ({})",
loader.display()
);
let sample = sample!("sc64win_metasploit.bin");
emu.load_code(&sample);
emu.run(Some(0x3c00c8));
emu.step();
emu.run(Some(0x3c00c8));
emu.step();
emu.run(Some(0x3c00c8));
emu.step();
emu.run(Some(0x3c00c8));
let stack = emu.regs().rsp;
let sockaddr_ptr = emu.maps.read_qword(stack + 8).unwrap();
let sockaddr = emu.maps.read_qword(sockaddr_ptr).unwrap();
assert_eq!(sockaddr, 0x12c190a5c110002);
}