【iOS逆向】LLDB

打印对象

po:print object

设置一个断点

<command> <action>

breakpoint set -n test

【iOS逆向】LLDB

查找breakpoint的用法

image.png

执行一个表达式

image.png

在某个断点的时候,想要执行一段代码而有不想重新运行程序,可以这样做

image.png
image.png

相当于p指令

image.png
image.png

下面这句相当于 NSLog(@"%@", self);

image.png

相当于po指令

//thread backtrace打印栈帧 简称bt

//frame 栈帧,每一帧代表一个函数。

thread backtrace(直接打bt就可以)

image.png

thread return相当于在断点后加上return,代表不再执行后面的代码。

frame variable

对应指令thread step-over(简写next、n)

image.png

执行完函数,回到函数调用的地方,对应指令thread step-in

image.png
image.png

对应

image.png

指令级别ni,因为一句源码可能是好几句汇编语句,ni就是一句一句汇编执行。

同理si。

将包含est的所有函数都加上断点。

image.png

连续操作

image.png
image.png
image.png
image.png

模块查找

image.png

崩溃不知道哪一行造成的,可以通过内存地址查找

[图片上传中...(image-a13901-1524636982193-0)]

如果是别人的App,通过方法名是打不了断点的,可以通过方法地址

breakpoint -a(即address,-n即name) 0x000060800006f500

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一丶介绍 “LLDB全称为“Low Level Debugger”,是由苹果出品,内置于Xcode中的动态调试工具...
    丶纳凉阅读 1,077评论 0 3
  • LLDB的Xcode默认的调试器,它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能。平时用Xc...
    CoderSC阅读 1,381评论 0 2
  • 前言 记录一下比较常用的一些 LLDB 调试技巧.Note: 在这里是记录一下常用的方法, 并不是完全教程哟!No...
    李国安阅读 2,497评论 1 15
  • 转载 与调试器共舞 - LLDB 的华尔兹: https://objccn.io/issue-19-2/ 推荐:i...
    F麦子阅读 3,354评论 0 10
  • 最近在看《Influence:The Psychology of Persuasion》,书里说到如何使用承诺来达...
    成长是刚需阅读 855评论 0 0