libmwemu 0.24.4

x86 32/64bits and system internals emulator, for securely emulating malware and other stuff.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::emu;

pub fn GetWindowsDirectoryA(emu: &mut emu::Emu) {
    let lp_buffer = emu.regs().rcx as usize;
    let u_size = emu.regs().rdx as usize;
    log_red!(
        emu,
        "** {} kernel32!GetWindowsDirectoryA lp_buffer: 0x{:x} u_size: {}",
        emu.pos,
        lp_buffer,
        u_size
    );
    let output = emu.cfg.windows_directory.clone();
    emu.maps.write_string(lp_buffer as u64, &output);
    emu.regs_mut().rax = output.len() as u64;
}