iOS逆向之深入解析Hook的原理方法和安全防护

本文深入探讨了iOS中的Hook技术,包括Method Swizzle、fishHook和Cydia Substrate的原理。Method Swizzle利用Objective-C的Runtime特性改变方法调用流程。fishHook通过修改MachO文件实现C函数的Hook。Cydia Substrate则针对OC方法和C函数进行Hook。同时,文章还介绍了针对这些Hook方法的安全防护策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hook 简介

  • Hook就是一种改变程序执行流程的一种技术的统称;
  • 一段程序的执行流程是 A --> B --> C,现在我们在 A 和 B 之间插入一段代码或者直接改变 B ,这样程序原有的执行流程就发生了改变。如下图所示:

在这里插入图片描述

  • Hook的方式:Method Swizzle,fishhook,Cydia Substrate;

Hook 原理

一、Method Swizzle 原理
  • 利用OC的Runtime特性,动态去改变SEL(方法编号)和IMP(方法实现)的对应关系,达到OC方法调用流程改变的目的主要用于OC方法。
  • Hook中主要用到的方法(参数: Class、SEL、IMP、Method):
// 1、方法交换
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

╰つ栺尖篴夢ゞ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值