美文网首页iOS逆向开发
<安全攻防之HOOK概述>

<安全攻防之HOOK概述>

作者: 高阿呆 | 来源:发表于2019-11-28 16:11 被阅读0次

HOOK的概述

HOOK(钩子) 其实就是改变程序执行流程的一种技术的统称!

iOS中HOOK技术的几种方式

1.Method Swizzle

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

method_exchangeImplementations(<#Method  _Nonnull m1#>, <#Method  _Nonnull m2#>)

2.fishhook

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

struct rebinding {
  const char *name;  //需要hook的函数名称
  void *replacement; // 新的函数指针
  void **replaced; // 保存的原始函数指针变量的指针(二级指针)
};

rebind_symbols(<#struct rebinding *rebindings#>, <#size_t rebindings_nel#>)
rebind_symbols_image(<#void *header#>, <#intptr_t slide#>, <#struct rebinding *rebindings#>, <#size_t rebindings_nel#>)
fishhook.png

3.Cydia Substrate

Cydia Substrate主要由3部分组成:
  • MobileHooker
      MobileHooker顾名思义用于HOOK。它定义一系列的宏和函数,底层调用objc的runtimefishhook来替换系统或者目标应用的函数.
    其中有两个函数:
    ①.MSHookMessageEx 主要作用于Objective-C方法
void MSHookMessageEx(Class class, SEL selector, IMP replacement, IMP result)

②.MSHookFunction 主要作用于C和C++函数

void MSHookFunction(void function,void* replacement,void** p_original)

注: Logos语法的%hook 就是对此函数做了一层封装.

  • MobileLoader
     MobileLoader用于加载第三方dylib在运行的应用程序中。启动时MobileLoader会根据规则把指定目录的第三方的动态库加载进去,第三方的动态库也就是我们写的破解程序.
  • safe mode
     因为APP程序质量参差不齐崩溃再所难免,破解程序本质是dylib,寄生在别人进程里。 系统进程一旦出错,可能导致整个进程崩溃,崩溃后就会造成iOS瘫痪。所以CydiaSubstrate引入了安全模式,在安全模 式下所有基于CydiaSubstratede 的三方dylib都会被禁用,便于查错与修复。

注:对于自定义的函数,fishhook无法修改.

相关文章

  • <安全攻防之HOOK概述>

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

  • iOS 逆向

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

  • iOS安全攻防

    iOS安全攻防 iOS安全攻防

  • iOS安全攻防

    参考iOS安全攻防(二十三):Objective-C代码混淆代码混淆 md5 + base64[ios]安全攻防之...

  • iOS逆向之HOOK原理

    iOS逆向之HOOK原理 HOOK概述 HOOK(钩子) 其实就是改变程序执行流程的一种技术的统称!image.p...

  • iOS安全攻防1

    安全攻防

  • Hook原理

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

  • HOOK

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

  • 攻防安全之工控终端安全

    编辑:小星 多一份网络防护技能 多一份信息安全保障 为了确保CIS的能成功的抵御攻击,每个企业都需要采取足够的安全...

  • 005——HOOK原理

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

网友评论

    本文标题:<安全攻防之HOOK概述>

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