日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS逆向之旅(进阶篇) — 工具(LLDB)

發布時間:2025/3/21 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS逆向之旅(进阶篇) — 工具(LLDB) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

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)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。