{
  "added_at": "2026-11-02",
  "additional_evidence_urls": [
    "https://github.com/iGio90/Dwarf/blob/fd859aeeb9fd14d97db1d95a194eb632ae109a46/setup.py",
    "https://github.com/iGio90/Dwarf/blob/fd859aeeb9fd14d97db1d95a194eb632ae109a46/requirements.txt",
    "https://github.com/iGio90/Dwarf/blob/fd859aeeb9fd14d97db1d95a194eb632ae109a46/dwarf_debugger/dwarf.py",
    "https://github.com/iGio90/Dwarf/blob/fd859aeeb9fd14d97db1d95a194eb632ae109a46/dwarf_debugger/ui/app.py",
    "https://github.com/iGio90/Dwarf/blob/fd859aeeb9fd14d97db1d95a194eb632ae109a46/dwarf_debugger/ui/widgets/device_bar.py",
    "https://github.com/iGio90/Dwarf/blob/fd859aeeb9fd14d97db1d95a194eb632ae109a46/dwarf_debugger/lib/disassembler.py",
    "https://github.com/iGio90/Dwarf/blob/fd859aeeb9fd14d97db1d95a194eb632ae109a46/dwarf_debugger/strace.py",
    "https://github.com/iGio90/Dwarf/blob/fd859aeeb9fd14d97db1d95a194eb632ae109a46/PLUGINS.md",
    "https://github.com/iGio90/Dwarf/blob/fd859aeeb9fd14d97db1d95a194eb632ae109a46/LICENSE",
    "https://pypi.org/project/dwarf-debugger/1.1.3/"
  ],
  "category": "dynamic-analysis",
  "description_en": "PyQt5 debugger built on Frida that attaches to or spawns processes on Android and iOS devices, the local machine or a remote Frida server. A session offers breakpoints, watchpoints, register context, backtraces and threads, a Capstone disassembly view for x86, x64, ARM and ARM64, a hex editor and panels for modules, memory ranges and memory search, while Java explorer, inspector and trace panels and an Objective-C inspector cover mobile app runtimes. User Frida scripts and Python plugins extend a session, and companion commands trace Java methods or native addresses (dwarf-trace), log syscalls from one module on arm64 (dwarf-strace) and scaffold scripting projects with Dwarf API typings (dwarf-creator).",
  "description_zh": "基于 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）。",
  "entry_url": "https://awesomerea.org/resources/dwarf-debugger/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/dwarf-debugger/",
  "evidence_url": "https://github.com/iGio90/Dwarf/blob/fd859aeeb9fd14d97db1d95a194eb632ae109a46/README.md",
  "group": "tools",
  "id": "dwarf-debugger",
  "json_url": "https://awesomerea.org/resources/dwarf-debugger/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/dwarf-debugger/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/dwarf-debugger/index.md",
  "name": "Dwarf",
  "name_zh": "Dwarf 基于 Frida 的多平台调试器",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "Latest release at review: dwarf-debugger 1.1.3 on PyPI, uploaded 2022-04-09; the repository has no GitHub releases or tags. The reviewed master commit, from 2024-05-16 and the most recent at review, merges a small type fix after that release. The README still says a Dwarf 2.0 release is being worked on, and none has been published.",
    "Installed with pip from PyPI or a master archive. setup.py accepts any Python 3 and declares Linux, Windows and macOS, depending on frida 12.8+, PyQt5 5.11.3+ (requirements.txt pins 5.13.*), Capstone 4.0.1+, requests and pyperclip. The bundled core.js agent is built from the core1 branch of the separate DwarfCore repository; the reviewed sources do not state which current Frida releases it works with.",
    "The user supplies the apps, processes and devices to debug; the repository holds only Dwarf's own code, agent, icons and examples. Android sessions use adb and a device running frida-server: the device bar can download the latest frida-server from Frida's GitHub releases and install it with su on a rooted device, and flags devices where it finds no root access. iOS sessions use a USB-connected Frida device, local sessions spawn a given path or attach to a PID, and remote sessions use Frida's remote device.",
    "GPL-3.0 (setup.py: GPLv3+). The README lists two known JavaTraceView display problems, and dwarf-strace handles only arm64 processes. The README pitches the tool to reverse engineers, crackers and security analysts."
  ],
  "requirements_zh": [
    "审阅时的最新版本为 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 称该工具面向逆向工程师、破解者和安全分析人员。"
  ],
  "targets": [
    "app",
    "binary"
  ],
  "url": "https://github.com/iGio90/Dwarf",
  "verification": "source-reviewed",
  "verified_at": "2026-10-20"
}
