Module hook

Module hook 

Source
Expand description

Hook type implementations

This module provides different hook types:

  • InlineHook: Standard prologue replacement hook
  • HotPatchHook: Windows hot-patching style hook
  • MidFunctionHook: Hook at arbitrary location within a function
  • HookChain: Multiple hooks on the same target
  • IatHook: Import Address Table hook
  • EatHook: Export Address Table hook
  • VehHook: Vectored Exception Handler hook
  • VmtHook / ShadowVmt: Virtual Method Table hooks

Re-exports§

pub use chain::HookChain;
pub use eat::EatHook;
pub use eat::EatHookBuilder;
pub use eat::EatHookGuard;
pub use eat::EatEntry;
pub use eat::enumerate_eat_entries;
pub use eat::find_eat_entry;
pub use eat::find_eat_entry_by_ordinal;
pub use hotpatch::HotPatchHook;
pub use iat::IatHook;
pub use iat::IatHookGuard;
pub use iat::IatEntry;
pub use iat::enumerate_iat_entries;
pub use iat::find_iat_entry;
pub use iat::hook_import;
pub use iat::hook_import_all;
pub use inline::InlineHook;
pub use mid::MidFunctionHook;
pub use veh::VehHook;
pub use veh::VehHookType;
pub use veh::DebugRegister;
pub use veh::BreakCondition;
pub use veh::BreakLength;
pub use veh::get_available_debug_register;
pub use vmt::VmtHook;
pub use vmt::VmtHookGuard;
pub use vmt::VmtHookBuilder;
pub use vmt::ShadowVmt;
pub use vmt::VmtObject;
pub use vmt::get_vtable;
pub use vmt::get_vtable_entry;
pub use vmt::estimate_vtable_size;

Modules§

chain
Hook chaining support
eat
EAT (Export Address Table) hooking
hotpatch
Hot-patch style hooks
iat
IAT (Import Address Table) hooking
inline
Standard inline hook implementation
mid
Mid-function hooks
veh
VEH (Vectored Exception Handler) hooking
vmt
VMT (Virtual Method Table) hooking

Traits§

Hook
common hook trait