Skip to content
Anti-analysebeginner

IsDebuggerPresent

Un appel d'API Windows qui lit le drapeau BeingDebugged dans le PEB pour détecter un débogueur en mode utilisateur attaché au processus courant.

IsDebuggerPresent est la vérification anti-débogage la plus simple sous Windows. Elle lit un seul octet — le drapeau BeingDebugged — dans le Process Environment Block (PEB) du processus appelant et renvoie une valeur non nulle lorsqu'un débogueur en mode utilisateur est attaché.

Fonctionnement

La fonction se résume à la lecture de PEB.BeingDebugged (offset 0x02). Le noyau positionne ce drapeau quand un processus est créé sous un débogueur, ou lorsqu'un débogueur s'attache par la suite.

asm
mov eax, fs:[30h]      ; PEB
movzx eax, byte [eax+2] ; PEB.BeingDebugged
test eax, eax
jne  debugger_detected

Détection & contournement

  • Patcher le drapeau PEB : mettre BeingDebugged à 0 depuis le débogueur avant l'exécution de la vérification (x64dbg : Command → SetPEB).
  • Hooker l'API : intercepter kernel32!IsDebuggerPresent et forcer le retour à 0.
  • ScyllaHide / TitanHide automatisent le masquage du drapeau PEB.
Votes

Commentaires(0)