Как замаскировать архив под изображение в Linux

Цель: создать файл 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"

⚙️ Как использовать

  1. Сохраните скрипт в файл mask_gui.sh
  2. Сделайте исполняемым: chmod +x mask_gui.sh
  3. Запустите: ./mask_gui.sh

Примечание: Лучше использовать .jpg, так как этот формат устойчив к добавлению “мусора” в конец файла.

✅ Итог

Полученный result.jpg работает как двойной файл:

  • Видна как картинка
  • Может быть открыта как архив

⚠️ Безопасность

Не используйте этот способ для сокрытия вредоносных файлов. Это может нарушать закон и правила информационной безопасности.