使用HookZzModules快速逆向理清逻辑

前言逆向很多的入手情况可能需要找到, 通过 cycript + Reveal 找到当前 View 的 ViewController. 但其实我们可以通过 hook 住 objc_msgSend 提供一些思路, 有个问题就是 objc_msgSend 调用过于频繁, 不能所有都打印, 那么可以借助 HookZz 搞...

RunLoop 学习

前言先说参考文档 12// 如果可以看懂的话这一篇文章+源码就够了.https://blog.ibireme.com/2015/05/18/runloop/ RunLoop 机制的组成RunLoop 其实和 Tornado 中的 IOLoop 差不多, 都是基于事件循环机制. IOLoop 的内部核心在于各种 E...

短函数和不定参数函数的hook

前言短函数的 inlinehook, 由于 hook 目标地址, 需要进行跳转, 如果分配不到可以 near jump 内存, 就只能进行 abs jump, 这就会导致被覆盖(修复)多条指令. 对于不定参数的 hook, 通常使用 MSHookFunction 进行 hook 但是由于不知道原参数个数, 进而无...

设计模式技巧笔记

如何构建可变长度的列表1. 使用链表ignore… 2. 基于 realloc 队列12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758typedef ...

反调试及绕过

任何带特征的检测都是不安全的 & 隐而不发(@Ouroboros) Move to AntiDebugBypass on github 代码依赖于 HookZz, 一个 hook 框架 前言对于应用安全甲方一般会在这三个方面做防御. 按逻辑分类的话应该应该分为这几类, 但如果从实现原理的话, 应该分为两...

反注入及绕过[doing]

任何带特征的检测都是不安全的 & 隐而不发 之前说了下关于反调试的相关, 这次说下反注入相关. 前言要实现 hook 的首要前提就是能够注入. 但是注入的手段比较多. 1. DYLD_INSERT_LIBRARIES 这种主要是 CydiaSubstrate 使用的注入方式, 首先将自身通过 pthre...

HookZz框架

What is HookZz ?a cute hook framwork. still developing, for arm64/IOS now! ref to: frida-gum and minhook and substrate. special thanks to frida-gum's pe...

frida-gum源码解读

前言frida 封装的真的厉害. 这里的分析主要关注 interceptor 拦截器部分. frida 使用的是 inlinehook (废话), 模块化做的非常好, 把小模块都进行了拆分和封装. 这里主要是为了学习 frida 进行 inlinehook 的套路. 这里额外提一点, frida-tracer 并...

调试的奇淫技巧

前言在做安全开发遇到各种调试, 这涉及到很多调试的技巧 调试的奇淫技巧主动触发调试中断首先推荐一个库: https://github.com/scottt/debugbreak 在 C/C++ 调试过程中不像 pyhton 那么简单, 直接 import pdb;pdb.set_trace() 就可以, 所以希望...

记一次不完全的lldb死锁分析

记一次不完全的 lldb 死锁分析前言当使用 lldb attach 到一个进程后, 使用 po dlopen("/Users/jmpews/Desktop/SpiderZz/project/evilHOOK/Modules/build/x64/libobjcmsgsend.dylib", 0...