veeenu/hudhook
GitHub: veeenu/hudhook
Rust 实现的游戏渲染 API 钩子框架,支持 DirectX 与 OpenGL,可在目标进程中注入 Dear ImGui 覆盖层。
Stars: 341 | Forks: 52
# hudhook

[](https://github.com/veeenu/hudhook/releases)
[](https://crates.io/crates/hudhook)
[](https://github.com/veeenu/hudhook/blob/main/LICENSE)
[](https://discord.gg/jhF3jTTCUs)
[](https://veeenu.github.io/hudhook)
[](https://veeenu.github.io/hudhook/rustdoc/hudhook)
[](https://www.patreon.com/johndisandonato)
一个用于构建 [Dear ImGui](https://github.com/ocornut/imgui) 覆盖层的 Rust 渲染器 hook 库。
目前支持 DirectX 9、DirectX 11、DirectX 12 和 OpenGL 3。可在 Windows 和 Wine/Proton 上运行。

## 资源
- [教程书](https://veeenu.github.io/hudhook)。
- [API 参考](https://veeenu.github.io/hudhook/rustdoc/hudhook)。
- [架构博客文章](https://veeenu.github.io/blog/sekiro-practice-tool-architecture/)(略显过时)。
## 示例
```
// src/lib.rs
use hudhook::*;
pub struct MyRenderLoop;
impl ImguiRenderLoop for MyRenderLoop {
fn render(&mut self, ui: &mut imgui::Ui) {
ui.window("My first render loop")
.position([0., 0.], imgui::Condition::FirstUseEver)
.size([320., 200.], imgui::Condition::FirstUseEver)
.build(|| {
ui.text("Hello, hello!");
});
}
}
{
// Use this if hooking into a DirectX 9 application.
use hudhook::hooks::dx9::ImguiDx9Hooks;
hudhook!(ImguiDx9Hooks, MyRenderLoop);
}
{
// Use this if hooking into a DirectX 11 application.
use hudhook::hooks::dx11::ImguiDx11Hooks;
hudhook!(ImguiDx11Hooks, MyRenderLoop);
}
{
// Use this if hooking into a DirectX 12 application.
use hudhook::hooks::dx12::ImguiDx12Hooks;
hudhook!(ImguiDx12Hooks, MyRenderLoop);
}
{
// Use this if hooking into an OpenGL 3 application.
use hudhook::hooks::opengl3::ImguiOpenGl3Hooks;
hudhook!(ImguiOpenGl3Hooks, MyRenderLoop);
}
```
```
// src/main.rs
use hudhook::inject::Process;
fn main() {
let mut cur_exe = std::env::current_exe().unwrap();
cur_exe.push("..");
cur_exe.push("libmyhook.dll");
let cur_dll = cur_exe.canonicalize().unwrap();
Process::by_name("MyTargetApplication.exe").unwrap().inject(cur_dll).unwrap();
}
```
标签:Dear ImGui, DirectX, Hook框架, OpenGL, Rust, 图形渲染, 游戏辅助, 网络流量审计, 通知系统