Anti Anti Hooking/Debugging

I. Disable Debugging

D'après OWASP, la technique la plus répendu pour faire de l'anti debogage et l'utilisation de la fonction ptrace :

Ainsi il nous suffirait soit de patched le binaire ou bien d'utiliser un debogeur pour changer la valeur 0x1f responsable de la détection en 0x00 ou bien d'utiliser frida-trace

On peut utiliser lldb pour faire cela et l'installer depuis cydia.

Regardons avant tout l'assembleur et le pseudo code :

Le code :

Méthode 1 : Patch le binaire

Suivez les instructions que la fondation OWASP vous donne en remplaçant l'instruction qui nous intéresse par un NOP.

Transfert du nouveau binaire vers l'appareil :

ne pas oublier de chmod +x file

On lance un debuggeur et on va cliquer sur le bouton disable debugging si l'application crash alors le patch n'aura pas fonctionné sinon vous avez réussi :

L'application ne crash pas ce qui veut dire que nous avons bien désactivé la protection anti-debugging.

Méthode 2 : Frida-trace

On utilise frida trace pour tracer les appels Ă  la fonction ptrace

On change la valeur de request en 0x00 car 0x1f est responsable de la détection.

On lance de nouveau la première commande faite et on remarque qu'en y attachant un debugger l'application ne crash pas.

Méthode 3 : LLDB

On va désormais utiliser un debuggeur on va faire la même chose qu'avec frida mais à l'aide du debuggeur :

On a mis un breakpoint lors de l'appel de ptrace et puis on a modifier la valeur du registre x0 qui stockait la valeur 0x1f.

II. Disable Injection

Last updated