我们在做测试的时候,通常需要对app里面的某些方法进行hook。今天介绍一下fishHook的原理,从而说明fishHook的使用场景和局限性。
fishhook中已经将原理介绍的很清楚,如下图所示:

跟着箭头流程如下:
1、通过懒加载表Lazy Symbol Pointers找到动态表Dynamic Symbol Table
懒加载表Lazy Symbol Pointers与动态表Dynamic Symbol Table是一一对应的关系(Find entry with same index in indirect symbol table)。如下图所示:


可以发现懒加载表Lazy Symbol Pointers与动态表Dynamic Symbol Table是一一对应的关系
2、动态表的Data值找到Symbol Table->Symbols
在Indirect Symbols中找到Data值 0x81,换成10进制是129。Data值其实就是一个下标,是一个真正符号表的下标。(Treat value as index into symbol table array)
软件测试之SDK开发(ios)——fishHook原理介绍
最新推荐文章于 2024-04-16 13:00:38 发布

最低0.47元/天 解锁文章
4万+

被折叠的 条评论
为什么被折叠?



