Requirements
System Requirements
- Operating System: Windows 7+ (for target compilation), any OS with Python for generation
- Python: 3.10 or higher
- Git: For cloning the repository
SysWhispers4 uses type annotations throughout the codebase, requiring Python 3.10+.
Compiler Requirements
Choose one based on your target environment:- MSVC (Recommended)
- MinGW
- Clang
Microsoft Visual C++ Compiler
- Visual Studio 2019 or later (Community Edition is free)
- MASM (Microsoft Macro Assembler) — included with VS
- Windows SDK
- Download Visual Studio
- During installation, select “Desktop development with C++”
- Ensure “MSVC build tools” and “Windows SDK” are checked
Installation Steps
Clone the Repository
syswhispers.py— Main CLI toolcore/— Generation enginedata/— Syscall tables and function prototypesscripts/— Utility scriptsexamples/— Sample integration code
(Optional) Update Syscall Tables
The repository includes pre-populated syscall tables from j00ru’s database. To fetch the latest:This updates:
data/syscalls_nt_x64.json— x64 syscall numbersdata/syscalls_nt_x86.json— x86 syscall numbers
- Windows 7 SP1 through Windows 11 24H2
- Windows Server 2022/2025
This step is only required if you plan to use
--resolve static (static embedded SSN table). Dynamic methods like FreshyCalls don’t need updated tables.Project Structure
Dependencies
SysWhispers4 has zero runtime dependencies beyond Python standard library:argparse— CLI parsingjson— Data file parsingdataclasses— Type-safe configurationpathlib— Cross-platform path handlingenum— Type enumerations
No
pip install required! SysWhispers4 uses only Python standard library.Architecture Support
| Architecture | Syscall Instruction | SSN Register | Supported Methods |
|---|---|---|---|
| x64 | syscall | eax | All (embedded, indirect, randomized, egg) |
| x86 | sysenter | eax | Embedded + Egg |
| WoW64 | syscall (64-bit) | eax | All (x64 stubs from 32-bit PE) |
| ARM64 | svc #0 | w8 | Embedded |
- x64 (Default)
- x86 (32-bit)
- WoW64
- ARM64
Standard 64-bit Windows compilation:
- Uses
syscallinstruction - SSN loaded into
eax - Parameters follow x64 calling convention:
rcx,rdx,r8,r9, [stack]
Compiler Configuration
MSVC (Visual Studio)
Enable MASM
- Right-click project → Build Dependencies → Build Customizations
- Check masm (.targets, .props)
- Click OK
Add Generated Files
After running SysWhispers4, add all generated files:
SW4Syscalls_Types.hSW4Syscalls.hSW4Syscalls.cSW4Syscalls.asm
MinGW / Clang
Troubleshooting
Python version too old
Python version too old
Error:
SyntaxError: invalid syntax or TypeError: unsupported operand type(s)Solution: Upgrade to Python 3.10+MASM not found in Visual Studio
MASM not found in Visual Studio
Error:
error MSB3721: The command "ml64.exe" exited with code 1Solution:- Ensure MASM build customizations are enabled (see MSVC steps above)
- Verify Visual Studio installation includes “MSVC build tools”
- Rebuild project (Clean → Build)
MinGW compilation errors
MinGW compilation errors
Error:
undefined reference to '_imp__NtAllocateVirtualMemory'Solution: Add -lntdll to link against ntdll.libASM syntax errors
ASM syntax errors
Error: Assembly syntax errors during compilationSolution: Verify compiler flag matches generator flag
- MSVC → use
--compiler msvc(default) - MinGW/GCC → use
--compiler mingw - Clang → use
--compiler clang
