[package]
edition = "2024"
rust-version = "1.94"
name = "ib-hook"
version = "0.2.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Windows binary and system hooking library."
readme = "README.md"
keywords = [
"hooking",
"detours",
"process",
"inject",
"shell",
]
license = "MIT"
repository = "https://github.com/Chaoses-Ib/ib-hook"
[package.metadata.docs.rs]
targets = ["x86_64-pc-windows-msvc"]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = ["std"]
doc = ["dep:document-features"]
inject-dll = [
"std",
"dep:dll-syringe",
"serde",
]
inject-dll-dll = [
"dep:dtor",
"dep:dll-syringe",
"serde",
]
inline = ["dep:slim-detours-sys"]
serde = ["dep:serde"]
std = [
"thiserror/std",
"serde?/std",
]
sysinfo = ["dep:sysinfo"]
tracing = ["dep:tracing"]
[lib]
name = "ib_hook"
path = "src/lib.rs"
[[bin]]
name = "inject-app-dll"
path = "src/bin/inject-app-dll.rs"
required-features = ["inject-dll"]
[[example]]
name = "app-dll"
crate-type = ["cdylib"]
path = "examples/app-dll.rs"
required-features = [
"inject-dll",
"inject-dll-dll",
]
[[example]]
name = "app-dll-unapply"
crate-type = ["cdylib"]
path = "examples/app-dll-unapply.rs"
required-features = [
"inject-dll",
"inject-dll-dll",
]
[dependencies.bon]
version = "3"
[dependencies.derive_more]
version = "2"
features = [
"deref",
"deref_mut",
"display",
"from",
]
[dependencies.dll-syringe]
version = "0.17"
features = [
"payload-utils",
"rpc-core",
]
optional = true
[dependencies.document-features]
version = "0.2"
optional = true
[dependencies.dtor]
version = "0.1"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
default-features = false
[dependencies.sysinfo]
version = ">=0.34,<0.39"
features = ["system"]
optional = true
default-features = false
[dependencies.thiserror]
version = "2"
default-features = false
[dependencies.tracing]
version = "0.1"
optional = true
[dev-dependencies.test-log]
version = "0.2"
features = [
"trace",
"unstable",
]
default-features = false
[target.'cfg(target_family = "windows")'.dependencies.slim-detours-sys]
version = "0.4"
optional = true
[target.'cfg(target_family = "windows")'.dependencies.windows]
version = "0.62"
features = [
"Win32_System_LibraryLoader",
"Win32_System_Threading",
"Win32_UI_Controls",
"Win32_UI_WindowsAndMessaging",
]