use toy_arms::{detect_keydown, get_module_function_address, get_module_handle, HMODULE, Module, VirtualKeyCode};
use toy_arms::cast;
toy_arms::create_entrypoint!(hack_main_thread);
const DW_FORCE_ATTACK: usize = 0x31EFCB4;
fn hack_main_thread() {
let module_handle: HMODULE = get_module_handle("client.dll");
println!("module handle = {:?}", module_handle as usize);
unsafe {
let function_address = get_module_function_address("USER32.dll", "MessageBoxA");
println!("function address = {:?}", function_address);
}
let memory = Module::from_module_name("client.dll");
let shoot_flag = cast!(mut module_handle as usize + DW_FORCE_ATTACK, u8);
loop {
unsafe {
*shoot_flag = 5u8;
}
if detect_keydown(VirtualKeyCode::VK_INSERT) {
break
}
}
}