Mach-O结构的问题,小白求助


想知道这里为什么直接就跳转进了 Foundation image。解答可奉上一杯奶茶

划线两处的地址不一样,
你要看x16的寄存器值,看x16这里是不是Foundation的模块地址
br就是跳转

或者命令行bt,查看进入NSLog之前的堆栈信息
你这是给NSLog打了断点吗

感谢大佬。打了断点。就是想学习一下 Mach-O 绑定符号的流程。但是在Xcode 14上真机跑出来的结果是 NSLog函数的地址和网上其他教程的差别很大,想知道为什么。

符号绑定好像可以看下fishhook的原理,那里解释比较清楚

这个难道不就是加载库的时候,系统分配了一个偏移地址来保证每个库的内容地址都是不一样的.内容已经加载到了内存中,直接跳不是水到渠成的事情么

这样的话,dyld_stub_binder 这些流程都不存在了吗?

那肯定是存在的,在你执行到这一步的时候已经完成了,上面说的是结果