#include <dlfcn.h>
void *sysctlbyname_addr = dlsym(RTLD_DEFAULT, “sysctlbyname”);
我目前通过上方式能拿到函数的地址,但跟我的期望不符,不知道有没有可以拿到指定函数的前几行代码的地址这样的操作,我想用来做安全检测
#include <dlfcn.h>
void *sysctlbyname_addr = dlsym(RTLD_DEFAULT, “sysctlbyname”);
我目前通过上方式能拿到函数的地址,但跟我的期望不符,不知道有没有可以拿到指定函数的前几行代码的地址这样的操作,我想用来做安全检测
你也不说你预期是什么啊?
类似于这样 0x18d2413dc|0xa9be4ff4|0xa9017bfd|0x910043fd 的四个地址,就是某个系统函数比如 sysctlbyname 前四个指令的地址
我是在数美的sdk采集信息展示看到的,但是我没找到具体的实现
直接sysctlbyname不行吗
或者你可以去看看fishhook的实现,里面有找地址的逻辑
这不是取的指令地址,这是指令的字节码,用来检测inlinehook的
好的,感谢大佬,我再研究研究
好的,感谢