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