Glossary
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.
Le patching consiste à modifier les octets d'un binaire — soit dans le fichier sur disque, soit dans la mémoire d'un processus en cours d'exécution — afin d'altérer son comportement. Les cibles courantes incluent les vérifications de licence (remplacer un saut conditionnel par un saut inconditionnel), les routines anti-débogage ou les valeurs de configuration codées en dur. Le patch le plus simple remplace un JZ (0x74) par un JMP (0xEB), ou remplit des instructions par des octets NOP (0x90). Patcher sur disque produit un exécutable modifié de façon persistante ; patcher en mémoire (via un débogueur) est temporaire. Des scripts de patching automatisés peuvent appliquer de manière cohérente plusieurs modifications d'octets à travers différentes versions d'un binaire.
; avant : saute si la licence est invalide
JZ fail_label ; 74 XX
; après : saute toujours au-delà de la vérification (patché)
JMP fail_label ; EB XX