Skip to content

Glossary

Plain-language definitions of SEO terms used across the blog.

Obfuscation par virtualisation
Technique avancée qui traduit les instructions natives en bytecode personnalisé exécuté par un interpréteur embarqué, déjouant les désassembleurs usuels.
Exécution symbolique
Technique d'analyse qui exécute le code avec des valeurs symboliques au lieu d'entrées concrètes, explorant plusieurs chemins à la fois.
NOP Sled
Séquence d'instructions NOP (no-operation) précédant un shellcode, pour que des sauts imprécis atterrissent dans la zone du payload exécutable.
Patching
Modifier les octets d'un binaire sur disque ou en mémoire pour changer son comportement — contourner une vérif de licence, désactiver de l'anti-débogage.
Entropie
Une mesure du caractère aléatoire de données binaires — une entropie élevée révèle compression ou chiffrement, signature des malwares packés.
YARA
Outil de pattern-matching et langage de règles servant à identifier et classer des échantillons de malware à partir de signatures textuelles ou binaires.
Analyse dynamique
Analyser un binaire en l'exécutant réellement et en observant son comportement en temps réel via débogueurs, sandboxes et surveillance système.
Analyse statique
Examiner un binaire sans l'exécuter, à l'aide de désassembleurs, décompilateurs et analyseurs de format pour comprendre sa structure et sa logique.
Sandbox
Environnement d'exécution isolé qui lance un binaire suspect, surveille son comportement et l'empêche d'affecter le système réel.
Gadget
Courte séquence d'instructions existantes finissant par un RET (ou similaire), brique de base des chaînes de Return-Oriented Programming.
Registres R8-R15
R8 à R15 sont les huit registres généraux 64 bits étendus de x86-64 ajoutés par AMD64, pour le passage d'arguments et l'espace de travail supplémentaire.
Programmation orientée retour (ROP)
Une technique d'exploitation qui enchaîne de petits fragments de code finissant par des RET pour exécuter une logique arbitraire sans injecter de code.
Shellcode
Code machine autonome et indépendant de la position, injecté et exécuté dans un processus cible, généralement comme charge utile d'exploit.
Obfuscation
Transformation intentionnelle du code ou des données pour les rendre plus difficiles à comprendre, tout en préservant le comportement du programme.
Packer
Outil qui compresse ou chiffre un exécutable et l'enveloppe d'un stub le décompressant/déchiffrant à l'exécution avant de rendre la main au code original.
Bloc de base
Une séquence linéaire maximale d'instructions avec un seul point d'entrée et une seule sortie (branchement ou retour) — l'unité-nœud d'un CFG.
Graphe de flux de contrôle (CFG)
Un graphe orienté représentant tous les chemins d'exécution possibles d'une fonction, les nœuds étant des blocs de base et les arêtes des branchements.
Registre RFLAGS
RFLAGS est le registre d'état 64 bits de x86-64 contenant les drapeaux de condition comme ZF, CF, SF et OF qui pilotent les branchements conditionnels.
Exécution pas à pas
Exécuter une instruction à la fois dans un débogueur pour observer l'effet exact de chaque opération sur les registres et la mémoire.
Point d'arrêt
Une instruction ou un déclencheur matériel dans un débogueur qui suspend l'exécution lorsque le programme atteint une adresse ou une condition précise.
API Hooking
Interception des appels aux fonctions d'API ou de bibliothèque à l'exécution afin de surveiller, modifier ou rediriger leur comportement.
Appel système
Transition contrôlée de l'espace utilisateur vers le noyau pour demander une opération privilégiée comme lire un fichier ou allouer de la mémoire.
Boutisme (Endianness)
L'ordre des octets dans lequel les entiers multi-octets sont stockés en mémoire : petit-boutiste (LSB d'abord) ou gros-boutiste (MSB d'abord).
Registre RIP
RIP est le pointeur d'instruction 64 bits de x86-64, qui contient l'adresse de la prochaine instruction et permet l'adressage relatif à RIP.
Binaire stripé
Exécutable dont la table des symboles et les informations de débogage ont été retirées, rendant le reverse engineering nettement plus difficile.
Table des symboles
Section d'un binaire qui associe les noms de fonctions et de variables à leurs adresses, présente dans les builds de débogage ou non stripés.
Relocation
L'ajustement des adresses codées en dur dans un binaire lorsqu'il est chargé à une adresse de base différente de celle supposée à la compilation.
Import Address Table (IAT)
Une table à l'intérieur d'un binaire PE, remplie par le loader Windows avec les adresses d'exécution des fonctions de DLL importées.
Registre RBP
RBP est le pointeur de base/cadre 64 bits de x86-64, qui ancre une référence stable au cadre de pile d'une fonction pour les locales et les arguments.
Original Entry Point (OEP)
Le point d'entrée d'un exécutable avant qu'un packer ou protecteur ne le modifie — l'adresse où démarre le code original après dépaquetage.
Point d'entrée
L'adresse virtuelle où le chargeur de l'OS transfère le contrôle à un binaire après l'avoir chargé en mémoire.
Format ELF
Executable and Linkable Format — le format binaire standard sous Linux et la plupart des systèmes Unix pour exécutables et bibliothèques.
Registre RSP
RSP est le pointeur de pile 64 bits de x86-64, pointant toujours vers le sommet de la pile d'appels courante et géré par push, pop, call et ret.
Format PE
Portable Executable — le format de fichier binaire des exécutables Windows (.exe, .dll, .sys) qui définit les en-têtes, sections et tables d'imports.
Architecture du jeu d'instructions (ISA)
La spécification complète des instructions, registres et modes d'adressage d'un processeur sur laquelle le logiciel peut s'appuyer.
ABI
Application Binary Interface — le contrat bas niveau couvrant conventions d'appel, agencement des données et appels système entre composants compilés.
Registre RDI
RDI est le registre d'index de destination 64 bits de x86-64, pointeur des opérations sur chaînes et premier argument de fonction sur System V.
Convention d'appel
Les règles convenues régissant la façon dont un appel de fonction passe ses arguments, retourne ses valeurs et gère la pile et les registres.
Tas (Heap)
La région de mémoire utilisée pour les allocations dynamiques (malloc/new), gérée par l'allocateur du runtime plutôt qu'automatiquement par le CPU.
Registre RSI
RSI est le registre d'index source 64 bits de x86-64, pointeur source des opérations sur chaînes et argument de fonction sur System V.
Pile
Région mémoire LIFO qui croît vers le bas, utilisée pour les adresses de retour, variables locales et registres sauvegardés lors des appels.
Registre
Un emplacement de stockage minuscule et ultra-rapide intégré au processeur, contenant opérandes, adresses et état du CPU pendant l'exécution.
Opérande
Le ou les arguments d'une instruction assembleur — les registres, adresses mémoire ou valeurs immédiates sur lesquels elle agit.
Mnémonique
Le nom court et lisible par l'humain d'une instruction CPU, comme MOV, PUSH ou CALL, utilisé en langage assembleur.
Registre RDX
RDX est le registre de données 64 bits de x86-64, un registre d'argument qui contient aussi la moitié haute des résultats de mul et de div.
Opcode
Le ou les octets numériques en code machine qui identifient l'opération que le CPU doit exécuter.
Débogueur
Un outil qui permet à un analyste de suspendre, inspecter et modifier un processus en cours d'exécution — la pierre angulaire de l'analyse dynamique.
Décompilateur
Un outil qui tente de reconstruire du code source de haut niveau (C, pseudocode) à partir du code machine binaire compilé.
Registre RCX
RCX est le registre compteur 64 bits de x86-64, utilisé pour les comptes de boucle et de décalage et pour passer des arguments dans les deux ABI majeures.
Désassembleur
Un outil qui reconvertit le code machine binaire brut en mnémoniques de langage assembleur lisibles par un humain.
Registre RBX
RBX est un registre général 64 bits de x86-64, traditionnellement un pointeur de base, sauvegardé par l'appelé et préservé à travers les appels.
Registre RAX
RAX est l'accumulateur 64 bits de x86-64, qui contient les valeurs de retour de fonction et l'opérande implicite de nombreuses instructions arithmétiques.