Muchos programas corren en modo usuario mientras el Windows Kernel y muchos componentes corren en modo kernel
Debido a esto muchos programas que corren en modo usuario no pueden hacer operaciones sensibles como crear procesos, alojar memoria, acceder a archivos o interactuar con el hardware.
Para ello se usa Windows API
NTDLL.dll
Hace de intermediario entre el user mode y kernel mode. Por ejemplo:
- NtCreateFile
- NtCreateThreadEx
- RtlInitUnicodeString
Un programa puede llamar directamente a ntdll.dll directamente
Security Principals, Users, Groups, SIDs
Windows identifica interamente a los principales (Administrator, Computers …) con identificadores unicos
- S-1-1-0: Everyone
- S-1-5-18: Local System
- S-1-5-32-544: Built-in Administrators group
- S-1-5-32-545: Built-in Users group
Ej: S-1-5-21-3623811015-3361044348-30300820-1001