[Стеганография] Сокрытие данных в файлах PDF
Я пытаюсь скрыть файл в коде файла PDF. Я уже ищу информацию, чтобы помочь мне. Я пытался распаковать pdf с помощью pdftk (pdftk pdf.pdf вывод uncompress.pdf uncompress). Затем я попробовал разные вещи, такие как:
- Вставить комментарий: я вставил " %TEXT_TO_HIDE " в код несжатого файла PDF.
- добавить новый объект: я помещаю " 0 0 obj << TEXT_TO_HIDE << endobj " в код распакованного pdf файла.
- изменить существующий объект
затем я снова сжимаю его, используя pdftk
В каждом случае я получаю новый PDF-файл, который отличается от оригинала. Он не поврежден, но изображения имеют разные цвета, а некоторые оригинальные тексты отсутствуют.
Итак, знаете ли вы некоторые правила, чтобы изменить код PDF без предварительного уведомления?
(PS: Извините, если мой английский плохой ^^)
1 ответ
Вы не можете изменить файл PDF в текстовом редакторе и ожидать, что файл будет по-прежнему совместимым в целом. PDF - это двоичный формат, и вам нужно прочитать спецификацию PDF, чтобы понять, как ее изменить.
Тем не менее, есть куча мест, где вы можете "спрятать" информацию в документе PDF, реальный вопрос в том, сколько данных вы хотите скрыть и для какой цели. Цель, как правило, указывает на то, насколько безопасным должно быть это.
В качестве некоторых примеров:
1) PDF позволяет встраивать полные файлы в настоящий PDF-файл. Это не совсем безопасно, так как любой человек с приличным программным обеспечением может извлечь эти файлы (но сам файл, конечно, может быть защищен).
2) PDF позволяет добавлять произвольные объекты в любом месте (или почти в любом месте) файла. Это отличный способ скрыть информацию, но кто-то с нужными инструментами может просмотреть дерево объектов (даже если файл сжат) и посмотреть, что вы сделали.
3) PDF позволяет добавить, например, белый текст на белом фоне или текст позади других объектов. Опять же, есть способы обойти это для людей с правильным программным обеспечением.
4) Спецификация Adobe в формате PDF допускает использование по крайней мере 1 КБ пуха после маркера %%EOF (хотя ISO 32000 этого не делает). Имейте в виду, что это видно любому, кто открывает файл приличным текстовым или двоичным редактором. (Спасибо Jongware).
Короче говоря, вам нужно гораздо лучше определить, что именно вы хотите достичь, и насколько "безопасна" защита в вашем случае использования.
Вы должны также рассмотреть, насколько "надежным" должен быть метод. Может ли кто-нибудь сохранить ваш файл PDF с помощью Acrobat, например, с неповрежденным скрытым кодом? Некоторые из вышеперечисленных методов могут быть недостаточно надежными, чтобы гарантировать абсолютную достоверность.