rsp+
(sur la pile)
(lldb) Commande | Description |
run (r) | Démarre l'exécution, qui continuera sans interruption jusqu'à ce qu'un point d'arrêt soit atteint ou que le processus se termine. |
continue (c) | Continue l'exécution du processus débogué. |
nexti (n / ni) | Exécute l'instruction suivante. Cette commande passera outre les appels de fonction. |
stepi (s / si) | Exécute l'instruction suivante. Contrairement à la commande nexti, cette commande entrera dans les appels de fonction. |
finish (f) | Exécute le reste des instructions dans la fonction actuelle ("frame") et s'arrête après le retour. |
control + c | Interrompt l'exécution. Si le processus a été lancé (r) ou continué (c), cela fera s'arrêter le processus... où qu'il soit en train d'exécuter. |
breakpoint (b) | b main #Toute fonction appelée main b <binname>`main #Fonction principale du binaire b set -n main --shlib <lib_name> #Fonction principale du binaire indiqué b -[NSDictionary objectForKey:] b -a 0x0000000100004bd9 br l #Liste des points d'arrêt br e/dis <num> #Activer/Désactiver le point d'arrêt breakpoint delete <num> |
help | help breakpoint #Obtenir de l'aide sur la commande breakpoint help memory write #Obtenir de l'aide pour écrire dans la mémoire |
reg | reg read reg read $rax reg read $rax --format <format> reg write $rip 0x100035cc0 |
x/s <adresse reg/mémoire> | Affiche la mémoire comme une chaîne de caractères terminée par un null. |
x/i <adresse reg/mémoire> | Affiche la mémoire comme une instruction d'assemblage. |
x/b <adresse reg/mémoire> | Affiche la mémoire comme un octet. |
print object (po) | Cela affichera l'objet référencé par le paramètre po $raw
Notez que la plupart des API ou méthodes Objective-C d'Apple retournent des objets, et doivent donc être affichés via la commande "print object" (po). Si po ne produit pas de sortie significative, utilisez |
memory | memory read 0x000.... memory read $x0+0xf2a memory write 0x100600000 -s 4 0x41414141 #Écrire AAAA à cette adresse memory write -f s $rip+0x11f+7 "AAAA" #Écrire AAAA à l'adresse |
disassembly | dis #Désassemble la fonction actuelle dis -n <nom_fonc> #Désassemble la fonction dis -n <nom_fonc> -b <basename> #Désassemble la fonction |
parray | parray 3 (char **)$x1 # Vérifie un tableau de 3 composants dans le registre x1 |