Documentation Index
Fetch the complete documentation index at: https://mintlify.com/JoasASantos/SysWhispers4/llms.txt
Use this file to discover all available pages before exploring further.
Overview
This guide covers complete integration of SysWhispers4 with Microsoft Visual Studio (MSVC) projects, including console applications, DLLs, and shellcode loaders.Quick Integration
Generate MSVC-compatible files
SW4Syscalls_Types.hSW4Syscalls.hSW4Syscalls.cSW4Syscalls.asm← MASM assembly file
Add files to Visual Studio project
- Right-click project in Solution Explorer → Add → Existing Item
- Select all 4 generated files
- Click Add
Enable MASM build customization
- Right-click project → Build Customizations…
- Check masm (.targets, .props)
- Click OK
This allows Visual Studio to compile
.asm files using the Microsoft Macro Assembler (MASM).Complete Console Application Example
Project Setup
Create new Visual Studio project
- File → New → Project
- Select Console App
- Name:
SyscallInjector - Click Create
Add files to project
Copy the 4 generated files to your project directory, then add them to the project:
Syscalls_Types.hSyscalls.hSyscalls.cSyscalls.asm
Source Code
main.c:Build Configuration
Recommended settings for Release build:- Configuration Properties → General
- Configuration Type:
Application (.exe) - Platform Toolset:
Visual Studio 2022 (v143)
- Configuration Type:
- C/C++ → General
- Warning Level:
Level3 (/W3)
- Warning Level:
- C/C++ → Optimization (Release only)
- Optimization:
Maximum Optimization (/O2) - Inline Function Expansion:
Any Suitable (/Ob2)
- Optimization:
- Linker → General
- Enable Incremental Linking:
No
- Enable Incremental Linking:
- Linker → Advanced
- Randomized Base Address:
Yes (/DYNAMICBASE)
- Randomized Base Address:
Build Output Example
DLL Project Integration
Advanced MSVC Features
Using Evasion Features
Generate with all evasion enabled:Egg Hunt Method
Generate:Multi-Architecture Builds
x64 Configuration:Troubleshooting
Error: “MASM not found”
Solution:- Install Desktop development with C++ workload in Visual Studio Installer
- Ensure MSVC v143 - VS 2022 C++ x64/x86 build tools is installed
- Enable masm in Build Customizations
Error: “Unresolved external symbol SW4_NtAllocateVirtualMemory”
Cause: ASM file not being compiled. Solution:- Verify
SW4Syscalls.asmis in the project - Right-click
SW4Syscalls.asm→ Properties - Check Item Type is set to
Microsoft Macro Assembler - Rebuild project
Error: “A2008: syntax error : syscall”
Cause: Trying to use x64 instructions in x86 build. Solution:- Ensure project platform is
x64(notWin32) - Or regenerate with
--arch x86for 32-bit target
Warning: “C4996: ‘strcpy’: This function or variable may be unsafe”
Solution: Add to preprocessor definitions:strcpy_s, sprintf_s).
Initialization Fails
Symptoms:SW4_Initialize() returns 0/FALSE.
Debugging:
- Incompatible resolution method for Windows version
- Permissions issue (for
from_diskmethod) - Heavy EDR hooks (try
--resolve recycledor--resolve from_disk)
Best Practices
-
Always initialize before use:
-
Check NTSTATUS return values:
-
Close handles:
-
Unhook before initialize:
- Use Release builds for testing: Debug builds add extra symbols and checks that affect evasion.
Next Steps
MinGW Integration
Alternative compiler: MinGW and Clang
Advanced Evasion
Learn about all evasion techniques
