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

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

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

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

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

Категории

Все категории
Loading categories
binviz — Бинарный визуализатор и инструмент триажа — энтропия, байт-классы и поверхности Гильберта, точечные диаграммы и графы потока управления на основе единой модели адресного пространства. | Kitploit
Инструменты/GitHubGitHub/karankantaria/binviz
Статический анализОбратная инженерияФорензикаФаззингАнализ вредоносных программАнализ Бинарных ФайловОбучение и Образование
GitHubkarankantaria/binviz

binviz

Бинарный визуализатор и инструмент триажа — энтропия, байт-классы и поверхности Гильберта, точечные диаграммы и графы потока управления на основе единой модели адресного пространства.

Репозиторий
8851 месяц назадЕщё не проверено

Популярное

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

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

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

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

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

binviz

Инструмент визуализации и триажа бинарных файлов: связанные интерактивные представления (энтропия, гистограммы, поверхности изображений/точечных графиков, графы потока управления) поверх единой модели адресного пространства.

pipx install binviz && binviz serve

Что он делает

Откройте файл — и каждое представление смотрит на одно и то же адресное пространство. Выделите диапазон в одном — остальные последуют за ним; цель — ответить на вопрос «что это за область», рассматривая её сразу несколькими способами.

  • Картируйте. binviz model разбирает ELF/PE/Mach-O через LIEF в области, символы и отображение смещение↔виртуальный адрес, материализуя пропуски и наложения. Некорректный ввод откатывается к сырой модели, а не завершается ошибкой.
  • Найдите части, на которые стоит смотреть. Оконная энтропия и другие именованные сигналы, поверхности байтовых классов и Гильберта, а также классификация окон по порогам, измеренным на корпусе эталонных данных, а не выбранным вручную (ARCHITECTURE.md §2.1). Упакованные, зашифрованные, код и заполнение не выглядят одинаково.
  • Определите кодировку. Биграммные и разреженные триграммные гистограммы, точечный график для повторов и самоподобия, а также представление изображения в 15 упакованных пиксельных форматах и 24 режимах Байера — с подсказчиком шага строки, потому что неправильный шаг строки превращает фотографию в диагональный шум, и вы делаете вывод, что фотографии нет.
  • Читайте код. Декодирование Capstone линейным проходом и рекурсивным спуском (дифференциально протестировано против objdump), пятиуровневый каскад обнаружения функций, включая таблицы переходов, и графы потока управления, размещаемые в воркере — с неопределённостью восстановленной границы, нарисованной, а не скрытой.
  • Получите вердикт. binviz triage сообщает, на что похож файл и почему; в интерфейсе каждая находка кликабельна и ведёт к байтам, из которых она получена.

Интерфейс — пять рабочих областей: Обзор, Байты, Паттерны, Код и Всё — поверх одного выделения. Только статический анализ: образцы разбираются, но никогда не исполняются.

Скриншоты

Рабочая область «Обзор»

Рабочая область «Байты»

Рабочая область «Паттерны»

Рабочая область «Код»

Пластины

Отрисовываются тем же кодом, которым рисует интерфейс, прямо из CLI — перегенерируйте с помощью python docs/make_plates.py.

Статический бинарникТа же программа, упакованная UPX
Гильберт, байтовые классы, статическийГильберт, байтовые классы, упакованный
Код, строки и заполнение разделяются на видимые территории.Структура схлопывается в однородный шум — признак упаковки.
Энтропия, статическийЭнтропия, упакованный
Оконная энтропия остаётся полосатой и низкой.Плоская и высокая, вплоть до заглушки распаковки.
Правильный шаг строкиНеправильный шаг строки
RGB-полосы, корректный шагRGB-полосы, неверный шаг

Те же байты, одно число другое. Именно поэтому существует подсказчик шага строки: неправильный шаг строки превращает фотографию в диагональный шум, и вы делаете вывод, что фотографии нет.

ARCHITECTURE.md описывает, как всё устроено: что поставляется, брендинг, который наследует каждая поверхность, соглашения, которым должна следовать новая панель, и ограничения, которые являются намеренными. SECURITY.md — это модель угроз.

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

python -m venv .venv
# -c фиксирует точные версии, на которых набор тестов зелёный; pyproject.toml
# публикует диапазоны, поэтому без него вы получите то, что резолвится сегодня
.venv/Scripts/pip install -e ".[dev]" -c constraints-dev.txt   # POSIX: .venv/bin/pip

# соберите корпус эталонных данных (использует zig cc из pip-пакета ziglang;
# требует UPX в PATH, в $UPX или распакованный в corpus/tools/upx-*/)
make -C corpus                            # или: python corpus/build.py

# пороги измеряются, а не захардкожены (см. ARCHITECTURE.md §2.1)
python corpus/calibrate.py                # записывает corpus/calibration.json

pytest                                    # функциональный набор тестов
pytest -m perf -s                         # целевые показатели производительности 100 МБ

binviz probe  corpus/out/hello_O2
binviz model  corpus/out/hello_upx
binviz signal corpus/out/hello_upx --name entropy_4096 --png out.png
binviz hist   corpus/out/ramp16.bin --n 2 --dtype u16le --png bigram.png

# поверхности: -p передаёт параметры поверхности
binviz surface corpus/out/hello_static --name hilbert -p mode=byteclass --png h.png
binviz surface corpus/out/rgb_raw.bin  --name image -p mode=rgb8 -p width=320 --png i.png
binviz surface corpus/out/repeats.bin  --name dotplot -p mode=exact --png d.png
binviz stride  corpus/out/bayer_raw.bin --mode bayer_RGGB_RGB_12

# код
binviz disasm    corpus/out/hello_O2 --limit 20
binviz functions corpus/out/hello_static --sort size
binviz cfg       corpus/out/hello_O2 --func main --dot main.dot

# вердикт и почему
binviz triage corpus/out/hello_upx

Запуск сервера

binviz serve                              # 127.0.0.1:8000

Он выводит URL с токеном сессии — откройте его. Каждый маршрут /api требует токен, потому что «он слушает только на localhost» — не защита от веб-страницы в другой вкладке, которая обращается к 127.0.0.1 так же, как к любому другому источнику. Обоснование — в SECURITY.md.

Доступ к файлам ограничен --root (по умолчанию: рабочая директория), поэтому пути за его пределами отклоняются.

Ограничения

У всех четырёх есть флаг и переменная окружения, и все четыре существуют, чтобы локальный вызывающий не потреблял больше, чем вы задумали. Значения по умолчанию выбраны для ноутбука; поднимите их, если ваша машина мощнее.

Скачать инструмент