我们很高兴宣布 Frida 16.7.10,带来多项稳定性改进。特别感谢 @mrmacete 找出所有这些问题的根本原因,并修复 Apple 操作系统上的一处死锁。
本版本包含以下变更:
- network-stack:修复 TcpConnection 发送逻辑。
- network-stack:改进 VirtualStream 锁定机制,以增强批处理并避免在 Frida 线程上进行不必要的调度。
-
virtual-stream:为了方便起见,允许在不持有锁的情况下调用
update_pending_io(),适用于子类在调用前无需更新其他状态的场景。我们的一个子类假定可以这样做,因为在把通用逻辑提取到 VirtualStream 基类之前,它一直如此工作。这意味着 16.7.4 中的重构引入了竞态条件,而此项变更将其修复。 - darwin:通过避免使用 flags 来优化线程枚举。这消除了堆分配,降低了 Interceptor 等使用场景中的死锁风险;在这些场景中,线程枚举用于按 ID 暂停和恢复线程。(由 @mrmacete 贡献。)
尽情使用吧!
oleavr