Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Triton — Triton — это библиотека динамического анализа бинарного кода. Создавайте собственные инструменты анализа программ, автоматизируйте реверс-инжиниринг, выполняйте верификацию программного обеспечения или просто эмулируйте код. | Kitploit
Инструменты/GitHubGitHub/jonathansalwan/triton
Динамический анализ (песочница)Обратная инженерияФаззингАнализ Бинарных Файлов
GitHubjonathansalwan/triton

Triton

Triton — это библиотека динамического анализа бинарного кода. Создавайте собственные инструменты анализа программ, автоматизируйте реверс-инжиниринг, выполняйте верификацию программного обеспечения или просто эмулируйте код.

Репозиторий
4.3k590174 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Сайт
Поделиться

Triton — это библиотека динамического анализа бинарного кода. Она предоставляет внутренние компоненты, которые позволяют создавать инструменты анализа программ, автоматизировать обратную разработку, выполнять верификацию программного обеспечения или просто эмулировать код.

  • Динамическое символическое выполнение
  • Динамический тайтовый анализ
  • AST-представление семантики ISA x86, x86-64, ARM32, AArch64 и RISC-V 32/64
  • Синтез выражений
  • Проходы упрощения SMT
  • Подъём (lifting) в LLVM, а также в Z3 и обратно
  • Интерфейс SMT-решателя для Z3 и Bitwuzla
  • C++ и Python API


Поскольку Triton является своего рода проектом, ведущимся в свободное время, пожалуйста, не вините нас, если он не полностью надежен. Открытые вопросы или пул-реквесты всегда лучше троллинга =). Однако вы можете следить за разработкой в Twitter @qb_triton.

      Codecov      

Быстрый старт

  • Установка
  • Python API
  • C++ API
  • Примеры на Python
  • Они уже использовали Triton

Начало работы```python

from triton import *

Create the Triton context with a defined architecture

ctx = TritonContext(ARCH.X86_64)

Define concrete values (optional)

ctx.setConcreteRegisterValue(ctx.registers.rip, 0x40000)

Symbolize data (optional)

ctx.symbolizeRegister(ctx.registers.rax, 'my_rax')

Execute instructions

ctx.processing(Instruction(b"\x48\x35\x34\x12\x00\x00")) # xor rax, 0x1234 ctx.processing(Instruction(b"\x48\x89\xc1")) # mov rcx, rax

Get the symbolic expression

rcx_expr = ctx.getSymbolicRegister(ctx.registers.rcx) print(rcx_expr) (define-fun ref!8 () (_ BitVec 64) ref!1) ; MOV operation - 0x40006: mov rcx, rax

Solve constraint

ctx.getModel(rcx_expr.getAst() == 0xdead) {0: my_rax:64 = 0xcc99}

0xcc99 XOR 0x1234 is indeed equal to 0xdead

hex(0xcc99 ^ 0x1234) '0xdead'

## Установка с помощью pip

Triton можно установить с помощью `pip`:```console
pip install triton-library

Установка из исходного кода

Triton зависит от следующих зависимостей:```

  • libcapstone >= 5.0.x https://github.com/capstone-engine/capstone
  • libboost (optional) >= 1.68
  • libpython (optional) >= 3.6
  • libz3 (optional) >= 4.6.0 https://github.com/Z3Prover/z3
  • libbitwuzla (optional) >= 0.4.x https://github.com/bitwuzla/bitwuzla
  • llvm (optional) >= 12
### Linux и MacOS```console
$ git clone https://github.com/JonathanSalwan/Triton
$ cd Triton
$ mkdir build ; cd build
$ cmake ..
$ make -j3
$ sudo make install

По умолчанию LLVM и Bitwuzla не компилируются. Если вы хотите использовать всю мощь Triton, команда cmake для компиляции:```console $ cmake -DLLVM_INTERFACE=ON -DCMAKE_PREFIX_PATH=$(llvm-config --prefix) -DBITWUZLA_INTERFACE=ON ..

#### Примечание для MacOS M1:

В случае, если вы получите ошибки компиляции, такие как:```
Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS)

Попробуйте указать PYTHON_EXECUTABLE, PYTHON_LIBRARIES и PYTHON_INCLUDE_DIRS для вашей конкретной версии Python:```console cmake -DCMAKE_INSTALL_PREFIX=/opt/homebrew/
-DPYTHON_EXECUTABLE=/opt/homebrew/bin/python3
-DPYTHON_LIBRARIES=/opt/homebrew/Cellar/[email protected]/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/libpython3.10.dylib
-DPYTHON_INCLUDE_DIRS=/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10/
..

Эту информацию вы можете получить из этого фрагмента:```python
from sysconfig import get_paths
info = get_paths()
print(info)

Автодополнение Python

Если автодополнение Python не работает, выполните следующие шаги:

  1. Запустите скрипт
  2. Разместите сгенерированный файл triton.pyi в той же директории, что и разделяемый объект Triton, для которого вы хотите предоставить подсказки (например, /usr/lib/python3.13/).

Ваша IDE должна поддерживать разбор файлов .pyi.

Windows

Вы можете использовать cmake для генерации .sln файла libTriton.```console

git clone https://github.com/JonathanSalwan/Triton.git cd Triton mkdir build cd build cmake -G "Visual Studio 14 2015 Win64"
-DBOOST_ROOT="C:/Users/jonathan/Works/Tools/boost_1_61_0"
-DPYTHON_INCLUDE_DIRS="C:/Python36/include"
-DPYTHON_LIBRARIES="C:/Python36/libs/python36.lib"
-DZ3_INCLUDE_DIRS="C:/Users/jonathan/Works/Tools/z3-4.6.0-x64-win/include"
-DZ3_LIBRARIES="C:/Users/jonathan/Works/Tools/z3-4.6.0-x64-win/bin/libz3.lib"
-DCAPSTONE_INCLUDE_DIRS="C:/Users/jonathan/Works/Tools/capstone-5.0.1-win64/include"
-DCAPSTONE_LIBRARIES="C:/Users/jonathan/Works/Tools/capstone-5.0.1-win64/capstone.lib" ..

Вы можете использовать setup.py для создания отладочной версии triton.pyd в Windows.```console
> git clone https://github.com/JonathanSalwan/Triton.git
> cd Triton
> $env:COMPILER_DIR="C:/deps/llvm/llvm2116r/bin"
> $env:CMAKE_PREFIX_PATH="C:/deps/llvm/llvm-project-21.1.6.src/install/lib/cmake/llvm;C:/code/cxx-common-cmake/build/install"
> python_d -m build --wheel
> python_d -m pip install (Get-ChildItem .\dist\triton_library*)
Скачать инструмент