这是一个令人兴奋的新版本,包含跨平台的改进和新功能。以下是新内容:
Fruity 后端改进
@hsorbo 和我一直在努力增强 Fruity 后端,我们很高兴分享以下改进:
-
添加对 TCP 隧道协议的支持,并将其设为默认值,以匹配 Apple 的新行为。
可以使用
FRIDA_FRUITY_TUNNEL_PROTOCOL环境变量切回 QUIC。 -
修复旧版 OS 的隧道逻辑边界情况,即使
usbmuxd不可用也能确保可靠运行。 -
优雅关闭
TunnelConnection,以提高稳定性。 - 修复拆除期间启动 USB 操作时可能出现的挂起,防止传输卡住。
-
修复
QuicTunnelConnection拆除逻辑,正确处理关闭操作期间的错误。 - 放宽 NCM 接口存在性检查,只需一个可用的网络接口。
- 调整为始终先尝试 USB 传输,因为网络传输可能更慢或不可用。
- 改进跳过受限回退时对超时情况的处理。
- 现在预期网络设备会快速响应与配对服务的连接,从而在设备已休眠时改善用户体验。
-
修复新式设备的
CoreDeviceUDID 逻辑。
Android
-
当
extractNativeLibs设为false时,Gadget 现在支持从 APK 加载资产, 改善了对现代 Android 应用的兼容性(感谢 @gergesh)。 -
恢复注入器对共享
libc区间的处理,当目标进程最低的libc.so区间是共享映射时, 确保行为正确(感谢 @lx866)。
Linux
- 改善注入器与 MUSL 的兼容性,处理 loader 字符串的差异(感谢 @luckycat889)。
- 支持在构建 helper 时覆盖配置,为构建提供更大灵活性(感谢 @luckycat889)。
- 为注入器的远程调用分配栈,改善与 Go 应用等使用小栈的程序的兼容性(感谢 @ajwerner)。
- 添加重建 helper 二进制文件的 CI,确保源码与已检入的二进制文件保持一致(感谢 @ajwerner)。
- 当
$TMPDIR为noexec时选择其他临时目录
跨平台
- 在构建系统中添加对非 UTF-8 locale 的支持,确保更好地兼容使用各种 locale 设置的系统 (感谢 @JunGe-Y)。
- 在构建系统中添加对 PowerPC 架构的支持。
-
在
frida-inject和 RpcClient 内部添加对二进制数据处理的支持。
祝大家黑客愉快!
oleavr