新一轮改进与修复进一步提升了 Frida 的稳定性和性能,感谢 @mrmacete 提供宝贵反馈。本次更新如下:
-
gumjs:通过 idle source 延迟 unref,修复
Module终结器中的崩溃。这既避免了 QuickJS 挂起/恢复补丁不支持从终结器调用所导致的问题,也省去了大量模块销毁期间反复挂起和恢复 JS 执行的开销。更好的长期方案是引入ModuleObserver管理Module生命周期,并在模块添加或移除时发出信号。 -
module:为所有
Module对象使用同一把锁,加快NativeModule生命周期处理。此更改提升了性能;待 GLib 静态分配清理补丁改用更适合跟踪互斥锁的数据结构后,我们会再次审视这一方案。
oleavr