Skip to main content

Overview

SysWhispers4 generates C/ASM syscall stubs that invoke Windows NT kernel functions directly, bypassing user-mode hooks placed by AV/EDR products. This guide covers basic usage patterns and common workflows.

Quick Start

1

Clone the repository

2

Generate syscall stubs

Start with the common preset for general process/thread/memory operations:
Generated files:
  • SW4Syscalls_Types.h — NT type definitions (structures, enums, typedefs)
  • SW4Syscalls.h — Function prototypes and initialization declarations
  • SW4Syscalls.c — Runtime SSN resolution and helper functions
  • SW4Syscalls.asm — MASM syscall stubs (for MSVC)
3

Add to your project

Copy all generated files to your project directory and include the header:
4

Initialize at runtime

Call the initialization function at program startup:
5

Use NT functions

Call NT functions directly — all invocations bypass user-mode hooks:

Terminal Output Example

Common Workflows

Memory Operations

Thread Operations

Process Querying

Choosing Functions

Using Presets

Presets group commonly-used functions for specific tasks:
See Presets for complete preset documentation.

Selecting Specific Functions

Choose only the functions you need:

Combining Presets and Functions

Merge a preset with additional functions:

List Available Functions

Output:

Customizing Output

Change Symbol Prefix

Generates: MySyscalls_Initialize(), MySyscalls_NtAllocateVirtualMemory(), etc.

Change Output Directory

Change Output Filename

Generates: MyCalls_Types.h, MyCalls.h, MyCalls.c, MyCalls.asm

Understanding NT Status Codes

All NT functions return NTSTATUS values. Use the NT_SUCCESS() macro:
Common status codes:
  • STATUS_SUCCESS (0x00000000) — Operation succeeded
  • STATUS_ACCESS_DENIED (0xC0000022) — Insufficient privileges
  • STATUS_INVALID_PARAMETER (0xC000000D) — Bad parameter
  • STATUS_INSUFFICIENT_RESOURCES (0xC000009A) — Out of memory

Default Configuration

When you run python syswhispers.py --preset common, you get: See Advanced Evasion to customize these settings.

Next Steps

Advanced Evasion

Learn about SSN resolution methods, invocation techniques, and evasion features

MSVC Integration

Complete Visual Studio project setup guide

MinGW Integration

Integration with MinGW and Clang compilers

Presets Reference

Detailed documentation of all function presets