dyncvoke-spoof 0.1.0

Call stack spoofing primitives for Dyncvoke (synthetic and desync)
use core::ffi::c_void;
use core::ptr;

use data::lc;
use spoof::{spoof_syscall, AsPointer};

fn main() {
    let mut addr: *mut c_void = ptr::null_mut();
    let mut size: usize = 0x1000;

    let alloc = lc!("NtAllocateVirtualMemory");
    let status = spoof_syscall!(
        alloc.as_str(),
        -1isize,
        addr.as_ptr_mut(),
        0usize,
        size.as_ptr_mut(),
        0x3000u32,
        0x04u32
    );

    let code = match status {
        Ok(_) => 0,
        Err(_) => 1,
    };
    std::process::exit(code);
}