
Скрывайте 🕵️♂️ файлы любого типа внутри выбранного вами изображения с помощью стеганографии.
Спрячьте файлы любого типа внутри изображения по вашему выбору
| Файл для сокрытия | Изображение-обложка | Обложка со скрытым файлом |
|---|---|---|
![]() | ![]() |
Основы цифрового хранения
Всё на вашем компьютере, от файлов .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)
Positional arguments (only used in CLI mode):
-s, --show Show the difference between two images (default: False)
-e, --encode Encode the file in the image (default: False)
-d, --decode Decode the file hidden in the image (default: False)
-c COVER_IMAGE, --cover COVER_IMAGE
Image to be used for hiding or revealing, positional only when using decoding, encoding or differentiate
-f HIDDEN_FILE, --file HIDDEN_FILE
File to be hidden
Например, если вы хотите спрятать файл с именем secret.txt внутри изображения с именем image.png и сохранить изменённое изображение в папку output, выполните следующую команду:
python vangonography.py -cli -e -c [Абсолютный путь к вашему изображению-обложке `image.png`] -f [Абсолютный путь к вашему файлу `secret.txt`] -o Output
Это создаст каталог с именем Output в той же директории, что и программа, и внутри него будет файл с именем Cover_txt.png, который является изменённым изображением со скрытым файлом внутри. Если вы хотите декодировать файл из изображения, выполните следующую команду:
python vangonography.py -cli -d -c [Абсолютный путь (или относительный) к вашему изображению-обложке `Cover_txt.png`] -o Output
Если вы также хотите создать файл журнала log.log со всей информацией о программе, выполните следующую команду:
python vangonography.py -cli -d -c [Абсолютный путь (или относительный) к вашему изображению-обложке `Cover_txt.png`] -o Output -l
MIT © Van Gonography MIT
Запросы на слияние (pull requests) более чем приветствуются, я люблю видеть, как люди вносят вклад в мои проекты, и обязательно рассмотрю каждый из них. Не стесняйтесь вносить переводы, функции, исправления ошибок или что-либо ещё, что вы считаете необходимым, включая документацию и файлы README! Если возникли ошибки, пожалуйста, создайте issue, и я постараюсь исправить её как можно скорее :)
Мы приветствуем вклад от сообщества! Будь вы разработчиком, дизайнером или просто восторженным пользователем, есть много способов принять участие.
Готовы внести вклад? Начните с форка репозитория и сделайте свой первый вклад сегодня. Каждый вклад, каким бы малым он ни был, имеет значение!
![]() |
| Это файл, который мы хотим спрятать внутри изображения | Это изображение, в которое мы хотим спрятать файл | Это изображение-обложка с файлом внутри |