百趣云 百趣云的博客

🔖iOS逆向

博主
百趣云
15小时前 · NEW!
同一个 App,两套抓包战场很多逆向工程师安卓玩得转,换 iOS 就处处碰壁——不是能力问题,是两个平台的网络栈、证书体系、工具链有系统性差异。本文把差异点摊开讲,让你带着地图进新战场。差异一:证书信任模型Android:用户证书和系统证书分区,Android 7+ App 默认只信系统证书——所以安卓抓包的主战场是"把证书塞进系统区"(Magisk 模块方案)。iOS:没有分区概念,用户装的 CA 证书在"设置→通用→关于本机→证书信任设置"里打开"完全信任"后即获系统级信任。iOS 的证书安装本身简单,难的是描述文件安装流程和那个隐藏的信任开关。实战影响:iOS 上没做 Pinning 的
博主
百趣云
18小时前 · NEW!
为什么 CCCrypt 是 iOS 加密的"总开关"iOS App 的对称加密(AES/DES/3DES)绝大多数最终汇聚到系统库 libcommonCrypto 的 CCCrypt 函数——无论上层封装多花哨(自研 SDK、三方库),真正干活的都是它。hook 住这一个函数,密钥、IV、明文、密文全部现形。CCCryptorStatus CCCrypt( CCOperation op, // kCCEncrypt=0 / kCCDecrypt=1 CCAlgorithm alg, // kCCAlgorithmAES=0 / DES=1 / 3DES
博主
百趣云
20小时前 · NEW!
Cycript 是什么:OC 的交互式 REPLCycript 是一个能 attach 到 iOS 进程的交互式解释器,语法是 JavaScript 和 Objective-C 的混合体。attach 之后,整个 App 的运行时对象图都是你的 Console——枚举对象、调方法、改属性、甚至现场创建新对象,全部即时生效。# 越狱设备上 cycript -p TargetApp # attach 到进程 cycript -p 1234 # 或按 PID进入 REPL 后的第一感受:cy# UIApp.keyWindow.rootViewController
博主
百趣云
21小时前 · NEW!
Mach-O:iOS 二进制的解剖图iOS/macOS 的可执行文件是 Mach-O 格式,结构分三段:Mach Header(头部:架构、加载命令数量) ↓ Load Commands(加载命令:告诉系统怎么加载) ↓ Segments/Sections(数据段:代码、数据、符号)逆向必知的几个 Load Command:LC_SEGMENT_64:定义内存段(__TEXT 代码段、__DATA 数据段)LC_ENCRYPTION_INFO_64:FairPlay 加密信息,cryptid=1 表示加密,砸壳就是把它清 0 并替换明文段LC_CODE_SIGNATURE:代码
博主
百趣云
1天前 · NEW!
MonkeyDev 解决什么问题iOS 逆向有个天然矛盾:tweak 需要越狱环境,但目标 App 检测越狱;真机不越狱又没法注入代码。MonkeyDev 给出的方案是重打包注入——把 hook 代码编译成 dylib,塞进脱壳后的 IPA,修改 Mach-O 的加载命令让它启动时自动加载,重签名装回非越狱机。等于把 App 和你的分析代码打包成一个"合体版"安装包,在非越狱设备上实现 tweak 的效果。环境搭建与标准流程# 安装(依赖 theos) git clone https://github.com/AloneMonkey/MonkeyDev.git # 按 wiki 配置 theo