rsp+
(na pilha)
(lldb) Comando | Descrição |
run (r) | Iniciar a execução, que continuará sem parar até atingir um ponto de interrupção ou o processo terminar. |
continue (c) | Continuar a execução do processo em depuração. |
nexti (n / ni) | Executar a próxima instrução. Este comando irá pular chamadas de função. |
stepi (s / si) | Executar a próxima instrução. Ao contrário do comando nexti, este comando irá entrar nas chamadas de função. |
finish (f) | Executar o restante das instruções na função atual ("frame") e parar. |
control + c | Pausar a execução. Se o processo foi executado (r) ou continuado (c), isso fará com que o processo pare ... onde quer que esteja executando no momento. |
breakpoint (b) | b main #Qualquer função chamada main b <nome_do_bin>`main #Função principal do binário b set -n main --shlib <nome_da_biblioteca> #Função principal do binário indicado b -[NSDictionary objectForKey:] b -a 0x0000000100004bd9 br l #Lista de pontos de interrupção br e/dis <número> #Ativar/Desativar ponto de interrupção breakpoint delete <número> |
help | help breakpoint #Obter ajuda do comando de ponto de interrupção help memory write #Obter ajuda para escrever na memória |
reg | reg read reg read $rax reg read $rax --format <formato> reg write $rip 0x100035cc0 |
x/s <>endereço_do_registrador/memória | Exibir a memória como uma string terminada por nulo. |
x/i <>endereço_do_registrador/memória | Exibir a memória como instrução de montagem. |
x/b <>endereço_do_registrador/memória | Exibir a memória como byte. |
print object (po) | Isto irá imprimir o objeto referenciado pelo parâmetro po $raw
Observe que a maioria das APIs ou métodos Objective-C da Apple retornam objetos e, portanto, devem ser exibidos através do comando "print object" (po). Se po não produzir uma saída significativa, use |
memory | memory read 0x000.... memory read $x0+0xf2a memory write 0x100600000 -s 4 0x41414141 #Escrever AAAA nesse endereço memory write -f s $rip+0x11f+7 "AAAA" #Escrever AAAA no endereço |
disassembly | dis #Desmontar a função atual dis -n <nome_da_função> #Desmontar função dis -n <nome_da_função> -b <nome_base> #Desmontar função |
parray | parray 3 (char **)$x1 # Verificar array de 3 componentes no registro x1 |