本次发布带来一系列 Linux 和 Android 支持方面的改进与修复,其中包含 @kaftejiman 和 @DoranekoSystems 的贡献。我们还改进了通过网络与 Apple 设备通信的方式。

新增内容如下:

  • linux:改进注入器,避免对 memfd 区域进行有风险的代码交换(感谢 @kaftejiman)。 Memfd 区域可能不可写,而且与常规区域不同,缺少可写位时 ptrace() 也帮不上忙。

  • linux:放宽注入器对 Android libc 的匹配条件(感谢 @kaftejiman)。 这意味着即使 APEX 被绑定挂载,我们仍然可以匹配它们。

  • linux:针对 Linux/Android 优化 NativePointer#readVolatile()(JS)/ gum_memory_read()(C)(感谢 @DoranekoSystems)。如果内核支持,便使用 process_vm_readv(),从而避免解析内存映射。这意味着,与直接访问相比, 它不再慢 1000 多倍,而是只慢约 1.45 倍。

  • fruity:支持 CoreDevice 的网络 lockdown。我们需要在 RSDCheckin 中提供远程解锁主机密钥。 感谢 @as0ler 和 @mrmacete 报告问题并协助查明根本原因。