Skip to main content

ib_shell/hook/
dll.rs

1use ib_hook::inject::dll::app::DllApp;
2
3use crate::hook::{inject::ShellDll, set_hook};
4
5ib_hook::inject::dll::app::export_apply!(apply_hook, "ib_shell_apply");
6
7fn apply_hook(input: Option<<ShellDll as DllApp>::Input>) -> <ShellDll as DllApp>::Output {
8    if let Some(input) = &input {
9        ib_hook::inject::dll::dll::spawn_wait_and_free_current_module_once!(input.injector, || {
10            apply_hook(None);
11            0
12        });
13    }
14    set_hook(input.map(|i| i.config));
15}