[iOS安全研究],请问各位大佬,iOS中如何获取一个函数的前几条指令的调用地址

#include <dlfcn.h>

void *sysctlbyname_addr = dlsym(RTLD_DEFAULT, “sysctlbyname”);

我目前通过上方式能拿到函数的地址,但跟我的期望不符,不知道有没有可以拿到指定函数的前几行代码的地址这样的操作,我想用来做安全检测

你也不说你预期是什么啊?

类似于这样 0x18d2413dc|0xa9be4ff4|0xa9017bfd|0x910043fd 的四个地址,就是某个系统函数比如 sysctlbyname 前四个指令的地址

我是在数美的sdk采集信息展示看到的,但是我没找到具体的实现

直接sysctlbyname不行吗

或者你可以去看看fishhook的实现,里面有找地址的逻辑

这不是取的指令地址,这是指令的字节码,用来检测inlinehook的

好的,感谢大佬,我再研究研究

好的,感谢