Scénario actif :
VirtualAlloc — WriteProcessMemory
x86-64 · Windows NT
Ring 3
User Mode
⟶
syscall instruction
⟶
Ring 0
Kernel Mode
► Ring 3
🖥️
User Space · Ring 3
Application (User Mode)
calc.exe · notepad.exe · votre programme
📦
User Space · Ring 3
ntdll.dll
Native API · Stub syscall · NtAllocateVirtualMemory
⚡
Transition · SYSCALL instruction
System Call Gate
mov rax, 0x18 · syscall · SSDT lookup
⚙️
Kernel Space · Ring 0
NT Kernel (ntoskrnl.exe)
NtAllocateVirtualMemory · MmAllocatePages
💾
Hardware · Physical Memory
RAM (Physical Memory)
Page frames allouées · Adresse physique retournée
VirtualAlloc
WriteProcess
CreateThread
ReadFile
🖥️ Application
Point de départ. L'application appelle une fonction de la Win32 API (ex: VirtualAlloc). Le code s'exécute en Ring 3 — aucun accès direct au matériel ou à la mémoire physique.
Privilege
Ring 3
DLL source
kernel32.dll
Exemple
VirtualAlloc()
Accès RAM
❌ Direct
Syscalls Windows courants (SSDT)
Trace d'exécution
Vitesse