Developer knowledge network · moderated exchange

UnreliableCode қауымдастығы

Әзірлеушілерді зерттеу, кері инженерия және кодтау қауымдастығы

Knowledge indexТірі
4Categories
919Threads
2.8KЖазбалар
Tutorial

Invoking Direct x64 System Calls (NtProtectVirtualMemory) via Inline Assembly Stubs [v2.4 Technical Discussion]

x64_assembler
Assembly Guru
MEMBER
Өкіл: 99
Қосылу күні: Sep 2022
Хабарламалар: 14
Рахмет: 16
1 ай бұрын · Jul 21, 2026 10:09 PM
#1

How to bypass userland DLL hooks by issuing direct syscall opcodes:

ASM
; x64 Assembly Syscall Stub (NtProtectVirtualMemory SSN = 0x50 on Win11 23H2)
.code
SysNtProtectVirtualMemory PROC
    mov r10, rcx
    mov eax, 50h ; System Service Number
    syscall
    ret
SysNtProtectVirtualMemory ENDP
END

Userland hooks placed by security modules on ntdll.dll are completely bypassed because execution never traverses ntdll!

vtable_slayer
Senior Reverser
MEMBER
Өкіл: 215
Қосылу күні: Mar 2018
Хабарламалар: 86
Рахмет: 61
1 ай бұрын · Jul 22, 2026 12:24 AM
#2

Direct syscalls are the cornerstone of bypassing userland API surveillance.

kernel_komrade
Driver Dev
MEMBER
Өкіл: 145
Қосылу күні: Feb 2019
Хабарламалар: 26
Рахмет: 45
1 ай бұрын · Jul 22, 2026 8:30 AM
#3

Make sure you dynamically parse SSNs from ntdll export directory so Windows updates don't change numbers.