https://github.com/neodyme-labs/hyperhook
Cross-platform harnessing framework designed for Nyx-based fuzzers
https://github.com/neodyme-labs/hyperhook
binary-only fuzzing rust
Last synced: 6 months ago
JSON representation
Cross-platform harnessing framework designed for Nyx-based fuzzers
- Host: GitHub
- URL: https://github.com/neodyme-labs/hyperhook
- Owner: neodyme-labs
- License: apache-2.0
- Created: 2025-02-03T11:44:53.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-07T12:24:59.000Z (about 1 year ago)
- Last Synced: 2025-04-13T11:56:42.984Z (12 months ago)
- Topics: binary-only, fuzzing, rust
- Language: Rust
- Homepage:
- Size: 25.4 KB
- Stars: 13
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# HyperHook
Hyperhook is a cross-platform harnessing framework designed for Nyx-based fuzzers.
It provides essential functionalities such as issuing hypercalls, managing function hooks and detours, setting up resident memory pages, and enabling custom signal and exception handlers. Currently, it supports userspace targets on both Linux and Windows.
## Features
- Function detours by address or name
- Module and function resolving
- Signal and exception handling
- Nyx guest-to-host communication via hypercalls
- Config file for PT trace modules
- Malloc resident pages for fuzz input
- Debug logging to host via hypercalls
## Resources
- [HyperHook example usage with Nyx and LibAFL](https://neodyme.io/blog/hyperhook)
- [kAFL's documentation for Nyx setup](https://intellabs.github.io/kAFL/)
- [Generic LibAFL fuzzer for Nyx](https://github.com/AFLplusplus/LibAFL/tree/main/fuzzers/full_system/nyx_launcher)
## Getting Started
We provide [examples](https://github.com/neodyme-labs/hyperhook/tree/main/examples) for both Windows and Linux.
There is also a [selffuzz](https://github.com/neodyme-labs/hyperhook/tree/main/examples/selffuzz) example for testing purposes.
For a detailed setup instructions check out our [blog post](https://neodyme.io/blog/hyperhook).
## Known Issues
When building HyperHook for Windows targets in release mode, [the hooking seems to be unstable](https://github.com/Hpmason/retour-rs/issues/59).