Skip to content

1.139

Choose a tag to compare

@XiaoTong6666 XiaoTong6666 released this 07 Aug 12:15
· 3 commits to main since this release

同步自 主仓库 构建产物喵

  • Version: 1.139
  • VersionCode: 139
  • Commit: b59e37e
  • Build time: 6m 14s
  • SHA256: dc8563c2d0c8b19e7b5d6d9074fe8ac28c1cc1df763299d0e5e77d9c00b7a8a1

Message

fix(native): 适配 API 37 MediaProvider 目录项 ABI #46 #47

API 37 的 MediaProvider 修改了目录项容器布局,GetDirectoryEntries 返回值从 vector<shared_ptr<DirectoryEntry>> 调整为 vector<DirectoryEntry>,导致原有 hook 在新版本上存在 C++ 容器 ABI 不兼容问题。

新增 value-vector 和 shared_ptr 两套 DirectoryEntry wrapper,并通过 addDirectoryEntriesFromLowerFs 的 mangled symbol 判断实际使用的容器类型。保留旧版本 shared_ptr ABI 支持,同时仅在已验证的 arm64 API 37 样本中启用 value-vector 路径。

value-vector 路径不复用旧的目录快照缓存,避免不同 libc++ 实现之间发生容器和字符串所有权转移问题。ABI 无法确认或 profile匹配不可信时跳过相关 hook,避免错误解析 STL 对象导致崩溃。

同时完善 hook profile 校验逻辑:
- 未解析的 RVA 不再回退到 profile 默认值
- 派生偏移要求多个锚点一致确认
- 移除未经验证的 thunk 偏移推导
- 扩展 libc++ string 原始布局解析支持

Signed-off-by: XiaoTong6666 <xiaotong6666666666@gmail.com>
Co-authored-by: HsukqiLee <HsukqiLee@users.noreply.github.com>