D
DioProcess

DioProcess SDK

C/C++

Single-header C/C++ SDK for communicating with the DioProcess kernel driver. Build custom tools that leverage Ring 0 and Ring -1 capabilities.

Overview

The DioProcessSDK is a header-only library that provides a clean interface for communicating with the DioProcess kernel driver. It wraps all IOCTL codes, structures, and provides inline wrapper functions with proper error handling.

Documentation

Quick Example

#include "DioProcessSDK.h"

int main() {
    DioProcessSDK sdk;
    
    if (!sdk.Open()) {
        return 1;  // Driver not loaded or not admin
    }
    
    // Protect current process (PPL)
    sdk.ProtectProcess(GetCurrentProcessId());
    
    // Enable all privileges
    sdk.EnableAllPrivileges(GetCurrentProcessId());
    
    // Enumerate kernel callbacks
    BYTE buffer[8192];
    DWORD bytesReturned;
    if (sdk.EnumProcessCallbacks(buffer, sizeof(buffer), &bytesReturned)) {
        ULONG count = *(ULONG*)buffer;
        // Process callback information...
    }
    
    sdk.Close();
    return 0;
}

Features

šŸ›”ļø Process Protection

Apply/remove PPL protection, enable all privileges

šŸ” Callback Enumeration

Process, thread, image, object, registry callbacks

šŸ’‰ Kernel Injection

Ring 0 shellcode and DLL injection

šŸ”® Hypervisor Control

Start/stop HV, process hiding, EPT hooks

šŸ“‚ Driver Enumeration

List loaded drivers, minifilters, PspCidTable

šŸ•µļø Hiding Features

Process, file, port, driver hiding via Ring -1

Requirements

  • • Windows 10/11 — x64 only
  • • Visual Studio 2019+ or compatible C++17 compiler
  • • Administrator privileges — Required for driver communication
  • • DioProcess driver loaded — The kernel driver must be running

File Structure

sdk/
ā”œā”€ā”€ DioProcessSDK.h      # Single-header SDK (include this)
└── examples/
    └── hello_world.cpp  # Complete example program