我们很高兴宣布 Frida 17.2.12 发布。此版本初步支持在没有操作系统的情况下运行 Gum, 显著增强了 Barebone 后端,并带来多项改进和修复。
-
android:升级
system-server中的frida-java-bridge,包含一项针对 ART 类规格偏移检测错误的修复。 这可防止libart.so独立于 SDK 版本更新时因偏移不匹配而崩溃。现在的修复通过已知类在运行时检测, 而不是使用 SDK 启发式规则,从而提高了跨 Android 更新的可靠性。非常感谢 @AeonLucid 带头推动这项工作——这是一次真正英雄般的努力, 面对不断变化的 ART 内部机制,它为 Frida 的 Android 支持带来了坚如磐石的可靠性。
-
gum:初步支持在没有操作系统的情况下运行,使 Frida 能在裸机目标上运行。集成者使用特定于目标/固件的实现 覆盖所需的弱符号。我们正在开发一个 XNU agent,它让我们可以在 Apple 的 OS 内核中运行 JavaScript。
-
barebone:在 arm64 后端添加对 APRR 的支持(感谢 @hsorbo 与我结对编程)。
-
barebone:添加对 R_AARCH64_PREL32 重定位的支持(感谢 @hsorbo),改善与更多 ARM64 二进制文件的兼容性。
-
barebone:实现
Memory.protect(),提供在裸机目标上更改内存保护的能力。 -
fruity:上传前对 Gadget 的
r-x页面进行喷洒,将其变为调试器映射(感谢 @hsorbo、@mrmacete 和 @as0ler), 修复新一代硬件上的问题。 -
buffer:添加新方法:
read_bytes()、write_bytes()、write_int64()、write_uint32()、write_int32()、write_uint16()、write_int16()、write_uint8()、write_int8(),扩展 Buffer API 对各种数据类型的处理能力。 -
gumjs:避免使用正则表达式解析内联 source map,以减少栈使用,提高在栈大小受限平台上的稳定性。
-
build:添加对以 ‘armv6kz-‘ 为前缀的工具链的支持(感谢 @zetierhg),改善与更多工具链的兼容性。
-
build:修复 Python < 3.9 的 typings(感谢 @oriori1703),确保与旧版 Python 兼容。
-
build:为 FreeBSD linker 特别处理
ld脚本,以修复构建问题(感谢 @grimler),改善 FreeBSD 支持。 -
devkit:让符号前缀变为可选(感谢 @Hexploitable),允许使用者选择是否为第三方符号添加前缀以避免冲突。
oleavr