首页
社区
课程
招聘
[原创]IOSDecryptHub:免越狱看清加解密,兼砸壳与 MCP
发表于: 1天前 284

[原创]IOSDecryptHub:免越狱看清加解密,兼砸壳与 MCP

1天前
284

一个只需注入 dylib、无须越狱的 iOS 运行时分析助手:加解密捕获 + 抓包 + 砸壳 + 文件/Keychain/行为分析 + MCP

github: 58bK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6V1k6h3y4J5P5i4m8@1K9s2g2T1i4K6u0r3d9f1!0e0c8r3g2U0M7Y4W2H3N6p5S2#2j5R3`.`.

网站(兼越狱源):80fK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6A6L8%4y4Q4x3X3g2V1k6h3y4J5P5i4m8@1K9s2g2T1i4K6u0W2j5$3!0E0

这个工具适用于密码学算法逆向、iOS 砸壳,还有抓包(hook 实现,无须代理),还有 iOS 应用文件、Keychain、App 行为分析。

AI 时代,效率非常重要,做这个的意义就是把重复低级的工作交给 AI 完成,把时间花在有价值的事情(刷抖音)上面。

把流程简化,逆向 App 协议的步骤现在应该是——打开 IOSDecryptHub,手动登录一次 App,然后对 Agent 说:

当然这是比较理想化的任务,不过一般来说,其实对于大部分 App 都可以做到。

我们实现了大量不需要越狱、只需要注入 dylib 就能实现的功能!

iOS 有两个相互咬合的内核级机制,是整套设计的根本约束(这里不谈越狱哈):

① 强制代码签名(AMFI / AppleMobileFileIntegrity)
每一个要执行的内存页都必须有有效签名,由内核配合 trust cache 校验。没签名的代码页,内核直接拒绝执行。

② W^X(Write XOR Execute)内存策略
一块内存要么可写、要么可执行,不能兼得。想把一块可写内存改成可执行(mprotect 加执行权限、mmapMAP_JIT),需要一个叫 dynamic-codesigning 的 entitlement——而这个 entitlement 只发给系统里极少数进程(比如 WebKit 的 JavaScriptCore 做 JIT)。普通侧载 App 拿不到。

方便以后为越狱开发更为强大的功能,比如 inline hook / trampoline / DBI(Frida Stalker、QBDI)这种。(先画饼再说哈哈哈哈)

这就是为啥用 fishhook + swizzle

不过没关系,这样的牺牲是有价值的,并且是刻意做的取舍,因为获得了兼容性——

打包了:巨魔、roothide、rootless 环境都可以使用的通用助手!

至于为什么不做 rootful,太老了 bro,现在越狱工具都不更新了,也就不想花时间维护这玩意,而且老 iOS 系统已经很多 App 跑不起来了。

推荐使用多巴胺环境~

在注入 dylib 的能力边界上,基本能堆的配置都上了一遍,有些是 AI 查到的,不过没关系,够你用了。

核心中的核心。 不追具体算法实现,只掐住密码学库的 API 咽喉。

看表:

这些都是 C 导出符号,用 fishhook 改 GOT 就行。

对称加密里,CCCrypt 是一次性调用,直接在 hook 里拿到 (key, iv, in, out) 六元组落库;而 CCCryptorCreate → Update → Final 是流式的,单次 hook 拿不到全貌,所以它用 cryptorRef 指针当 key,把每次 Update 的输入输出累积起来,到 Final 才落一条完整日志(累积上限 4MB 防 OOM)。HMAC 同理,用 ctx 指针在 NSMutableDictionary 里跟踪 key 和累积输入。

双层布点: 上层抓结构化请求,下层抓 TLS 明文字节流。

绝大多数 App 走 NSURLSession,而它是 ObjC,所以用 swizzle 而不是 fishhook。难点是任务有好几种发起方式:

NSURLSessionTask resume 上做兜底。 因为不管你用哪种方式创建任务,最后都得 resume 才会真正发出去。在 resume 时把 method / url / headers / body 合并成一条日志。

SSL_write / SSL_read 抓的是进 TLS 之前 / 出 TLS 之后的明文字节流——这是抓 TLS 加密流量明文的经典点位,之前 r0capture 也在这里 hook 过。

水一个段落吧,这个没啥好写的,不就是读文件吗,hook 一下 libc 的文件系统调用,可以观察简单的越狱检测。

看似小角色其实有大用。

Keychain 是 Security.framework 的 C 符号,hook 点是 SecItem 那四个 CRUD:

很多 App 会把用户凭据、设备 id 和一些敏感数据放在里面,其实在 AI 追踪的时候很方便,因为有些数据它能分辨出是持久化存储的,还是协议里面的数据。

观测 —— hook_env.mhook_system.m 里的符号:

改写 —— 拦截和改写系统调用(ptracecsopssysctl)和应用层 API(dladdrcanOpenURL 等),让 App 无法感知调试器的存在和越狱环境的证迹,从而绕过开发者设置的反调试锁定、代码签名验证、进程追踪、越狱路径暴露和动态库注入。

懂的都懂,不展开说,隐藏强度也有限。


冰与火的战歌:Windows内核攻防实战高级班!从零到实战,融合AI与Windows内核攻防全技术栈,打造具备自动化能力的内核开发高手。

最后于 1天前 被太岁又沐风编辑 ,原因:
收藏
免费 16
打赏
分享
最新回复 (5)
雪    币: 4661
活跃值: (7952)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
感谢分享
1天前
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
111
1天前
0
雪    币: 2790
活跃值: (6865)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
感谢分享
1天前
0
雪    币: 845
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
666
1天前
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
看看
17小时前
0
游客
登录 | 注册 方可回帖
返回