// Dynamic SSN Resolution & Direct Syscalls
Master the original dynamic syscall technique that spawned a generation of EDR evasion research. Learn how to resolve System Service Numbers at runtime from ntdll stubs, bypass userland hooks, and execute direct syscalls from your own code. By am0nsec (Paul Lainé) & RtlMateusz.
How EDRs hook ntdll.dll, why direct API calls get intercepted, and the motivation behind direct syscalls.
02 BeginnerRing transitions, the SSDT, the syscall instruction, KiSystemCall64, and the user-to-kernel bridge.
03 BeginnerWhat SSNs are, how they map to Nt functions in the SSDT, and why they change across Windows versions.
04 IntermediateThe syscall stub pattern: mov r10,rcx / mov eax,SSN / syscall / ret. Parsing stubs from the Export Address Table.
05 IntermediateDynamically resolving SSNs from clean or hooked stubs. The up/down neighbor search strategy.
06 IntermediateThe ASM stub, register setup, invoking the syscall instruction directly from user-mode code.
07 AdvancedHandling hooked stubs via JMP detection, neighbor delta calculation, and extended gate techniques.
08 AdvancedComplete execution flow, EDR detection vectors, ETW syscall telemetry, and kernel callbacks.
github.com/am0nsec/HellsGatevxunderground.org/papers (am0nsec & RtlMateusz)blog.sektor7.net/#!res/2021/halosgate.mdgithub.com/trickster0/TartarusGategithub.com/jthuraisamy/SysWhispers2github.com/klezVirus/SysWhispers3github.com/thefLink/RecycledGatej00ru.vexillium.org/syscalls/nt/64/