Skip to content
Syscall BSD#4Introduit dans macOS 10.0 Cheetah

svc · unix #4

write

Écrit jusqu'à nbyte octets depuis un tampon utilisateur vers un descripteur de fichier.

Prototype

ssize_t write(int fildes, const void *buf, size_t nbyte);

Retour: ssize_t — number of bytes written, -1 with errno on failure (EPIPE, EFBIG, EDQUOT, …)

Arguments

NameTypeDirDescription
fildesintin
bufconst void *in
nbytesize_tin

Historique des versions

Absent de toute version XNU publiée.

Stub utilisateur

arm64

mov     x16, #4
svc     #0x80
b.cs    __cerror
ret

x86_64

mov     eax, 0x2000004
syscall
jb      __cerror
ret

Notes

Contrepartie de read(2). Passe par fo_write sur le fileproc. Les écritures courtes sont légales sur sockets et pipes ; les appelants doivent boucler.

Détection

Pas observable directement via Endpoint Security pour les fichiers réguliers ; AUTH_WRITE ne se déclenche que sur certains chemins via kauth. Les écritures réseau s'observent au niveau socket via les content filters NetworkExtension.

Utilisation par les malwares

Utilisée par chaque dropper qui écrit une charge utile sur disque. Surveiller les écritures dans LaunchAgents/LaunchDaemons ou dans ~/Library/Application Support/.

API associées

writevpwritesendsendto

MITRE ATT&CK

Dernière vérification: 2026-05-25