Fishhook
众所周知,Objective-C的首选hook方案为Method Swizzle,于是大家纷纷表示核心内容应该用C写。
接下来进阶说说iOS下C函数的hook方案,先介绍第一种方案————fishhook .
什么是fishhook
fishhook是facebook提供的一个动态修改链接Mach-O符号表的开源工具。
什么是Mach-O
Mach-O为Mach Object文件格式的缩写,也是用于iOS可执行文件,目标代码,动态库,内核转储的文件格式。Mach-O有自己的dylib规范。
fishhook的原理
详见官方的How it works,这里我作个简要说明。dyld链接2种符号,lazy和non-lazy,fishhook可以重新链接/替换本地符号。
iOS安全攻防:深入理解Fishhook

本文介绍了Facebook的开源工具Fishhook,用于动态修改iOS应用中的C函数。Fishhook利用Mach-O文件结构,通过修改间接符号表实现函数hook。文章详细阐述了fishhook的工作原理,并给出了替换Core Foundation函数的示例。
最低0.47元/天 解锁文章
1434

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



