美文网首页
《iOS 逆向》006-LLDB(Low Lever Debug

《iOS 逆向》006-LLDB(Low Lever Debug

作者: 天雨流芳zhang | 来源:发表于2018-05-11 14:59 被阅读0次

    断点

    • 设置断点
      $breakpoint set -n XXX
      set 是子命令
      -n 是选项 是--name 的缩写!

    • 查看断点列表
      $breakpoint list

    • 删除
      $breakpoint delete 组号

    • 禁用/启用
      $breakpoint disable 禁用
      $breakpoint enable 启用

    所有文件的touchesBegan:withEvent:方法都hook:
    breakpoint set --selector touchesBegan:withEvent:
    当前文件中touchesBegan:withEvent:方法的hook:
    breakpoint set --file ViewController.m --selector touchesBegan:withEvent:

    • 遍历整个项目中满足Game:这个字符的所有方法
      $breakpoint set -r Game:

    流程控制

    • 继续执行
      $continue c
    • 单步运行,将子函数当做整体一步执行
      $n next
    • 单步运行,遇到子函数会进去
      $s

    stop-hook

    让你在每次stop的时候去执行一些命令,只对breadpoint,watchpoint

    target stop-hook add -o "code"

    常用命令

    • image list
    • p
    • b -[xxx xxx]
    • x : memory read的缩写
    • register read
    • po

    内存断点

    watchpoint set variable p1->_name

    (lldb) frame variable
    (ViewController *) self = 0x0000000101204e10
    (SEL) _cmd = "viewDidLoad"
    (Person *) p1 = 0x00000001c4225720
    (Person *) p2 = 0x0000000000000010
    (Person *) p3 = 0x000000016f219638
    (lldb) p &p1->_name
    (NSString **) $0 = 0x00000001c4225730
    (lldb) watchPoint set expression 0x00000001c4225730
    error: 'watchPoint' is not a valid command.
    error: Unrecognized command 'watchPoint'.
    (lldb) watchpoint set expression 0x00000001c4225730
    Watchpoint created: Watchpoint 1: addr = 0x1c4225730 size = 8 state = enabled type = w
    new value: 4307468384
    (lldb) n
    (lldb) n
    
    Watchpoint 1 hit:
    old value: 4307468384
    new value: 4307468480
    
    (lldb) po 4307468384
    zhanglei
    
    (lldb) po 4307468480
    dadada
    
    

    相关文章

      网友评论

          本文标题:《iOS 逆向》006-LLDB(Low Lever Debug

          本文链接:https://www.haomeiwen.com/subject/tamfdftx.html