```rust use ncheat::*;

fn test() { unsafe { let process_name = "explorer.exe";

    let module_name = "ntdll.dll";

    let process_id = get_process_id_64(process_name).unwrap();

    println!("process_name: {process_name}");
    println!("process_id: {process_id}");
    let module_info = get_module_info_64(process_id, module_name).unwrap();

    println!("module_name: {module_name}");
    println!("module address: {:X}", module_info.modBaseAddr as isize,);
    println!("module size: {:X}", module_info.modBaseSize,);

    let data: [u8; 30] = [
        0x12, 0xAF, 0xBF, 0xC4, 0x51, 0x21, 0x98, 0x13, 0xFF, 0xBA, 0x12, 0xAF, 0xBF, 0xC4,
        0x51, 0x21, 0x98, 0x13, 0xFF, 0xBA, 0x12, 0xAF, 0xBF, 0xC4, 0x51, 0x21, 0x98, 0x13,
        0xFF, 0xBA,
    ];

    let offset = pattern_find("51 ** ** 13 FF **", &data).unwrap();

    println!("offset: {:?}", offset);

    let offsets = pattern_scan("51 ** ** 13 FF **", &data).unwrap();

    println!("offsets: {:?}", offsets);
}

} rust processname: explorer.exe processid: 16268 module_name: ntdll.dll module address: 7FFAA7E10000 module size: 1F5000 offset: 4 offsets: [4, 14, 24] ```