fishHook原理之--通过符号查找字符串

fishHook地址: https://github.com/facebook/fishhook

fishHook原理表

借助MachOView查看目标项目的 MachO文件

1. 找到懒加载符号表, 与之一一对应的动态符号表

懒加载符号表:

动态符号表中 Indirect Symbols:

通过遍历懒加载符号表可以拿到对应函数的index值, 通过这个index值就可以在Indirect Symbols 中找到 所对应的动态符号表

2. 通过 Indirect Symbols 中 Data值 找到 Symbol Table 符号表对应函数

这里的 data值其实是一个下标, 将十六进制 0x7A 用计算器换算成 十进制为 122

来到 Symbol Table 符号表:

对应 #122 标号可以找到 NSLog

3. 再通过 Symbol Table 中 Data 字段 进入 String Table 字符串表找到 目标字符串

这里data 其实是一个偏移值

用 0xCEFC + data 得到就是 字符串字节位置

希望对大家有帮助!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容