1 个不稳定版本
0.1.0 | 2023 年 11 月 15 日 |
---|
#457 在 游戏
56KB
931 行
marauder
marauder 是一个 Windows (可能最终会支持其他操作系统) 游戏篡改 (有点像) 库,其主要目标是使创建 DLL 并将其注入进程变得容易。它还提供了一些读取/写入内存的实用工具,并计划支持所有类型的 D3D 钩子。
清单
- DLL 创建
- 简单注入
- 读取/写入内存的实用函数
- D3D 钩子
示例
以下将提供大量示例,如果您需要更深入的示例(通常带有注释),可以查看示例目录。
使用最小样板代码轻松创建 DLL
#[marauder::dll_main]
fn main() {
// This is a fully functional DLL ready for injection!
println!("I am a DLL inside the process, my module handle is: {}!", module_handle);
}
// We also support async! By default making your dll_main async you will be running on the tokio runtime
#[marauder::dll_main]
async fn main() {
}
注入
fn main() {
let dll_path = std::env::var("dll_path").expect("You must provide a dll path");
let path = std::path::Path::new(&dll_path);
if !path.exists() {
panic!("The DLL doesn't exist at {}", dll_path);
}
// By default the config will use a LoadLibrary injection with no stealth
let config = Config::default();
let injector = Injector::new(config);
let pid = marauder::windows::utils::get_process_id("target_process.exe").unwrap();
injector.inject(pid, &dll_path).unwrap();
println!("Successfully Injected!")
}
依赖项
~130MB
~2M SLoC