Цель: создать файл result.jpg
, который будет открываться как изображение, но содержать в себе архив .zip
.
🧰 Что потребуется
- Любая картинка (
.jpg
или.png
) - Архив в формате
.zip
- Терминал
- (опционально)
zenity
— для GUI-версии скрипта
📌 Способ 1: Через терминал
✅ Шаг 1. Подготовьте файлы
Допустим у вас есть:
- Картинка:
cat.jpg
- Архив:
secret.zip
✅ Шаг 2. Объедините файлы
cat cat.jpg secret.zip > result.jpg
Файл result.jpg
теперь:
- Открывается как изображение
- Открывается как архив (например, через 7-Zip, Ark, или
unzip
)
🧪 Проверка
xdg-open result.jpg
unzip result.jpg -d extracted/
🖥️ Способ 2: Скрипт с графическим интерфейсом (zenity)
🔧 Установка zenity (если не установлен)
sudo apt install zenity
📜 Bash-скрипт: mask_gui.sh
#!/bin/bash
# Проверка наличия zenity
if ! command -v zenity >/dev/null; then
echo "Zenity не установлен. Установите с помощью: sudo apt install zenity"
exit 1
fi
# Выбор изображения
image_file=$(zenity --file-selection --title="Выберите изображение (JPG или PNG)")
if [ -z "$image_file" ]; then
zenity --error --text="Изображение не выбрано."
exit 1
fi
# Выбор архива
secret_file=$(zenity --file-selection --title="Выберите архив (ZIP)")
if [ -z "$secret_file" ]; then
zenity --error --text="Архив не выбран."
exit 1
fi
# Имя выходного файла
output_file=$(zenity --file-selection --save --confirm-overwrite --title="Имя выходного файла (например result.jpg)")
if [ -z "$output_file" ]; then
zenity --error --text="Имя выходного файла не указано."
exit 1
fi
# Объединение
cat "$image_file" "$secret_file" > "$output_file"
zenity --info --text="Готово! Файл создан: $output_file"
⚙️ Как использовать
- Сохраните скрипт в файл
mask_gui.sh
- Сделайте исполняемым:
chmod +x mask_gui.sh
- Запустите:
./mask_gui.sh
Примечание: Лучше использовать .jpg
, так как этот формат устойчив к добавлению “мусора” в конец файла.
✅ Итог
Полученный result.jpg
работает как двойной файл:
- Видна как картинка
- Может быть открыта как архив
⚠️ Безопасность
Не используйте этот способ для сокрытия вредоносных файлов. Это может нарушать закон и правила информационной безопасности.