文章目录 前言 I、注入的方式有哪些? 1.1 hooking-swift-methods 1.2 Hooking & Executing Code with dlopen & dlsym —Easy mode:`hooking C methods` 1.3 fishhook: 1.4 substitute: 1.5 cydia substrate: 1.6 Method Swizzling :利用运行时API II、注入检测 2.1 通过_dyld_get_image_name,判断是否存在MobileSubstrate 2.2 app crashes when libSystem cannot be found III、hook 检测 3.1 Method Swizzling: 3.2 符号表替换: 3.3 inline hook 3.3.1 检测方法: 3.4 利用调用栈`callStackSymbols`进行检测 IV、完整性校验 see also 安装brew 前言 反注入:注入检查机制,获取加载的模块名,判断是否都在白名单中; hook 检测:method swizzle、符号表替换、inline hook I、注入的方式有哪些? 针对注入的方式进行反注入,现在先回一下注入的方式有哪些? 1.1 hooking-swift-methods hooking-swift-methods 1.2 Hooking & Executing Code with dlopen & dlsym —Easy mode:hooking C methods 代码:hookingCmethods