美文网首页
iOS HOOK实现

iOS HOOK实现

作者: 石虎132 | 来源:发表于2018-10-29 19:54 被阅读0次

   联系人:石虎 QQ:1224614774  昵称: 嗡嘛呢叭咪哄

                          QQ群:807236138  群称: iOS 技术交流学习群

一、概念

     HOOK,中文译为“挂钩”或“钩子”。在iOS逆向中是指改变程序运行流程的一种技术。通过hook可以让别人的程序执行自己所写的代码。在逆向中经常使用这种技术。所以在学习过程中,我们重点要了解其原理,这样能够对恶意代码进行有效的防护。


二、iOS中HOOK技术的几种方式

      Method Swizzle

     利用OC的Runtime特性,动态改变SEL(方法编号)和IMP(方法实现)的对应关系,达到OC方法调用流程改变的目的。主要用于OC方法。

     fishhook

    它是Facebook提供的一个动态修改链接mach-O文件的工具。利用MachO文件加载原理,通过修改懒加载和非懒加载两个表的指针达到C函数HOOK的目的。

   Cydia Substrate 

   Cydia Substrate 原名为 Mobile Substrate ,它的主要作用是针对OC方法、C函数以及函数地址进行HOOK操作。当然它并不是仅仅针对iOS而设计的,安卓一样可以用。官方地址:http://www.cydiasubstrate.com/

三、demo 效果图

对 Method Swizzle理解:

下载 demo :https://github.com/shihu132/SHHKURLDemo

四、 仿界面实现截图

谢谢!!!

相关文章

  • iOS HOOK实现

    联系人:石虎 QQ:1224614774昵称:嗡嘛呢叭咪哄 QQ群:807236138群称...

  • iOS 无感知埋点的原理

    iOS开发中,一般使用hook的方式实现无感知埋点,hook过程一般在load方法中,通过方法的exchange来...

  • iOS逆向 ---- Hook方法及原理OC篇

    iOS逆向 ---- Hook方法及原理OC篇[iOS逆向 ---- Hook方法及原理OC篇](阅读原文

  • iOS 逆向

    iOS安全攻防了解iOS 逆向, 需要了解汇编的知识Hook 钩子, 勾住某个方法, 从而修改方法的实现 逆向简介...

  • ios 越狱hook 打开-关闭wifi的操作

    ios hook开发打开 关闭wifi的操作 主要是hook SpringBoard 首先得到hook wifi的...

  • Hook原理

    HOOK概述 HOOK示意图 iOS中HOOK技术的几种方式 Method Swizzle 2.fishhook ...

  • HOOK

    HOOK 一、HOOK概述 HOOK(钩子) 其实就是改变程序执行流程的一种技术的统称! 二、iOS中HOOK技术...

  • 005——HOOK原理

    HOOK概述 HOOK(钩子)其实就是改变程序执行流程的一种技术的统称!HOOK原理 IOS中HOOK技术的几种方...

  • iOS 一对多 delegate 的简单应用

    背景 在之前我们尝试过 hook webView 的 delegate,可以查看【 iOS 如何优雅地 hook ...

  • 静态插桩的方式来实现Hook Method

    静态插桩的方式来实现Hook Method静态插桩的方式来实现Hook Method

网友评论

      本文标题:iOS HOOK实现

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