使用image list -o -f获取基地址以后,加上偏移地址 00000000014cc3e4,用br s -a 打断点,报错
warning: failed to set breakpoint site at 0x14cc35 for breakpoint 1.1: error: 0 sending the breakpoint request
然后我修改成image list获取基地址以后,加上偏移地址能成功打断点,但是我打的断点不是我要找的那个函数方法,我用
di --start-address 获取函数去对比,不是一个方法,求教一下,谢谢
mach-o header
nu11
(null)
2021 年9 月 17 日 07:36
4
file 命令看一下framework里的macho,应该是个动态库,也就是个shared object。
image list -o -f的时候,找到动态库的加载地址(而不是主二进制的)下断点
1 个赞
还有一个问题请教一下,我写tweak如何获取这个动态库的地址了,用dlopen去加载这个动态库?
nu11
(null)
2021 年9 月 17 日 09:14
8
这个动态库被主二进制加载了吧? 要是OC函数直接用runtime符号去hook就好了,不需要拿地址吧。如果真的要拿地址用dyld_xxx的api,遍历一下,就能拿到了吧。
不用遍历,每次加载的序号是固定的,直接按index取,节能减排
我现在用代码获取的基地址,跟实际的lldb获取的基地址不一致,这是为什么
还有一个问题,我这个动态库不是第一时间加载进来的,我用
unsigned long _sub_ACF0 = _dyld_get_image_vmaddr_slide(i);
pszModName = _dyld_get_image_name(i);//名称
现在是没有我想要的那个动态库的,它会过一会才会加载这个动态库,这个怎么拿这个动态库的地址了
danyal
(danyal.L)
2021 年9 月 18 日 04:07
13
_dyld_register_func_for_add_image() ?
nu11
(null)
2021 年9 月 18 日 06:37
15
2015232 == 0x1ec000.
你去补补基础好不好?
1 个赞
我现在用图1的路径,能获取基地址g_slide = slide;,但是拿不到动态库的基地址,图2是动态库的路径,怎么能获取到动态库的基地址了,现在这个动态库还没有加载,我用_dyld_get_image_vmaddr_slide还拿不到,谢谢