Calling Conventions — Conventions d'appel

Concepts ASM

Pourquoi c'est clé

Les conventions d'appel définissent comment les arguments sont passés et qui nettoie la pile — indispensable pour comprendre un désassemblage et construire des exploits (ROP, ret2libc).

x86-64 System V (Linux)

Arguments entiers : RDI, RSI, RDX, RCX, R8, R9, puis pile
Retour : RAX
Préservés par l appelé : RBX, RBP, R12-R15
Alignement pile 16 octets avant un call

Autres conventions

Windows x64 : RCX, RDX, R8, R9 + shadow space 32 octets
x86 cdecl   : args sur la pile (droite->gauche), appelant nettoie
x86 stdcall : args sur la pile, appelé nettoie (WinAPI)
fastcall    : 2 premiers args en registres (ECX, EDX)