Supported Architectures
SysWhispers4 supports 4 different processor architectures with varying feature sets across Windows platforms:x64
64-bit x86-64. Full feature support. Default target.
x86
32-bit x86. Embedded + Egg Hunt only.
WoW64
32-bit process on 64-bit Windows. Heaven’s Gate transition.
ARM64
Windows on ARM (Snapdragon). Embedded method only.
Architecture Comparison
| Architecture | Syscall Instruction | SSN Register | Invocation Methods | Resolution Methods |
|---|---|---|---|---|
| x64 | syscall | eax | All 4 | All 8 |
| x86 | sysenter / int 2Eh | eax | Embedded, Egg | Static, Hell’s Gate, Halo’s Gate |
| WoW64 | syscall (64-bit) | eax | All 4 | All 8 |
| ARM64 | svc #0 | w8 | Embedded only | Static only |
x64 is the recommended and most feature-complete platform. All advanced techniques (randomized indirect, RecycledGate, hardware breakpoints, etc.) are x64-only.
x64: Full Feature Set
The primary target platform with complete support for all SysWhispers4 capabilities.Syscall Mechanics
- Uses AMD64/Intel64
syscallinstruction (0F 05) - SSN in
eaxregister - Arguments in
rcx, rdx, r8, r9(fastcall) → kernel expectsr10, rdx, r8, r9 - Return value in
rax(NTSTATUS)
Invocation Method Support
| Method | x64 Support | Notes |
|---|---|---|
| Embedded | ✅ Full | Direct syscall in your code |
| Indirect | ✅ Full | Jumps to ntdll syscall;ret gadgets |
| Randomized | ✅ Full | Pool of 64 gadgets, RDTSC entropy |
| Egg Hunt | ✅ Full | Runtime egg replacement |
Resolution Method Support
| Method | x64 Support | Notes |
|---|---|---|
| Static | ✅ Full | Embedded j00ru table |
| Hell’s Gate | ✅ Full | Opcode parsing from ntdll |
| Halo’s Gate | ✅ Full | Neighbor scan ±8 stubs |
| Tartarus’ Gate | ✅ Full | Hook detection + ±16 scan |
| FreshyCalls | ✅ Full | Sort by VA (default) |
| SyscallsFromDisk | ✅ Full | Clean ntdll from \KnownDlls\ |
| RecycledGate | ✅ Full | FreshyCalls + validation |
| HW Breakpoint | ✅ Full | DR registers + VEH |
Usage
x86: 32-bit Legacy
32-bit x86 Windows support with limited feature set.Syscall Mechanics
- Varies by Windows version (int 2Eh → sysenter → hybrid)
- SSN in
eax - Arguments on stack (stdcall)
- Less reliable than x64 due to Windows version variance
Limited Support
| Feature Category | x86 Support |
|---|---|
| Invocation | Embedded, Egg Hunt only |
| Resolution | Static, Hell’s Gate, Halo’s Gate only |
| Obfuscation | ✅ Full |
| Evasion helpers | ✅ Full (ETW, AMSI, unhooking, etc.) |
Usage
WoW64: 32-bit on 64-bit Windows
32-bit process running on 64-bit Windows kernel. Uses Heaven’s Gate to switch to 64-bit mode and execute native 64-bit syscalls.How Heaven’s Gate Works
- Bypasses WoW64 translation layer (
wow64.dll,wow64cpu.dll) - Direct 64-bit syscalls from 32-bit process
- Full x64 feature set available
Usage
ARM64: Windows on ARM
Windows 11 on ARM64 processors (Snapdragon, M1 via emulation, etc.).Syscall Mechanics
- Uses ARM64
svc #0instruction (Supervisor Call) - SSN in
w8register (32-bit subset of x8) - Arguments in
x0–x7(ARM64 calling convention) - Limited toolchain support (MSVC ARM64 only)
Limited Support
| Feature | ARM64 Support |
|---|---|
| Invocation | Embedded only |
| Resolution | Static table only |
| Compiler | MSVC ARM64 only |
| Obfuscation | ❌ Not supported |
| Evasion helpers | ❌ Not supported |
Usage
Compiler Support
SysWhispers4 supports 3 compiler toolchains with different assembly syntax requirements:MSVC
Microsoft Visual Studio. MASM syntax. Default.
MinGW
GCC for Windows. GAS inline assembly.
Clang
LLVM Clang. GAS inline assembly.
MSVC (Microsoft Visual Studio)
Assembly format: MASM (Microsoft Macro Assembler) Generated files:SW4Syscalls.asm— standalone ASM file
- Add all files to Visual Studio project
- Project → Build Customizations → masm (.targets) ✅
- Build normally
MinGW / GCC
Assembly format: GAS (GNU Assembler) inline assembly in C Generated files:SW4Syscalls_stubs.c— GAS__asm__blocks
Clang
Assembly format: GAS inline assembly (same as MinGW) Build:Cross-Compilation Matrix
| Compiler | x64 | x86 | WoW64 | ARM64 |
|---|---|---|---|---|
| MSVC | ✅ | ✅ | ✅ | ✅ |
| MinGW | ✅ | ✅ | ✅ | ❌ |
| Clang | ✅ | ✅ | ✅ | ⚠️ Experimental |
For maximum compatibility, use MSVC on x64. This combination supports all features and is the most tested.
Choosing the Right Architecture
When to Use x64
- Modern Windows systems (Windows 10/11, Server 2016+)
- Maximum feature set required (indirect, randomized, RecycledGate)
- Production red team tools
- Default choice for most use cases
When to Use x86
- Legacy Windows systems (XP, Vista, 7)
- 32-bit-only environments
- Simple embedded syscalls sufficient
When to Use WoW64
- 32-bit PE required for compatibility (legacy apps, DLL injection)
- x64 evasion features needed from 32-bit context
- Hybrid environments (32-bit payload on 64-bit system)
When to Use ARM64
- Windows on ARM devices (Surface Pro X, etc.)
- Testing/research only (limited production use)
- Static syscalls sufficient (no advanced features needed)
Platform Limitations Summary
| Limitation | Affected Architectures | Workaround |
|---|---|---|
| No indirect invocation | x86, ARM64 | Use x64 or WoW64 |
| No dynamic resolution | ARM64 | Use static table |
| No obfuscation | ARM64 | Use x64 |
| Compiler-specific syntax | All | Use --compiler flag |
| MASM build configuration | MSVC (all arch) | Enable in project settings |
Learn More
Invocation Methods
Detailed comparison of embedded, indirect, randomized, and egg hunt techniques.
SSN Resolution Methods
Overview of all 8 syscall number resolution strategies.
Command Reference
Complete CLI documentation including
--arch and --compiler flags.Integration Guides
Step-by-step integration for MSVC, MinGW, and Clang toolchains.
