xia0LLDB使用
安装
git clone https://github.com/4ch12dy/xia0LLDB.git && cd xia0LLDB && ./install.sh
-
mload [dylib_in_the_iphone_device_path]
将动态库加载到当前进程中 -
xi [code_address]
显示地址+/-8 -
dfuc [addr_of_func]
显示给定地址所有函数 -
pbcopy
从iOS设备粘贴板获取字符串 -
pbpaste [string]
将字符串粘贴到iOS设备粘贴板 -
pcc
连接别名process connect connect://127.0.0.1:1234
-
wpc
写入pc寄存器以控制exe进程
命令详情
-
xbt
统的bt命令,它可以恢复符号表,如果需要恢复block的符号表,可以在IDA里使用restore-symbol的脚本导出block的符号表,再使用sbt -f block的符号表路径来添加block的符号表 -
xbr
添加断点xbr "-[MMServiceCenter getService:]"
OC函数添加断点xbr 0x100009740
在ida地址设置断点,自动添加偏移xbr -a 0x100fb1740
在内存地址里加断点xbr -E main
给main函数打断点xbr -E init
第一个mod_init函数打断点xbr UPLivePlayerVC
给指定类名的所有方法打断点xbr -E load
给所有+load打断点 -
动态调试
ni
单步执行,不进入子函数si
单步执行,进入子函数finish
完成功能并退出子函数return
直接退出子函数 -
参数打印
rr
快速显示一些重要寄存器ivars 0x2835c4d00
打印oc对象的所有成员变量methods CContactMgr
打印oc对象所有的方法pclass [oc_object]
打印对象类名称`po $x0' 打印OC对象
x/s $x1
打印C字符串 -
获取地址/函数/模块等信息命令
info -m WeChat
获取指定APP在手机里的路径、基地址、偏移info -a 0x00000001cd4ca3b8
获取地址所在的函数信息info -f getpid
获取函数所在信息 -
dumpdecrypted
在lldb中转储macho映像,默认转储所有macho映像。
注意:如果应用程序在启动时崩溃,您应该使用-x backboard启动应用程序,只需输入dumpdecrypted-x即可,更多信息:http://4ch12dy.site/2020/02/26/lldb-how-to-dump-gracefully/lldb-how-to-dump-gracefully/ -
croc
转到可以运行oc脚本的环境 -
choose
获取给定类名的实例对象,cypcript的choose命令的lldb版本 -
debugme
绕过反调试:可以钩住ptrace和inlinehook svc来终止反调试 -
mload [dylib_in_the_iphone_device_path]
将动态库加载到当前进程中