> Windows Syscalls

API utilisateur → NTDLL → Syscall → Routine noyau

Référence visuelle expliquant comment un appel Win32 devient une instruction syscall et quelle routine noyau le traite. Les marqueurs rouges indiquent où les EDR hookent et où la télémétrie noyau se déclenche.

MODE UTILISATEURNOYAUApplicationVirtualAllocEx(...)kernel32.dllNtAllocateVirtualMemory(...)ntdll.dllmov r10, rcxmov eax, <SSN>syscallStub de syscall personnalisémov eax, <SSN>syscallsyscall direct (contourne ntdll)Point de hook EDRHooks inline / IAT sur les exports Nt*user → kernel transitionKiSystemCall64KiServiceTable[SSN]NtAllocateVirtualMemory(ntoskrnl.exe)MmAllocateVirtualMemory(Mm subsystem)ETW Threat IntelligenceÉvénements AllocationVm, ProtectVm, MapViewCallbacks noyauPsSetCreate*NotifyRoutineEx, ObRegisterCallbacksLes stubs directs évitent le hook user-mode mais la télémétrie noyau reste active.

Chemin normal

Application → kernel32 → ntdll → instruction syscall → KiSystemCall64 → routine. Les EDR interceptent dans ntdll.

Chemin syscall direct

L'application copie un stub en mémoire RWX et exécute le syscall directement. Contourne le hook ntdll — mais les callbacks noyau et ETW Threat Intelligence observent toujours l'appel.

SVG · intégrable · pointez directement vers /graph