哇,又一个主版本发布了!我们决定修改 Device API,为设备提供持久 ID,这样在设备热插拔时就能轻松区分不同设备。
但这只是开始,本次还带来了大量其他改进:
5.0.0:
- core:修改 Device.id,使其在设备重新连接后仍表示同一个设备
- core:添加新的 Droidy 后端,用于与已连接的 Android 设备交互
- core:调整 Darwin 上容易引起困惑的 iPhone 5+ 设备名称
- core:规范后备 iOS 设备名称,使其与 Android 保持一致
- core:将 V8 升级至 4.5.103.30
- objc:在 $methods 和 $ownMethods 中同时包含类方法与实例方法
- python:添加 -D 开关,用于指定要连接的设备 ID
- python:添加 frida-ls-devices CLI 工具,用于列出设备
- python:更新到新的 Device.id API
- python:添加 get_local_device(),并改善与 frida-node 的 API 一致性
- node:更新到新的 Device.id API
- node:改进顶层 facade API
- qml:更新到新的 Device.id API
- clr:更新到新的 Device.id API
- frida-ps:改进输出格式
5.0.1:
- core:添加 source map 支持
- node:添加 frida.load(),用于将 CommonJS 模块转换为脚本
- node:升级 Nan
5.0.2:
- core:添加 console.warn() 和 console.error()
- core:添加 Module.enumerateImports(),并在 Darwin、Linux 和 Windows 上实现
- core:调用 Module.findExportByName() 时允许模块名为 null
- core:将 Darwin.Module 和 Darwin.Mapper 从 frida-core 移到 frida-gum,以便轻松解析 Mach-O 并执行进程外动态链接
- core:更妥善地处理临时文件
- frida-trace:支持便捷跟踪导入函数
- frida-trace:将 dyld_stub_binder 加入跟踪黑名单
- python:避免日志被不断变化的状态消息覆盖
5.0.3:
- core:改进 arm64 hook,包括支持 hook 短函数
5.0.4:
- core:改进 arm64 hook,同时注意避免重定位其他指令所依赖的指令,包括 BL/BLR/SVC 指令之后的下一条指令
- core:将 Arm64Writer 和 Arm64Relocator 移植到 Capstone
5.0.5:
- core:使用 GLib 补丁提供的新 API,修复销毁时的崩溃
- core:修复 Linux 上的模块名称解析
- core:改进 ELF 处理,把 ET_EXEC 镜像也视为有效模块
- core:改进 arm64 hook
- core:将 {Arm,Thumb}Writer 和 {Arm,Thumb}Relocator 移植到 Capstone
- python:修复 OS X 10.11 上的测试
- node:修复 OS X 10.11 上的测试
5.0.6:
- core:在可能的情况下,把 NativeFunction 调用崩溃转化为 JS 异常
- core:添加 Process.setExceptionHandler(),用于从 JS 处理原生异常
- core:安装一个会发出错误消息的默认异常处理程序
- core:如果我们在进程生命周期早期安装异常处理程序,则阻止应用覆盖它
- core:无法替换原生函数时进行优雅处理
- core:允许 RPC 导出返回 ArrayBuffer 值
- python:支持 RPC 方法返回 ArrayBuffer 对象
- node:支持 RPC 方法返回 ArrayBuffer 对象
5.0.7:
- core:暂时不安装默认异常处理程序
5.0.8:
由于构建机器出现问题,重新发布 5.0.7。
5.0.9:
- python:更新 setup.py,以匹配新的构建服务器配置
5.0.10:
- core:修复对早期使用 IP 寄存器的 arm64 函数进行插桩的问题
尽情使用吧!
oleavr