{
  "added_at": "2026-10-19",
  "additional_evidence_urls": [
    "https://github.com/fkie-cad/dewolf/blob/3c389e18f03cd922f4b424a62d3717dac6fe3eee/README.md#L25-L72",
    "https://github.com/fkie-cad/dewolf/blob/3c389e18f03cd922f4b424a62d3717dac6fe3eee/README.md#L106-L126",
    "https://github.com/fkie-cad/dewolf/blob/3c389e18f03cd922f4b424a62d3717dac6fe3eee/plugin.json",
    "https://github.com/fkie-cad/dewolf/blob/3c389e18f03cd922f4b424a62d3717dac6fe3eee/requirements.txt",
    "https://github.com/fkie-cad/dewolf/tree/3c389e18f03cd922f4b424a62d3717dac6fe3eee/decompiler/pipeline",
    "https://github.com/fkie-cad/dewolf/blob/3c389e18f03cd922f4b424a62d3717dac6fe3eee/Makefile",
    "https://github.com/fkie-cad/dewolf/blob/3c389e18f03cd922f4b424a62d3717dac6fe3eee/.github/workflows/pipeline.yml",
    "https://github.com/fkie-cad/dewolf/blob/3c389e18f03cd922f4b424a62d3717dac6fe3eee/LICENSE",
    "https://github.com/fkie-cad/dewolf/releases/tag/v2026.7.11"
  ],
  "category": "native-analysis",
  "description_en": "Research decompiler from Fraunhofer FKIE, developed with Singapore's DSO National Laboratories between 2019 and 2021, that runs as a Binary Ninja plugin and starts from Binary Ninja's Medium Level IL. A pipeline of preprocessing, SSA, data-flow and control-flow stages restructures code following the DREAM/DREAM++ approach and emits C-like output. Results appear in a Binary Ninja dock widget, or decompile.py prints or writes them for a whole binary or one named function in batch use.",
  "description_zh": "由 Fraunhofer FKIE 与新加坡 DSO 国家实验室在 2019 至 2021 年合作研发的研究型反编译器，以 Binary Ninja 插件形式运行，并以 Binary Ninja 的中级中间语言（Medium Level IL）为起点。它通过预处理、SSA、数据流和控制流等阶段组成的流水线，按照 DREAM/DREAM++ 方法重建控制结构，输出类 C 代码。结果可在 Binary Ninja 的停靠窗口中查看，也可在批量场景下用 decompile.py 对整个二进制或指定函数进行反编译，并输出到终端或文件。",
  "entry_url": "https://awesomerea.org/resources/dewolf/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/dewolf/",
  "evidence_url": "https://github.com/fkie-cad/dewolf/blob/3c389e18f03cd922f4b424a62d3717dac6fe3eee/README.md",
  "group": "tools",
  "id": "dewolf",
  "json_url": "https://awesomerea.org/resources/dewolf/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/dewolf/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/dewolf/index.md",
  "name": "dewolf",
  "name_zh": "dewolf 研究型反编译器",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "Release at review: v2026.7.11, published 2026-07-11 by the project's automatic release workflow; the reviewed main commit is that release, and plugin.json declares the same version and lists Windows, Linux and macOS.",
    "Needs Python 3.10+, a separately licensed Binary Ninja (the README asks for the latest stable release, at least 3.4; plugin.json sets minimum build 4271) with its Python API installed in the same environment, and astyle for indentation; libgraph-easy-perl is needed only for ASCII graph output. The plugin is installed by cloning it into Binary Ninja's plugin folder and installing requirements.txt, which pulls the project's dewolf-logic and dewolf-idioms packages from Git.",
    "Settings made in the Binary Ninja GUI do not apply to decompile.py, which reads a config.json in the plugin folder instead; decompiler/util/default.json lists every option.",
    "The README calls dewolf a research prototype that is not optimized for production use and warns of bugs or decompilation failures on real-world binaries. Its tests compile C sample sources and keep GNU coreutils executables under tests/coreutils/binaries as fixtures; CI builds a Docker image around a Binary Ninja archive and license supplied from repository secrets.",
    "LGPL-2.1 (the plugin.json notice allows any later version)."
  ],
  "requirements_zh": [
    "审阅时的最新版本为 v2026.7.11，由项目的自动发布工作流于 2026-07-11 发布；所审阅的 main 分支提交即为该版本，plugin.json 声明的版本与之一致，并列出 Windows、Linux 和 macOS 平台。",
    "需要 Python 3.10+、另行授权的 Binary Ninja（README 要求最新稳定版且不低于 3.4；plugin.json 规定最低构建号为 4271），并将其 Python API 安装到同一环境中，还需要用于代码缩进的 astyle；libgraph-easy-perl 仅在输出 ASCII 图时需要。安装方式是将仓库克隆到 Binary Ninja 的插件目录并安装 requirements.txt，其中会从 Git 拉取项目自己的 dewolf-logic 和 dewolf-idioms 包。",
    "在 Binary Ninja 图形界面中所做的设置对 decompile.py 无效，命令行运行时改为读取插件目录中的 config.json；decompiler/util/default.json 列出了全部选项。",
    "README 称 dewolf 是研究原型，并未针对生产使用充分优化，在真实二进制上可能出现错误甚至反编译失败。测试会编译 C 示例源码，并在 tests/coreutils/binaries 中保留 GNU coreutils 可执行文件作为测试夹具；CI 使用仓库密钥提供的 Binary Ninja 安装包和许可证构建 Docker 镜像。",
    "采用 LGPL-2.1 许可（plugin.json 中的声明允许选用任何更新版本）。"
  ],
  "targets": [
    "binary"
  ],
  "url": "https://github.com/fkie-cad/dewolf",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
