fishhook原理

204 阅读1分钟
  1. MachO是被谁加载的?dyld 动态加载
  2. ASLR技术 MachO文件加载的时候是随机地址
  3. PIC技术

如果MachO内部需要调用系统函数时;
先在_DATA段中建立一个指针,指向外部函数;
DYLD会动态的进行绑定,将MachO中的DATA段中的指针,指向外部函数。

fishhook做的是将_DATA段的指针指向的外部函数进行改变,使其指向我们想要指向的函数(重新绑定符号 rebind_symbols)