0xvpr / vpr-deviate

C99/C++20 Header only library for dependency free function hooking in windows.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

vpr-deviate

Function Hooking/Detouring Header Only Library (Windows)

Installation

In root directory run the following (or just copy the header from vpr/)

curl -LSso- https://raw.githubusercontent.com/0xvpr/vpr-toolkit/main/vpr-toolkit | python3 - -p ./include -ivpr-deviate

Example Usage

#include <vpr/deviate.h>
#include <stdio.h>

void target(int x) {
    fprintf(stdout, "%d\n", x);
}

void func(int x) {
    fprintf(stdout, "%d\n", x*x);
}

int main() {
    target(5); // 5
    vpr_deviate_detour((void *)target, (void *)func, nullptr, 0);
    target(5); // 25

    return 0;
}

Compilation

Use GCC or Clang. MSVC won't accept the inline assembly for x64.

About

C99/C++20 Header only library for dependency free function hooking in windows.

License:MIT License


Languages

Language:C++ 98.1%Language:CMake 1.1%Language:Python 0.8%