HyperDbg Debugger
Loading...
Searching...
No Matches
linux Directory Reference

Directories

 
mock

Detailed Description

HyperDbg for Linux

Status

⚠️ HyperDbg for Linux is not yet ready.

Linux is currently not supported.

We are in the process of porting HyperDbg to Linux. This effort is ongoing and may take some time to complete.

Contributing to the Linux Port

HyperDbg is being ported from Windows to Linux. The work is incremental: most of the codebase compiles file-by-file as the Win32-specific calls get replaced with a platform-independent interface.

Building

cmake . # generate the Makefiles
make # build

Run these from the repo root (or the relevant subdirectory). cmake . only needs to be re-run when the CMake files change; otherwise make is enough.

How to contribute

The port progresses one source file at a time. To pick up work:

  1. Build and find the next file that fails to compile.
  2. Go through it and make it Linux-compatible.
  3. Where the code calls Windows-only APIs (serial, registry, signals, threads, etc.), don't #ifdef inline — route the call through the platform-independent interface so both Windows and Linux share the same call site with separate backing implementations.
  4. Rebuild until the file is clean, then move to the next one.

The platform interface

User-mode abstractions live in include/platform/user/ (header/ for the interface, code/ for the implementations). See existing examples such as platform-serial, platform-signal, and platform-ioctl for the pattern to follow. Kernel-mode equivalents are under include/platform/kernel/.

Guidelines

  • Keep platform-specific code behind the platform abstraction, not scattered through the logic.
  • Match the surrounding code's style and conventions.
  • Build before submitting — every changed file should compile.