{
  "added_at": "2026-11-03",
  "additional_evidence_urls": [
    "https://github.com/programa-stic/barf-project/blob/9547ef843b8eb021c2c32c140e36173c0b4eafa3/README.md#L196-L320",
    "https://github.com/programa-stic/barf-project/blob/9547ef843b8eb021c2c32c140e36173c0b4eafa3/setup.py",
    "https://github.com/programa-stic/barf-project/blob/9547ef843b8eb021c2c32c140e36173c0b4eafa3/CHANGELOG.md",
    "https://github.com/programa-stic/barf-project/blob/9547ef843b8eb021c2c32c140e36173c0b4eafa3/.travis.yml",
    "https://github.com/programa-stic/barf-project/blob/9547ef843b8eb021c2c32c140e36173c0b4eafa3/Dockerfile",
    "https://github.com/programa-stic/barf-project/blob/9547ef843b8eb021c2c32c140e36173c0b4eafa3/doc/manual/source/installation/index.rst",
    "https://github.com/programa-stic/barf-project/tree/9547ef843b8eb021c2c32c140e36173c0b4eafa3/examples",
    "https://github.com/programa-stic/barf-project/blob/9547ef843b8eb021c2c32c140e36173c0b4eafa3/LICENSE",
    "https://pypi.org/project/barf/0.6.0/"
  ],
  "category": "binary-libraries",
  "description_en": "Python binary analysis framework that loads ELF and PE programs, disassembles 32- and 64-bit x86 and 32-bit ARM code with Capstone and translates it into the REIL intermediate language, so its analyses do not depend on the source architecture. Modules recover control-flow and call graphs, emulate REIL and turn code fragments into Z3 or CVC4 formulas for checking constraints on registers and memory; release 0.6.0 added basic symbolic execution. Bundled command-line tools recover CFGs and call graphs, replay x86 execution traces and search, classify and verify ROP gadgets.",
  "description_zh": "一个 Python 二进制分析框架：加载 ELF 和 PE 程序，借助 Capstone 反汇编 32 位与 64 位 x86 及 32 位 ARM 代码，并将其翻译为 REIL 中间语言，使各项分析不依赖源架构。其模块可恢复控制流图和调用图、模拟执行 REIL，并把代码片段转换为 Z3 或 CVC4 公式，以检查寄存器和内存上的约束；0.6.0 版加入了基础的符号执行。随附的命令行工具可恢复 CFG 和调用图、重放 x86 执行轨迹，以及搜索、分类和验证 ROP gadget。",
  "entry_url": "https://awesomerea.org/resources/barf/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/barf/",
  "evidence_url": "https://github.com/programa-stic/barf-project/blob/9547ef843b8eb021c2c32c140e36173c0b4eafa3/README.md",
  "group": "tools",
  "id": "barf",
  "json_url": "https://awesomerea.org/resources/barf/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/barf/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/barf/index.md",
  "name": "BARF",
  "name_zh": "BARF 二进制分析与逆向工程框架",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "Inactive since 2019: the reviewed master commit, dated 2019-11-24, is tagged v0.6.0 and is the last commit; 0.6.0 is also the newest PyPI release of barf. GitHub does not mark the repository archived, and it has tags but no GitHub release entries, although the README links a v0.6.0 release page. setup.py classifies it as alpha, and the README still calls it under development.",
    "setup.py and the Travis CI configuration target Python 2.7 and 3.6, with Python 3 support added in 0.6.0. The README says all packages were tested on Ubuntu 16.04 x86_64, and the Dockerfile installs it on Ubuntu 18.04 through Python 2 pip. Dependencies include Capstone 3.0.5rc2+, pefile, pyelftools, networkx, pydot and pyparsing, plus at least one of the Z3 or CVC4 solvers; Graphviz is needed for graph output and PyAsmJIT for some tests.",
    "Binaries come from the analyst. The repository bundles small sample binaries built from included C sources under examples/misc/samples and tests, and two challenge binaries for its worked examples: Flare-On 2015 challenge #2 (examples/flareon-2015/2/bin/very_success) and kao's toy project (examples/kaos-toy-project/bin/toyproject.exe). The Sphinx manual is in Spanish and refers to an install.sh script that is not present at the reviewed commit.",
    "BSD 2-Clause license, copyright 2014 Fundación Dr. Manuel Sadosky. The README describes checking instruction translations by running code natively through PyAsmJIT and in the REIL emulator and comparing the final contexts."
  ],
  "requirements_zh": [
    "自 2019 年起不再活跃：所审阅的 master 提交日期为 2019-11-24，标记为 v0.6.0，也是最后一次提交；0.6.0 同样是 barf 在 PyPI 上的最新版本。GitHub 并未将该仓库标为已归档；仓库有标签但没有 GitHub Release 条目，尽管 README 链接了 v0.6.0 的发布页面。setup.py 将其归为 alpha 阶段，README 仍称其处于开发中。",
    "setup.py 和 Travis CI 配置面向 Python 2.7 与 3.6，Python 3 支持在 0.6.0 中加入。README 称所有软件包均在 Ubuntu 16.04 x86_64 上测试，Dockerfile 则在 Ubuntu 18.04 上通过 Python 2 的 pip 安装。依赖包括 Capstone 3.0.5rc2+、pefile、pyelftools、networkx、pydot 和 pyparsing，并至少需要 Z3 或 CVC4 求解器之一；输出图形需要 Graphviz，部分测试需要 PyAsmJIT。",
    "二进制由分析者自行提供。仓库在 examples/misc/samples 和 tests 下附带由所含 C 源码构建的小型示例二进制，另有两个用于示例演练的挑战程序：Flare-On 2015 第 2 题（examples/flareon-2015/2/bin/very_success）和 kao 的 toy project（examples/kaos-toy-project/bin/toyproject.exe）。Sphinx 手册为西班牙语，其中提到的 install.sh 脚本在所审阅的提交中并不存在。",
    "采用 BSD 2-Clause 许可，版权归 Fundación Dr. Manuel Sadosky（2014）。README 介绍了检验指令翻译的方法：用 PyAsmJIT 原生运行代码，同时在 REIL 模拟器中运行，再比较两者的最终上下文。"
  ],
  "targets": [
    "binary"
  ],
  "url": "https://github.com/programa-stic/barf-project",
  "verification": "source-reviewed",
  "verified_at": "2026-10-27"
}
