stegterm/README.ru.md
2026-09-14 11:00:27 +03:00

4 KiB
Raw Permalink Blame History

stegterm

Терминальный инструмент для CTF-стеганографии и аудио-форензики: анализ изображений (битовые плоскости, каналы, XOR, LSB-извлечение), спектрограмма и декодирование SSTV Robot36 для аудио — с превью через Kitty graphics protocol.

English version: README.md. Заметки по разработке, честные оговорки о рисках: NOTES.md.

История

Изначально было частью burterm — терминального инструмента для веб-пентеста, — выделено в отдельный проект: стеганография и SSTV не имеют отношения к веб-пентесту, это была функциональность, постепенно прицепившаяся не к тому инструменту.

Возможности

  • Изображения — изоляция битовой плоскости (классический первый шаг разбора LSB-стеганографии), изоляция одного канала, градации серого, инверсия, XOR двух изображений одинакового размера, линейное LSB-извлечение в сырые байты (показывается и как текст, и как hex)
  • Аудио (только WAV) — спектрограмма через собственную реализацию БПФ (без внешних DSP-зависимостей), декодирование SSTV Robot36 через FM-демодуляцию на основе преобразования Гильберта
  • Всё рендерится через Kitty graphics protocol; ctrl+v передаёт последнюю картинку заново, если перерисовка TUI её перекрыла

WAV-only — осознанный выбор, не недоделка: сжатие с потерями (MP3 и т.п.) убивает мелкую структуру спектра, в которую в CTF прячут сообщения — такие задачи почти всегда именно в несжатом PCM WAV.

Сборка

go mod tidy
go build -o stegterm ./cmd/stegterm

Требуется Go 1.23+. Сборка без cgo, без внешних DSP/image-библиотек — всё (БПФ, преобразование Гильберта, декодирование SSTV) написано с нуля на стандартной библиотеке.

Код ни разу не проходил через компилятор — та же оговорка, что и у родительского проекта burterm; что вероятнее всего потребует правки при первой сборке — в NOTES.md.

Запуск

./stegterm

Один экран. ctrl+o загружает файл (путь вводится в поле) — .wav считается аудио, всё остальное изображением. ctrl+g переключает операцию (режим преобразования картинки, либо спектрограмма/SSTV для аудио), ctrl+r применяет, ctrl+v повторно показывает последний результат, ctrl+s экспортирует текущий результат в ~/.stegterm/stego-exports/.

Структура репозитория

cmd/stegterm/         точка входа
internal/
  stego/               преобразования изображений, Kitty-протокол
  audio/                 разбор WAV, БПФ, спектрограмма, декодирование SSTV
  tui/                     единственный экран интерфейса (bubbletea)