C++ MIT

LightHook

Single-header, minimalistic, cross-platform hook library written in pure C

S

SamuelTulach

Dernière activité 3 janv. 2026
SamuelTulach/LightHook

397

étoiles

57

forks

4

issues ouvertes

efihookhook-librarykernelmodelinuxsingle-header-libraryusermodewindows

Ce README est souvent en anglais.

logo

Single-header, minimalistic, cross-platform hook library written in pure C for x86-64 based systems.

But... why?

While other well-written libraries that do exactly the same already exist, I wanted to have something simple that would not use an entire disassembler engine which can sometimes be painful to include in a project.

Pros of this library:

  • Written in pure C
  • No dependencies (no full disassembler engine)
  • Single header
  • Works in both kernelmode/usermode
  • Cross-platform (Windows/Linux/EFI)
  • Easily portable (3 functions to allocate/free/protect memory that are platform specific)

Cons of this library:

  • Breaks when a function starts with unsupported instructions (ex. AVX)
  • Breaks when a function starts with instructions accessing memory using relative addressing (call/jmp/cmp)

Showcase

linux wink winu efi

Usage

Include the header file in your project. Initialise hook structure by calling CreateHook. Perform the actual hook by calling EnableHook and optionally revert the hook with a call to DisableHook.

HookInformation info = CreateHook((void*)&FunctionToHook, (void*)&FunctionToCall);
int status = EnableHook(&info);
if (!status)
    return;

// Call the original function with info.Trampoline
FunctionToHook(10, 20);

DisableHook(&info)

License

This repository is licensed under MIT if not stated otherwise in subfolders.

Projets similaires

Linux Kernel hooking engine (x86)

Chookinglinux-kernellinux-kernel-module
Mmilabs
392 étoiles58

The Minimalistic x86/x64 API Hooking Library for Windows

C
TTsudaKageyu
6 k étoiles1,1 k

ebpf-go is a pure-Go library to read, modify and load eBPF programs and attach them to various hooks in the Linux kernel.

Gobtfebpfgo
Ccilium
8 k étoiles893