{
  "added_at": "2026-10-19",
  "additional_evidence_urls": [
    "https://github.com/JonathanSalwan/Triton/blob/bc84cf745e99768e07d51dcd734eba35c59f1b3e/README.md#L102-L130",
    "https://github.com/JonathanSalwan/Triton/blob/bc84cf745e99768e07d51dcd734eba35c59f1b3e/CMakeLists.txt#L9-L38",
    "https://github.com/JonathanSalwan/Triton/blob/bc84cf745e99768e07d51dcd734eba35c59f1b3e/src/testers/CMakeLists.txt",
    "https://github.com/JonathanSalwan/Triton/blob/bc84cf745e99768e07d51dcd734eba35c59f1b3e/src/testers/x86/unicorn_test_x86.py#L19-L21",
    "https://github.com/JonathanSalwan/Triton/tree/bc84cf745e99768e07d51dcd734eba35c59f1b3e/src/examples/python",
    "https://github.com/JonathanSalwan/Triton/blob/bc84cf745e99768e07d51dcd734eba35c59f1b3e/LICENSE.txt",
    "https://github.com/JonathanSalwan/Triton/releases/tag/v0.9",
    "https://pypi.org/project/triton-library/1.0.0rc4/"
  ],
  "category": "binary-libraries",
  "description_en": "C++ library with Python bindings for dynamic binary analysis of x86, x86-64, ARM32, AArch64 and RISC-V 32/64 code. Callers process instructions one at a time, optionally with concrete register and memory values; Triton builds symbolic expressions from each instruction's semantics, tracks taint and solves path constraints through Z3 or Bitwuzla. It also synthesizes and simplifies expressions and lifts them to LLVM IR or Z3 and back, for building analysis tools, automating reverse engineering, software verification or emulating code.",
  "description_zh": "面向 x86、x86-64、ARM32、AArch64 和 RISC-V 32/64 代码动态二进制分析的 C++ 库，提供 Python 绑定。调用方逐条处理指令，并可设置具体的寄存器和内存值；Triton 依据每条指令的语义构建符号表达式、进行污点跟踪，并通过 Z3 或 Bitwuzla 求解路径约束。它还能合成与化简表达式，并将其提升为 LLVM IR 或 Z3 表达式后再转换回来，可用于构建分析工具、自动化逆向工程、软件验证或模拟执行代码。",
  "entry_url": "https://awesomerea.org/resources/triton/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/triton/",
  "evidence_url": "https://github.com/JonathanSalwan/Triton/blob/bc84cf745e99768e07d51dcd734eba35c59f1b3e/README.md",
  "group": "tools",
  "id": "triton",
  "json_url": "https://awesomerea.org/resources/triton/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/triton/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/triton/index.md",
  "name": "Triton",
  "name_zh": "Triton 动态二进制分析库",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "The README calls Triton a part-time project that may not be fully reliable. The newest GitHub release is v0.9 from 2022-02-09, with Windows builds only; PyPI's triton-library 1.0.0rc4, first uploaded 2024-05-22 with wheels added through 2026-02-23, provides CPython 3.8–3.14 wheels for x86_64 Linux (manylinux 2.31/2.34), macOS 12 and Windows. The reviewed master commit declares version 1.0, and the dev-v1.0 branch was 22 commits ahead.",
    "Source builds use CMake 3.20+ and need Capstone 5+. Z3 4.6+ is the default solver; Bitwuzla 0.4+, LLVM 12+ for lifting, Boost 1.68+ and libpython 3.6+ for the Python bindings are optional, and LLVM and Bitwuzla are off by default. The README also covers Windows builds and a vcpkg port maintained outside the project.",
    "The README example processes raw instruction bytes against caller-set registers; some bundled examples load executables with LIEF and hook libc functions themselves, and the examples include CTF write-ups with their challenge binaries. CTest runs Python unit tests and per-architecture scripts that compare Triton's semantics with the Unicorn emulator; the x86 script notes that Unicorn 2.1.1 lacks some tested instructions.",
    "Apache-2.0; Capstone, Z3, Bitwuzla, LLVM and Boost keep their own licenses. Symbolic results describe only the executed instructions and modeled state."
  ],
  "requirements_zh": [
    "README 称 Triton 是业余维护的项目，未必完全可靠。GitHub 上最新的发布版本是 2022-02-09 的 v0.9，且仅提供 Windows 构建；PyPI 上的 triton-library 1.0.0rc4 首次上传于 2024-05-22，此后陆续补充 wheel 至 2026-02-23，提供面向 x86_64 Linux（manylinux 2.31/2.34）、macOS 12 和 Windows 的 CPython 3.8–3.14 wheel。所审阅的 master 分支提交声明版本为 1.0，dev-v1.0 分支领先 22 个提交。",
    "从源码构建使用 CMake 3.20+，并需要 Capstone 5+。Z3 4.6+ 是默认求解器；Bitwuzla 0.4+、用于提升的 LLVM 12+、Boost 1.68+ 以及用于 Python 绑定的 libpython 3.6+ 均为可选，其中 LLVM 和 Bitwuzla 默认不启用。README 还介绍了 Windows 构建以及由项目外部维护的 vcpkg 移植。",
    "README 示例针对调用方设置的寄存器处理原始指令字节；部分随附示例自行用 LIEF 加载可执行文件并钩住 libc 函数，示例中还包括附带题目二进制的 CTF 解题记录。CTest 运行 Python 单元测试，以及按架构将 Triton 语义与 Unicorn 模拟器对照的脚本；x86 脚本注明 Unicorn 2.1.1 不支持部分被测指令。",
    "采用 Apache-2.0 许可；Capstone、Z3、Bitwuzla、LLVM 和 Boost 沿用各自的许可证。符号分析结果只描述已执行的指令和已建模的状态。"
  ],
  "targets": [
    "binary"
  ],
  "url": "https://github.com/JonathanSalwan/Triton",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
