咨询发布 发表于 2026-3-12 01:16:50

iOS逆向入门:从越狱到class-dump和Frida工具链

安卓逆向搞多了,转 iOS 逆向需要换一套工具链。

一、越狱和环境
iOS 逆向需要越狱设备。目前推荐用 palera1n 越狱(A9-A11 芯片)或 Dopamine(A12-A16)。越狱后装 Cycript、Frida、SSH。

二、工具链

[*]class-dump:导出 App 的 Objective-C 头文件。ipa 解包后用 class-dump dump 出所有类和方法签名
[*]Hopper/IDA:反编译 Mach-O 二进制。Hopper 对 Objective-C 支持好,IDA 更全
[*]Frida:动态 hook。iOS 上 Frida 用法跟安卓类似,hook Objective-C 方法
[*]Cycript:运行时修改和检查 Objective-C 对象。比 Frida 更贴近 OC 语法
[*]Charles/mitmproxy:抓包。需要绕过 SSL Pinning


三、Objective-C hook
// hook OC 方法
var cls = ObjC.classes.YourTargetClass;
Interceptor.attach(cls['- yourMethod:'].implementation, {
    onEnter: function(args) {
      console.log("method called");
    },
    onLeave: function(retval) {
      console.log("return: " + retval);
    }
});

四、Swift 逆向
Swift 比 OC 难。Swift 方法名在编译时会被 mangled(符号修饰),需要 demangle 才能看懂。Frida 对 Swift 的支持不如 OC 好,有时候要直接 hook assembly。

https://www.metk.cn/img/posts/ios_reverse.jpg

慢半拍32 发表于 2026-3-12 19:28:07

这个思路让我想到另一个场景,回头试试能不能套用。

远山 发表于 2026-3-13 00:44:05

这篇干货,比那些只有命令没有解释的强太多了。

半盏不眠 发表于 2026-3-13 11:16:02

有个坑提醒,不同厂商ROM差异很大,通用性没有想象中那么强。

打盹的猫杂谈 发表于 2026-3-14 03:03:58

步骤写得很清楚,跟着走了一遍,卡在第二步的环境配置上,后来装了老版本才好。

北岛 发表于 2026-3-15 00:07:52

收藏了,最近正好要搞这块,省了不少翻文档的时间。

野渡闻笛 发表于 2026-3-16 02:27:45

同意楼主的判断,现在加固手段越来越多,纯手工成本太高了。

远山打盹的猫 发表于 2026-3-17 10:03:37

楼主有没有遇到过反调试?我这边一挂调试器就直接退出。

北岛林间 发表于 2026-3-18 22:55:27

实战出来的经验和文档里写的完全是两码事,楼主这个很真实。

慢半拍拾光 发表于 2026-3-20 17:03:16

有个细节,日志记得清掉,不然很容易被发现。
页: [1] 2 3 4 5
查看完整版本: iOS逆向入门:从越狱到class-dump和Frida工具链