美文网首页
各种Hook框架的理解

各种Hook框架的理解

作者: D_8270 | 来源:发表于2020-03-12 15:01 被阅读0次

    非越狱环境:

    1. OC的runtime特性,来动态替换修改oc类的方法,但仅能针对OC语言
    2. fishhook facebook开发的可hook C函数的类库,参考这篇博文

    越狱环境:

    除了支持上面两种Hook方式外,越狱环境还支持MobileSubstrate(CydiaSubstrate)里面的MSHookFunction

    现在我已知的大致有inlinehook、fishhook、runtime hook等等

    inlinehook

    目前已知的只能在越狱环境中实现,如CydiaSubstrate的MSHookFunction就是一种inlinehook方式,其原理是对C函数的开头修改了汇编指令,使其跳转到新的实现,执行完成后再返回执行原指令。
    MSHookFunction即能hook带符号的系统和自定义的C函数,也能hook只有地址的函数,如在IDA/Hopper中显示为sub_xxx的函数

    CydiaSubstrate中还有一个MSHookMessageEx函数,主要是用来hook OC方法的,其原理就是基于OC的runtime,所以这个函数的使用在越狱和非越狱状态下都能正常工作。

    fishhook

    它利用 MachO 文件加载原理,通过修改懒加载和非懒加载两个表的指针达到 C 函数 Hook 的目的参考这篇博文
    还有这篇

    相关文章

      网友评论

          本文标题:各种Hook框架的理解

          本文链接:https://www.haomeiwen.com/subject/hjavwctx.html