
Скрывайте 🕵️♂️ файлы любого типа внутри выбранного вами изображения с помощью стеганографии.
Спрячьте файлы любого типа внутри изображения по вашему выбору
| Файл для сокрытия | Изображение-обложка | Обложка со скрытым файлом |
|---|---|---|
![]() | ![]() | ![]() |
| Это файл, который мы хотим спрятать внутри изображения | Это изображение, в которое мы хотим спрятать файл | Это изображение-обложка с файлом внутри |
Основы цифрового хранения
Всё на вашем компьютере, от файлов .exe до изображений .jpg, хранится в виде битов. Биты — это просто единицы и нули. Например:
A = 01000001B = 01000010Итак, файл размером 1 гигабайт — это на самом деле 8,5 миллиардов единиц и нулей, выстроенных в ряд. Это называется двоичным кодом и является основой всего цифрового хранения.
Пиксели и цвета
Изображения состоят из пикселей. Цвет каждого пикселя формируется по схеме RGB (Красный, Зелёный, Синий). Каждый канал RGB принимает значения от 0 до 255, что даёт 256 возможных значений. Этот диапазон эквивалентен 8 битам (2^8 = 256), поэтому каждый канал можно представить 1 байтом.
Пример: красный пиксель — это (0xFF, 0x00, 0x00) или в битах 11111111 00000000 00000000.
Сокрытие файла в изображении
Спрятать файл внутри изображения на самом деле проще, чем кажется. Всё, что нам нужно сделать:
Например, если взять первые 2 бита из файла и заменить их в канале пикселя, красный пиксель (11111111 00000000 00000000) может измениться на (11111111 00000000 00000011) без заметной разницы.
Повторите этот процесс для каждого пикселя и каждого бита файла, и вуаля — файл скрыт в изображении!
Попробуйте сами
Ознакомьтесь с предоставленным Python-репозиторием для простой реализации этого процесса.
# Clone the repository
git clone https://github.com/JoshuaKasa/van-gonography.git
# Change the working directory to van-gonography
cd van-gonography
# Install the required dependencies
pip install -r requirements.txt
Для запуска программы в режиме UI (проще и удобнее, но менее полезно для разработчиков) просто выполните следующую команду:
python vangonography.py
Для запуска программы в режиме CLI (сложнее, но с немного большей функциональностью) выполните следующую команду:
python vangonography.py -cli
Затем вы можете использовать следующие аргументы вместе с ней:
usage: vangonography.py [-h] [-ood] [-l] [-cli] [-o OUTPUT_DIR] [-v] [--encrypt] [--decrypt] [--key KEY] [--json JSON_FILE] [--stealth] [-s] [-e] [-d] [-c COVER_IMAGE]
[-f HIDDEN_FILE]
Van Gonography is a steganography tool that hides files in images.
options:
-h, --help show this help message and exit
Optional arguments:
-ood Open file after decoding from image (default: False)
-l, --log Log file for the program (default: False)
-cli Run the program in CLI mode, this means there's not gonna be any menu (default: False)
-o OUTPUT_DIR, --output OUTPUT_DIR
Output directory for the modified image or revealed file
-v, --version Show the version number and exit
--encrypt Encrypt the data before hiding it (default: False)
--decrypt Decrypt the data after revealing it (default: False)
--key KEY Key to decrypt the data (default: None)
--json JSON_FILE JSON file containing the arguments (default: None)
--stealth Hides the file in stealth mode (default: False)