工具

Dwarf 基于 Frida 的多平台调试器

基于 Frida 构建的 PyQt5 调试器,可附加或启动 Android、iOS 设备、本机或远程 Frida 服务器上的进程。调试会话提供断点、观察点、寄存器上下文、调用栈和线程视图,支持 x86、x64、ARM 与 ARM64 的 Capstone 反汇编视图、十六进制编辑器,以及模块、内存区域和内存搜索面板;Java 浏览、检查与跟踪面板和 Objective-C 检查器则面向移动应用运行时。用户编写的 Frida 脚本和 Python 插件可扩展会话,配套命令可跟踪 Java 方法或原生地址(dwarf-trace)、在 arm64 上记录单个模块发起的系统调用(dwarf-strace),并生成带 Dwarf API 类型声明的脚本项目(dwarf-creator)。

使用条件与局限

  • 审阅时的最新版本为 PyPI 上的 dwarf-debugger 1.1.3,于 2022-04-09 上传;仓库没有 GitHub 发布版本或标签。所审阅的 master 提交日期为 2024-05-16,也是审阅时的最新提交,它在该版本之后合并了一处小的类型修正。README 仍称正在开发 Dwarf 2.0,但至今没有发布。
  • 通过 pip 从 PyPI 或 master 分支压缩包安装。setup.py 接受任意 Python 3 版本,声明支持 Linux、Windows 和 macOS,依赖 frida 12.8+、PyQt5 5.11.3+(requirements.txt 固定为 5.13.*)、Capstone 4.0.1+、requests 和 pyperclip。随附的 core.js 代理由独立的 DwarfCore 仓库的 core1 分支构建;所审来源未说明它能与哪些当前的 Frida 版本配合使用。
  • 要调试的应用、进程和设备由使用者自备;仓库只包含 Dwarf 自身的代码、代理、图标和示例。Android 会话依赖 adb 和运行 frida-server 的设备:设备栏可从 Frida 的 GitHub 发布页下载最新的 frida-server,并在已 root 的设备上通过 su 安装,对未检测到 root 权限的设备则加以标注。iOS 会话使用通过 USB 连接的 Frida 设备,本机会话可启动指定路径的程序或附加到 PID,远程会话使用 Frida 的远程设备。
  • 采用 GPL-3.0 许可(setup.py 标注为 GPLv3+)。README 列出 JavaTraceView 的两个已知显示问题,dwarf-strace 只支持 arm64 进程。README 称该工具面向逆向工程师、破解者和安全分析人员;本条目只涉及用于分析的调试和跟踪。本次未安装或运行任何内容,所审来源也未确立与 REA 的关联。

关于此条目

类型
工具
类别
调试与动态分析
关联
基础工具
目标
应用 · 二进制

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · iGio90/Dwarf · 修订 fd859ae
  2. setup.py GitHub · iGio90/Dwarf · 修订 fd859ae
  3. requirements.txt GitHub · iGio90/Dwarf · 修订 fd859ae
  4. dwarf_debugger/dwarf.py GitHub · iGio90/Dwarf · 修订 fd859ae
  5. dwarf_debugger/ui/app.py GitHub · iGio90/Dwarf · 修订 fd859ae
  6. dwarf_debugger/ui/widgets/device_bar.py GitHub · iGio90/Dwarf · 修订 fd859ae
  7. dwarf_debugger/lib/disassembler.py GitHub · iGio90/Dwarf · 修订 fd859ae
  8. dwarf_debugger/strace.py GitHub · iGio90/Dwarf · 修订 fd859ae
  9. PLUGINS.md GitHub · iGio90/Dwarf · 修订 fd859ae
  10. LICENSE GitHub · iGio90/Dwarf · 修订 fd859ae
  11. https://pypi.org/project/dwarf-debugger/1.1.3/

同分区更多条目:原生二进制

原生二进制分区全部 104 项资源