What is SSN Resolution?
System Service Numbers (SSNs) are the numeric identifiers that Windows uses to route syscalls to the correct kernel function. Each NT function has a unique SSN that can vary across Windows versions. When your code executes a syscall, the SSN must be placed in theeax register (or w8 on ARM64) before the syscall instruction:
SSNs change between Windows versions.
NtAllocateVirtualMemory is 0x18 on Windows 10 21H2, but 0x16 on Windows 7 SP1.Why Multiple Resolution Methods?
AV/EDR products place inline hooks on NT functions inntdll.dll to monitor syscalls. Different resolution techniques vary in their ability to extract SSNs from hooked environments:
- Static methods embed SSN tables at generation time — fast but detectable
- Dynamic methods extract SSNs from ntdll at runtime — resistant to hooks but slower
- Advanced methods use techniques like hardware breakpoints or clean disk copies — maximum evasion
Available Methods
SysWhispers4 provides 8 different SSN resolution strategies, each with different tradeoffs:Static
Embedded j00ru table. Fastest, no runtime parsing. Low stealth.
Hell's Gate
Read SSN from opcode bytes. Fast but fails when hooked.
Halo's Gate
Neighbor scan (±8 stubs) when target is hooked.
Tartarus' Gate
Detects E9/FF25/EB/CC hooks. Scans ±16 neighbors.
FreshyCalls
Sort by VA — doesn’t read function bytes. Default method.
SyscallsFromDisk
Maps clean ntdll from
\KnownDlls\. Bypasses ALL hooks.RecycledGate
FreshyCalls + opcode validation. Most resilient.
HW Breakpoint
Debug registers + VEH. Captures SSN at execution.
Quick Comparison
| Method | Hook Resistance | Speed | Stealth | Use Case |
|---|---|---|---|---|
| Static | None | Fastest | Low | Quick testing, CTF |
| Hell’s Gate | Low | Fast | Medium | Lightly-hooked environments |
| Halo’s Gate | Medium | Fast | Medium | Moderate EDR presence |
| Tartarus’ Gate | High | Fast | High | Heavily-hooked EDR |
| FreshyCalls | Very High | Medium | High | Recommended default |
| SyscallsFromDisk | Maximum | Slow | Very High | Maximum evasion |
| RecycledGate | Maximum | Medium | Very High | Production red team ops |
| HW Breakpoint | Maximum | Slow | Very High | Advanced analysis evasion |
Choosing the Right Method
For Quick Testing / CTF
For Standard Red Team Operations
For Heavily-Hooked Environments
For Maximum Evasion
Runtime Initialization
Dynamic resolution methods require callingSW4_Initialize() at startup:
Learn More
Detailed Method Reference
Complete documentation for all 8 resolution methods with usage examples.
FreshyCalls Deep Dive
In-depth explanation of the sort-by-VA technique and why it works.
RecycledGate Analysis
How RecycledGate combines multiple techniques for maximum reliability.
Hardware Breakpoint Method
Advanced VEH-based SSN extraction using debug registers.
