Skip to main content

Overview

SysWhispers4 supports 64 Windows NT kernel functions spanning memory management, process/thread control, file I/O, token manipulation, and synchronization primitives. All functions are prefixed with SW4_ (customizable via --prefix flag) and return NTSTATUS codes.

Memory Management (8 functions)

Direct syscalls for virtual memory allocation, protection, and querying.

NtAllocateVirtualMemory

Allocates virtual memory in a process.
Use cases: Remote memory allocation, shellcode staging, DLL injection

NtAllocateVirtualMemoryEx

Extended allocation with NUMA support (Windows 10+).

NtFreeVirtualMemory

Frees allocated virtual memory.

NtWriteVirtualMemory

Writes data to process memory.
Use cases: Shellcode injection, process patching, data exfiltration

NtReadVirtualMemory

Reads data from process memory.
Use cases: Memory dumping, credential extraction, process inspection

NtProtectVirtualMemory

Changes memory protection flags.
Use cases: RWX → RX transitions, unhooking, memory obfuscation

NtQueryVirtualMemory

Retrieves memory region information.
Use cases: Memory enumeration, protection analysis, region discovery

NtSetInformationVirtualMemory

Sets virtual memory attributes (Windows 10+).
Use cases: Memory prefetching, page priority

Section / Mapping (4 functions)

Section objects for memory-mapped files and inter-process memory sharing.

NtCreateSection

Creates a section object.
Use cases: Process hollowing, shared memory, module mapping

NtOpenSection

Opens an existing section object.
Use cases: Accessing \KnownDlls\, shared sections

NtMapViewOfSection

Maps a section into process address space.
Use cases: Process hollowing, reflective loading, module injection

NtUnmapViewOfSection

Unmaps a section view.
Use cases: Process hollowing cleanup, memory unmapping

Process Management (9 functions)

Process creation, termination, suspension, and information querying.

NtOpenProcess

Opens a handle to a process.
Use cases: Remote injection, process manipulation, privilege escalation

NtCreateProcess

Creates a new process (legacy).

NtCreateProcessEx

Extended process creation.
Use cases: Process doppelganging, advanced hollowing

NtCreateUserProcess

Comprehensive process creation (Windows Vista+).

NtTerminateProcess

Terminates a process.
Use cases: Process killing, cleanup, anti-debugging

NtSuspendProcess

Suspends all threads in a process.
Use cases: Process freezing, inspection, debugging

NtResumeProcess

Resumes a suspended process.

NtQueryInformationProcess

Queries process information.
Use cases: PEB address retrieval, debug port detection, command line extraction

NtSetInformationProcess

Sets process information.
Use cases: Critical process flag, DEP policy, priority class

Thread Management (14 functions)

Thread creation, manipulation, context control, and APC queuing.

NtCreateThreadEx

Creates a thread in a process.
Use cases: Remote thread injection, shellcode execution

NtOpenThread

Opens a handle to a thread.

NtTerminateThread

Terminates a thread.

NtSuspendThread

Suspends a thread.
Use cases: Thread hijacking, context manipulation

NtResumeThread

Resumes a suspended thread.

NtGetContextThread

Retrieves a thread’s CPU context (registers).
Use cases: Register dumping, RIP hijacking

NtSetContextThread

Sets a thread’s CPU context.
Use cases: Thread hijacking, RIP redirection, context spoofing

NtQueueApcThread

Queues an APC to a thread.
Use cases: APC injection, code execution in alertable threads

NtQueueApcThreadEx

Extended APC queuing (Windows 7+).

NtQueryInformationThread

Queries thread information.

NtSetInformationThread

Sets thread information.
Use cases: Hide from debugger, set thread priority

NtTestAlert

Tests if APCs are pending.

NtAlertThread

Alerts a thread (forces APC delivery).

NtAlertResumeThread

Alerts and resumes a thread.
Use cases: APC injection with resume

Synchronization (10 functions)

Handles, events, timers, and wait operations.

NtClose

Closes a handle.
Always close handles to avoid leaks!

NtDuplicateObject

Duplicates a handle.
Use cases: Handle duplication across processes

NtWaitForSingleObject

Waits for an object to be signaled.
Use cases: Thread completion, event waiting

NtWaitForMultipleObjects

Waits for multiple objects.

NtSignalAndWaitForSingleObject

Signals one object and waits for another.

NtCreateEvent

Creates an event object.

NtSetEvent

Sets an event to signaled state.

NtResetEvent

Resets an event to non-signaled state.

NtCreateTimer

Creates a timer object.

NtSetTimer

Sets a timer.
Use cases: Sleep encryption, delayed execution

File I/O (5 functions)

NT-level file operations.

NtCreateFile

Creates or opens a file.
Use cases: File dropping, data exfiltration

NtOpenFile

Opens an existing file.

NtReadFile

Reads from a file.

NtWriteFile

Writes to a file.
Use cases: File dropper, log writing

NtDeleteFile

Deletes a file.
Use cases: Self-deletion, cleanup

Token Manipulation (6 functions)

Token access, privilege escalation, and impersonation.

NtOpenProcessToken

Opens a process token.
Use cases: Privilege enumeration, token theft

NtOpenThreadToken

Opens a thread token.

NtQueryInformationToken

Queries token information.
Use cases: Elevation check, privilege enumeration, SID extraction

NtAdjustPrivilegesToken

Enables or disables token privileges.
Use cases: Enable SeDebugPrivilege, privilege escalation

NtDuplicateToken

Duplicates a token.
Use cases: Token theft, impersonation, lateral movement

NtImpersonateThread

Impersonates a thread’s security context.
Use cases: SYSTEM impersonation, context switching

Transaction Management (3 functions)

KTM (Kernel Transaction Manager) for process doppelganging.

NtCreateTransaction

Creates a transaction object.
Use cases: Process doppelganging, transactional NTFS

NtRollbackTransaction

Rolls back a transaction.

NtCommitTransaction

Commits a transaction.

Miscellaneous (5 functions)

Utility functions for delays, system information, and low-level control.

NtDelayExecution

Delays execution (sleep).
Use cases: Sleep without calling Sleep(), alertable sleep

NtQuerySystemInformation

Queries system-wide information.
Use cases: Process enumeration, handle enumeration, system stats

NtQueryObject

Queries object information.

NtFlushInstructionCache

Flushes instruction cache.
Use cases: After writing shellcode, ensure CPU sees updated instructions

NtContinue

Continues execution after exception.
Use cases: Exception handling, control flow manipulation

Function Count by Category


Preset Mappings

SysWhispers4 provides 8 presets for common use cases:

--preset common (25 functions)

General-purpose process/thread/memory operations.

--preset injection (20 functions)

Shellcode injection, APC injection, section mapping.

--preset evasion (15 functions)

AV/EDR evasion and detection bypass.

--preset token (6 functions)

Token manipulation and privilege escalation.

--preset stealth (32 functions)

Maximum evasion: injection + evasion + unhooking support.

--preset file_ops (7 functions)

File I/O via NT syscalls.

--preset transaction (7 functions)

Process doppelganging / transaction rollback.

--preset all (64 functions)

Every supported function.

Generation Examples

Minimal Memory Operations

Generates only 4 functions.

Injection + Token Theft

Combines two presets (26 unique functions).

All Functions, Maximum Evasion

Generates all 64 functions with every evasion technique.

Next Steps

API Overview

Back to API overview and usage patterns

Quickstart Guide

Get started with SysWhispers4