# cheatrs **Repository Path**: hXoreyer/cheatrs ## Basic Information - **Project Name**: cheatrs - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-06 - **Last Updated**: 2026-02-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # cheatrs Windows 游戏内存操作库,用 Rust 编写。 ## 功能特性 - **进程操作** - 按名称查找进程 - 打开进程句柄 - 读取和写入进程内存 - 获取模块基址 - 启用调试权限 - **内存钩子** - 32 位 (x86) 函数拦截 - 64 位 (x64) 函数拦截 - 自动保存所有通用寄存器 - Shellcode 生成 - 钩子安装和卸载 - **覆盖层渲染** - 透明覆盖层窗口 - 双缓冲渲染 - 矩形、圆形、直线绘制 - 文本渲染 - **输入模拟** - 鼠标输入模拟 - 键盘输入模拟 - **坐标转换** - 世界坐标到屏幕坐标转换 ## 快速开始 ### 进程内存操作 ```rust use cheatrs::*; fn main() -> Result<(), String> { // 启用调试权限 enable_debug_privilege()?; // 查找进程 let pid = find_process_id("notepad.exe")?; // 打开进程句柄 let process = ProcessHandle::open(pid)?; // 读取内存 let value: u32 = read_memory(&process, 0x00400000)?; println!("读取的值: {}", value); Ok(()) } ``` ### 64 位 Hook 使用 ```rust use cheatrs::*; fn main() -> Result<(), String> { enable_debug_privilege()?; let pid = find_process_id("Tutorial-x86_64.exe")?; let handle = ProcessHandle::open(pid)?; let base_addr = get_module_base_address(pid, "Tutorial-x86_64.exe")?; // 创建 Hook let hook_addr = base_addr + 0x2DB57; let mut hook = Hook64::new(&handle, hook_addr as u64, 7)?; // 生成 shellcode hook.generate_shellcode()?; // 安装 Hook hook.hook()?; // 读取寄存器 if hook.has_triggered()? { let rsi = hook.get_rsi()?; println!("RSI = 0x{:X}", rsi); } // 卸载 Hook hook.unhook()?; Ok(()) } ``` ## 项目结构 ``` src/ ├── lib.rs # 库入口 ├── types.rs # 向量、矩阵、颜色类型 ├── constants.rs # Windows API 常量 ├── process.rs # 进程和内存操作 ├── hook.rs # 内存钩子 (32/64 位) ├── drawing.rs # GDI32 绘图 ├── window.rs # 覆盖层窗口和输入模拟 └── utils.rs # 坐标转换工具 ``` ## 依赖 - Rust 2021 edition - windows crate v0.59 ## 构建和运行 ```bash # 构建库 cargo build # 运行示例 cargo run --example your_example # 运行测试 cargo test ``` ## 架构支持 - **32 位 (x86)**: `Hook` 结构体 - **64 位 (x64)**: `Hook64` 结构体 64 位 Hook 会自动在目标地址附近 2GB 范围内分配内存,确保相对跳转指令正常工作。 ## 安全警告 本软件专为游戏作弊设计,可能违反游戏和反作弊系统的服务条款。请负责任地使用,仅用于授权的安全研究或教育目的。 使用本软件造成的任何后果由使用者自行承担。 ## 许可证 MIT License - 详见 [LICENSE](LICENSE) 文件 ## 免责声明 本项目仅供学习和研究目的。作者不对因使用本软件造成的任何损害负责。