rsp+
(sur la pile)
Commande (lldb) | Description |
run (r) | Démarre l'exécution, qui se poursuivra jusqu'à ce qu'un point d'arrêt soit atteint ou que le processus se termine. |
continue (c) | Continue l'exécution du processus en cours de débogage. |
nexti (n / ni) | Exécute l'instruction suivante. Cette commande sautera 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 ("frame") en cours, retourne et s'arrête. |
control + c | Met en pause l'exécution. Si le processus a été exécuté (r) ou continué (c), cela provoquera l'arrêt du processus... où qu'il soit en cours d'exécution. |
breakpoint (b) | b main #Toute fonction appelée main b <nom_bin>`main #Fonction principale du binaire b set -n main --shlib <nom_lib> #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 sous forme de chaîne terminée par un caractère nul. |
x/i <adresse_reg/mémoire> | Affiche la mémoire sous forme d'instruction d'assemblage. |
x/b <adresse_reg/mémoire> | Affiche la mémoire sous forme d'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 renvoient des objets et doivent donc être affichées 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 en cours dis -n <nom_fonction> #Désassemble la fonction dis -n <nom_fonction> -b <nom_base> #Désassemble la fonction |
parray | parray 3 (char **)$x1 # Vérifiez le tableau de 3 composants dans le registre x1 |