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

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

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

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

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

Категории

Все категории
Loading categories
steganography — Независимая от внешних зависимостей библиотека Go для LSB-стеганографии в изображениях: кодирует произвольные файлы в PNG-носители и декодирует скрытые сообщения с предварительной проверкой размера сообщения. | Kitploit
Инструменты/GitHubGitHub/auyer/steganography
Утилиты общего назначенияИнструменты шифрования/дешифрованияЭксфильтрация данныхСтеганографияКонфиденциальностьУтилиты и фреймворки
GitHubauyer/steganography

steganography

Независимая от внешних зависимостей библиотека Go для LSB-стеганографии в изображениях: кодирует произвольные файлы в PNG-носители и декодирует скрытые сообщения с предварительной проверкой размера сообщения.

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

Популярное

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

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

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

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

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

Библиотека стеганографии

GoDoc Go Report Card LICENSE MIT Actions CI codecov Mentioned in Awesome Go

Steganography — это библиотека, написанная на чистом Go, которая позволяет выполнять простую LSB-стеганографию на изображениях. Она способна как кодировать, так и декодировать изображения. Она может хранить файлы любого формата. Эта библиотека вдохновлена Stego от EthanWelsh — утилитой командной строки с той же целью.

Установка

go get -u github.com/auyer/steganography

Демонстрация

ОригиналЗакодированное
Original FileEncoded File

Второе изображение содержит первый абзац описания стегозавра из Википедии, также доступный в examples/message.txt в качестве примера.


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

package main
import (
    "bufio"
    "image/png"
    "io/ioutil"

    "github.com/auyer/steganography"
)

Кодирование

Режим записи используется для того, чтобы взять сообщение и встроить его в файл изображения с помощью LSB-стеганографии, создав секретный файл изображения, который будет содержать ваше сообщение.

Обратите внимание, что минимальный размер изображения — 24 пикселя для одного байта. Для каждого дополнительного байта необходимо ещё 3 пикселя.

inFile, _ := os.Open("input_file.png") // opening file
reader := bufio.NewReader(inFile)   // buffer reader 
img, _ := png.Decode(reader)   // decoding to golang's image.Image

w := new(bytes.Buffer)   // buffer that will recieve the results
err := steganography.Encode(w, img, []byte("message")) // Encode the message into the image
if err != nil {
    log.Printf("Error Encoding file %v", err)
    return
}
outFile, _ := os.Create("out_file.png") // create file
w.WriteTo(outFile) // write buffer to it
outFile.Close()

примечание: все проверки ошибок удалены для краткости, но их следует включать.

Размер сообщения

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

sizeOfMessage := steganography.GetMessageSizeFromImage(img) // retrieves the size of the encoded message

Декодирование

Режим чтения используется для чтения изображения, которое было закодировано с помощью LSB-стеганографии, и извлечения скрытого сообщения из этого изображения.

inFile, _ := os.Open(encodedInputFile) // opening file
defer inFile.Close()

reader := bufio.NewReader(inFile) // buffer reader 
img, _ := png.Decode(reader) // decoding to golang's image.Image

sizeOfMessage := steganography.GetMessageSizeFromImage(img) // retrieving message size to decode in the next line

msg := steganography.Decode(sizeOfMessage, img) // decoding the message from the file
fmt.Println(string(msg))

примечание: все проверки ошибок удалены для краткости, но их следует включать.

Полный пример

Полный пример см. в файле examples/stego.go. Это приложение командной строки, основанное на оригинальном форке этого репозитория, но изменённое для использования библиотеки Steganography.


Атрибуции

  • Изображение стегозавра: Matt Martyniuk — собственная работа, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=42215661
Скачать инструмент