这个版本带来了一些令人兴奋的新功能。让我们直接开始吧。

CoreDevice

正如 16.3.0 发布说明中提到的那样,@hsorbo 和我一直在为 Linux 内核的 CDC-NCM 驱动提交补丁,使其与 Apple 的私有网络接口兼容。该补丁现已进入 上游,并将成为 Linux 6.11 的一部分。

与此同时,针对在 Windows 上使用 Frida 的用户,我们刚刚实现了一个 最小化的用户态驱动;当 Frida 检测到内核没有提供驱动时, 现在就会使用它。我们还利用 lwIP 在用户空间中完整实现了以太网和 IPv6。 最终,Frida 可以在 libusb 支持的任何平台上支持 CoreDevice。

结语

此外还有许多令人兴奋的变更,务必查看下面的变更日志。

祝你使用愉快!

变更日志

  • fruity:重新设计以支持用户空间 CDC-NCM。
  • fruity:支持 iOS >= 18 上的 dyld 重启。
  • fruity:在 iOS >= 18 上等待 ObjC 运行时初始化。
  • fruity:修复没有可用 usbmux 连接时的 gadget 上传。
  • fruity:改进 open_channel() 以支持 tcp:service-name。
  • fruity:RSD 端口查找失败时重试。
  • fruity:恢复 HostChannelProvider 实现。
  • fruity:如果 libSystem 已初始化,则跳过获取 dyld 符号。
  • fruity:接通 MacOSCoreDeviceTransport 事件处理。
  • fruity:修复 macOS CoreDevice 连接类型逻辑。
  • fruity:向公开的系统参数添加 os.build 和 hardware。感谢 @as0ler!
  • server 和 gadget:在 iOS 和 tvOS 上监听 Apple 的 CoreDevice 隧道网络接口。
  • xpc-service:修复 request() 对数组的处理。感谢 @hsorbo!
  • xpc-service:支持为 request 参数添加类型注解。
  • python:支持将元组反序列化为 GVariant。
  • python:修复将 bool 反序列化为 GVariant。
  • node:封送至 GVariant 时支持类型注解。
  • node:将 Node.js 要求提升至 >=16 || 14 >=14.17,以匹配 minimatch。
  • java:修复 Android 上 registerClass() 字段条目的顺序。感谢 @eybisi!