A c++ header only library for inline hooking. Supports x86_64, x86, and arm. Small, simple, and easily detected :)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
xerox b638b914c5
Upload New File
5 years ago
Hook.cpp Upload New File 5 years ago
Hook.hpp Upload New File 5 years ago
README.md Update README.md 5 years ago
main.cpp Upload New File 5 years ago

README.md

shithook

An inline hooking library for windows. I had issues with other public hooking libraries so I made my own stinker.

usage

Installing the hook/Init.

Hook::Install(
    (uintptr_t) &WriteFile,     //address to put inline hook at.
    (uintptr_t) &HookWriteFile  //address to jmp too.
);

Disabling the hook so you can call the original function.

 Hook::Disable((uintptr_t)&WriteFile);
 WriteFile(.....)

Enabling the hook.

Hook::Enable((uintptr_t)&WriteFile);

info

All hooks are stored inside of a std::map<uintptr_t, std::unique_ptr<Detour>> for quick and easy access to each object. All functions interacting with this vector will use the address of the inline hook as the key so mak sure the address is easy to access in your code!