简介

LLDB是个开源的内置于XCode的调试工具,给我们平时开发调试带来很大的便利,同时它对我们逆向分析别人的APP同样有很大的帮助。 LLDB的使用其实看LLDB官方文档就可以了

这篇文章我就把常用的指令列举出来,方便日后查阅

断点操作

【为C函数下断点】
$b set -n "C函数名"
【为OC方法下断点】
$b set -n "-[OC类 方法名:]"
【遍历整个项目中,为所有同名的所有方法下断点】
$b set -r 方法名:
【查看断点列表】
$b list
【断点禁用/启用】
$breakpoint disable
$breakpoint enable
【继续执行】
$continue c
【单步运行,将子函数当做整体一步执行】
$n next
$s 单步运行,遇到子函数会进去
【查看指令的用法】
$help [cmd]
【内存访问断点】
$watchpoint set variable p1->name
$watchpoint set expression 0x312315(一个内存地址)
注:断下之后可以通过bt查看堆栈信息,达到了解是从哪修改了内存

内存操作

【查看当前内存/修改当前内存】
$expression self.view.subViews
$p self.view.subViews
$p self.view.backgroudColor = [UIColor redColor];
注意:
p是expression的缩写,并不是print
po 的o是代表打印该类的description

【stop-hook - 让你在每次stop的时候去执行一些命令,只对breadpoint,watchpoint】
$target stop-hook list
$target stop-hook add -o "frame variable"
$target stop-hook delete
【查看代码段】
$image lookup -a 0x102110226 //汇编的地址
$image lookup -t Person //快速查看一个类
$image list //系统加载的各种文件信息
【内存查看】
$memory read 0x地址(缩写是:x)

堆栈操作

【堆栈操作】
$bt //查看堆栈列表
$up //断下后才可以使用 往函数上一层
$down //断下后才可以使用 往函数下一层
$frame select index //定位到第index层的代码位置
$frame variable 查看所有参数,可以通过p进行修改
$thread return 代码回滚到上一层,并退出

iOS逆向之旅(进阶篇) — 工具(LLDB)相关推荐

  1. 测试开发学习之旅------进阶篇

    习题课 因果图法 自动饮料的售卖 机,可以输入1.5毛钱或者两块钱硬币,一瓶饮料的价钱1.5 可乐,雪碧,红茶,按哪一种饮料,出哪一种饮料,如果输入2块钱按相应的饮料,出饮料的同时会找出5毛硬币 (1 ...

  2. iOS逆向之旅(进阶篇) — 重签名APP(一)

    重签名的四种方式 手动重签名[这种方法很复杂,容易出错,不过更接近原理] 使用Xcode进行重签名[在手动重签的基础上,利用XCode的功能执行部分操作,这种方法比较简单] 使用XCode脚本自动签名 ...

  3. iOS 学习之旅 - OC 篇

    不知不觉来微信事业群差不多也快一年了,自己学习 iOS 也已有半年,在此记录一下自己的学习过程.很多同学可能想知道从 Android 转到 iOS 公司给了多久的缓冲?大概是一周的样子,那时我还在做 ...

  4. iOS逆向之旅---在iPhone上开发微信自动跳一跳插件

    感谢「杜泽旭」同学投稿,也欢迎广大安全逆向爱好者积极投稿,分享不仅是一种精神也是一种快乐,本文涉及到的iOS应用开发安全逆向问题可以去小密圈咨询他,包括微信,抖音等各种问题! 现在已有的实现方法基本是 ...

  5. ESP8266开发之旅 进阶篇⑩ sniffer混杂模式,监听802.11帧,黑科技基础

    文章目录 1. 前言 1.1 混杂模式 -- sniffer 1.2 802.11 帧格式 1.2 802.11 管理帧 1.3 建立Association 2. ESP8266 sniffer应用说 ...

  6. ESP8266开发之旅 进阶篇⑨ 深入了解 802.11 无线协议(非常重要)

    文章目录 1. 前言 2. WLAN拓扑结构 2.1 IBSS -- 无AP 2.2 BSS -- 有AP 2.3 ESS -- 有AP 和 DS 3. 802.11 协议 3.1 802.11 帧 ...

  7. ESP8266开发之旅 进阶篇⑤ 代码规范 —— 像写文章一样优美

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... 快速导航 单片机菜鸟的博客快速索引(快速找到你 ...

  8. ESP8266开发之旅 进阶篇② 闲聊Arduino IDE For ESP8266烧录配置

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... 快速导航 单片机菜鸟的博客快速索引(快速找到你 ...

  9. iOS安全逆向之旅---安全逆向环境搭建和工具使用介绍

    一.前言 这是2020年第一篇文章,我们从今年开始主要介绍iOS安全逆向相关知识,介于之前已经了解了Android逆向相关的知识,所以这里会相对比较容易入门,本文就来介绍一下iOS逆向需要准备的工具和 ...

最新文章

  1. Java程序猿的JavaScript学习笔记(汇总文件夹)
  2. Python数据结构与算法(第六天)
  3. PHP修改PHP.ini上传大文件的解决办法
  4. 三星note4 N9100刷回4.4.4系统后无法usb连接电脑
  5. [置顶] 完美程序员的10种品质
  6. 中list如何清空_如何根据索引删除 list 中的元素
  7. jvm垃圾回收机制_干货|JVM垃圾回收机制
  8. 玩转Android之MVVM开发模式实战,炫酷的DataBinding!
  9. .Net Core + NGINX跳转登录时端口丢失
  10. [转][C#] .net动态编译C# 和 VB
  11. 新中国成立60周年重要科技成果知识竞赛试题
  12. 单内核OS与微内核OS结构比较
  13. 哈工大2022形式语言与自动机期末
  14. 详解24个经典股票技术指标(一)
  15. 显著性水平 p值 z值
  16. 解决因卸载WPS导致Excel表格打开提示“xls文件格式和扩展名不匹配,文件可能已损坏或不安全”
  17. 笔记本电脑亮度不能调节的一种解决方案
  18. fatal: bad boolean config value ‘“false”‘ for ‘http.sslverify
  19. API接口安全思考和最佳实践
  20. 【MATLAB】Matlab删除文件或者文件

热门文章

  1. 数据结构与算法笔记 —— 十大经典排序及算法的稳定性
  2. of python检索文献 science web_硕博士都在学的Python神技,有大神带!
  3. 超级封装RecyclerView的适配器Adapter 只需二三十行代码
  4. 动态性是Java的特性吗_Java的动态特性有哪些?
  5. c 获取char*的长度_最大的 String 字符长度是多少?
  6. 微信小程序之生成图片保存到相册
  7. Win10如何找出占用硬盘空间大的文件及怎么删除
  8. MATLAB-数据类型
  9. MATLAB Simulink 做BP PID报错:Error :*** during flag=* call must be a real vector of length 3
  10. 统计学习笔记(4)——朴素贝叶斯法