Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Reloaded-Project/Reloaded.Hooks
Advanced native function hooks for x86, x64. Welcome to the next level!
https://github.com/Reloaded-Project/Reloaded.Hooks
api-hooking csharp detours game-hacking hooks reverse-engineering trampolines x64 x86-32 x86-64
Last synced: 4 days ago
JSON representation
Advanced native function hooks for x86, x64. Welcome to the next level!
- Host: GitHub
- URL: https://github.com/Reloaded-Project/Reloaded.Hooks
- Owner: Reloaded-Project
- License: lgpl-3.0
- Created: 2018-12-30T20:18:24.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-03-03T05:11:20.000Z (8 months ago)
- Last Synced: 2024-11-03T13:07:56.207Z (7 days ago)
- Topics: api-hooking, csharp, detours, game-hacking, hooks, reverse-engineering, trampolines, x64, x86-32, x86-64
- Language: C#
- Homepage:
- Size: 8.4 MB
- Stars: 213
- Watchers: 12
- Forks: 33
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
README
# Introduction
Reloaded.Hooks is a library for intercepting and modifying existing binary functions on `x86` and `x64` machines. It is most often used to either intercept Win32 API calls (e.g. `NtCreateFile` to find out what files the current process is loading) or to patch existing functions within a program; e.g. patching software at runtime.If this concept is unfamiliar to you; I would suggest to research the term `Hooking` while reading the documentation.
Reloaded.Hooks is a managed alternative to native libraries such as `MinHook` and `Detours`, targeted at tackling more advanced/difficult use cases; such as when functions do not use standard *[calling conventions](https://en.wikipedia.org/wiki/Calling_convention)*.
## Feature Highlights
+ Support for x86 and x64 architectures.
+ Call & hook unmanaged functions with *custom calling conventions*.
+ Stack function hooks. You can hook already hooked functions as many times as you like.
+ Mid function x86/x64 assembly hooks; similar to the likes of `Cheat Engine`.
+ Highly compatible. Detects & patches common variations of existing function hooks when hooking. Hook functions hooked by other libraries; this feature is unique to Reloaded.Hooks.
+ Generate native wrapper functions for converting between custom calling conventions. e.g. Stdcall to Fastcall converter.
+ Many lower level utility functions allowing you to deal with things like *Virtual Function Tables*.## Documentation
As advanced as the library may sound, in reality using the library is super simple.
Please visit the [dedicated documentation site for getting started](https://reloaded-project.github.io/Reloaded.Hooks/).In addition, feel free to look through `Reloaded.Hooks.Tests` for some ideas 😉.
## Contributions
As with the standard for all of the `Reloaded-Project`, repositories; contributions are very welcome and encouraged.Feel free to implement new features, make bug fixes or suggestions so long as they are accompanied by an issue with a clear description of the pull request.
If you are implementing new features, please do provide the appropriate unit tests to cover the new features you have implemented; try to keep the coverage high 😊.
## Authors & Contributions
- Reloaded.Hooks uses the `Flat Assembler` (FASM) by Tomasz Grysztar.
- Reloaded.Hooks uses the `Iced` library by 0xd4d.
### Legacy
- Older versions of `Reloaded.Hooks` used the `SharpDisasm` library by *Justin Stenning (spazzarama)*, a partial port of Udis86 by *Vivek Thampi*. Both of these libraries are originally distributed under the under the 2-clause "Simplified BSD License".