Криминалистика документов
Проверка криминалистики документов читает то, что файл несёт помимо видимого содержимого: кого метаданные называют автором, какой инструмент его создал, когда его метки времени утверждают, что он изменился, какие прежние ревизии, вложенные файлы или невидимый текст ещё находятся внутри. Оставьте PDF, PNG или JPEG ниже, и эта страница сообщит эти факты локально, в вашем браузере, каждый — с конкретными значениями, из которых он прочитан. Два ограничения сразу: файл никогда не загружается — он анализируется на этом устройстве и нигде больше — и этот инструмент сообщает факты, а не вердикты: структурные доказательства не могут доказать, кто создал файл, поэтому здесь нет оценки и нет суждения об авторстве. Сопутствующая статья метаданные PDF и скрытые данные объясняет, где прячется каждый вид данных и как происходили реальные утечки; проверка доступности PDF охватывает структуру чтения PDF, а инспектор бинарных файлов — исполняемые файлы.
Последнее обновление:
Или перетащите файл в любое место этого блока. Файл читается на этом устройстве и никогда не загружается. Лимит: 20 МБ.
Факты о документе
Находки
Факты, а не вердикты — чего эта страница не может вам сказать
Метаданные — это показания, а не доказательства. Поле автора говорит, что программа записала в файл, и любое из этих значений можно отредактировать, скопировать из другого документа или унаследовать от шаблона — поэтому знакомое имя в метаданных не доказывает, что этот человек создал файл, а незнакомое имя инструмента ничего не доказывает о том, как было сделано содержимое. В частности, структурные доказательства не могут доказать авторство, и эта страница ничего не утверждает о том, было ли содержимое произведено человеком или программой: она сообщает присутствующие значения, уцелевшие ревизии и метки времени, которые противоречат друг другу, и оставляет интерпретацию вам. Относитесь к каждой находке как к зацепке, которую нужно проверить, а не как к выводу.
Что сообщает этот инструмент
- Поля информационного словаря PDF — заголовок, автор, создатель, производитель и обе даты — цитируются дословно как доказательство.
- Пакет метаданных XMP, когда он присутствует, с извлечёнными заголовком, производителем и датами создания и изменения.
- Структуру инкрементных обновлений: сколько маркеров %%EOF и разделов startxref несёт файл и какова глубина цепочки трейлеров /Prev.
- Признаки вложенных файлов, скрытый текст, отрисованный в режиме 3, и флаг шифрования.
- Инвентарь блоков PNG с декодированными текстовыми блоками и меткой времени tIME; инвентарь сегментов JPEG с полями JFIF, Exif и XMP и текстом комментариев — плюс любые байты после конечного маркера в обоих форматах.
Что документ несёт помимо своего содержимого
Каждый документ из охваченных здесь форматов — это контейнер, а не просто картинка содержимого. PDF несёт информационный словарь — заголовок, автора, создателя, производителя и две даты — записанный приложением, которое его экспортировало, обычно без ведома автора документа. Рядом с ним большинство современных производителей встраивают пакет XMP: блок XML-метаданных, который может повторять те же поля, добавлять инструмент создания или тихо противоречить информационному словарю. Изображения PNG несут именованные блоки, часть которых хранит свободный текст — имена программ, комментарии, строки авторских прав, иногда целые XML-документы, — а фотографии JPEG несут блоки Exif, записанные камерой: марку, модель, дату срабатывания затвора и программу, которая последней касалась файла. Ничего из этого не видно при обычном открытии документа, и всё это путешествует с файлом, когда он публикуется, отправляется по почте или подаётся в суд.
У PDF есть второй, более глубокий слой: инкрементные обновления. Формат PDF был спроектирован так, чтобы редактор мог сохранять изменение, добавляя новую ревизию в конец файла вместо его перезаписи, оставляя прежние байты — включая прежнюю версию абзаца — физически присутствующими и читаемыми. Файл с несколькими маркерами %%EOF сохранялся так несколько раз, и всё, что было «удалено» в более поздней ревизии, всё ещё может быть восстановлено из более ранней. Этот механизм законен и полезен для подписей и быстрого сохранения, но он же — причина, по которой наивное закрашивание терпит неудачу: закрытие абзаца чёрным прямоугольником или даже удаление текста в редакторе, который затем сохраняет инкрементно, может оставить исходные слова в файле для любого, кто посмотрит. Эта страница считает маркеры конца файла и цепочку трейлеров, чтобы вы видели, есть ли у файла перед вами прошлое.
Та же логика контейнера объясняет остальные проверки. PDF может нести вложенные файлы — полноценные вложения, хранящиеся внутри самого документа и перечисленные в его дереве имён вложенных файлов, — которые читатель может никогда не заметить, а получатель может извлечь. Он также может нести скрытый текст: текст PDF рисуется в режиме отрисовки, а режим 3 не рисует ничего, оставляя символы в потоке содержимого — копируемыми и доступными для поиска, но невидимыми на странице — классическое место для текста, который должен был быть удалён, а иногда и для текста, который никогда не должен был быть увиден. У файлов PNG и JPEG — своя версия той же истории: байты, добавленные после конечного маркера, игнорируются любым средством просмотра, но остаются в файле, а текстовые блоки и сегменты комментариев обычно переживают сеанс редактирования, который их записал.
Метки времени — это место, где документы противоречат сами себе. PDF хранит как минимум две даты в своём информационном словаре и часто ещё две в пакете XMP, записанные разными инструментами в разные моменты: экспортёром, редактором, оптимизатором, который пересжал его при загрузке. Когда дата создания стоит после даты изменения, когда даты XMP расходятся с информационным словарём или когда дата выпадает в будущее, что-то в цепочке не рассказало связной истории: часы были неверны, поле было отредактировано или файл был собран из частей с разной историей. Ни одно из этих объяснений не является автоматически зловещим, и эта страница не выбирает между ними — она показывает оба значения рядом, чтобы противоречие было видно, а не похоронено. То же относится к дате Exif камеры и блоку последнего изменения PNG: метка времени — это утверждение, которое делает файл, и сверка утверждений — всё, чем занимается этот инструмент.
Используйте результаты до публикации, а не после того, как это сделает кто-то другой. Пропустите внутренние отчёты, скриншоты и фотографии через такую проверку и прочитайте, что утекло бы вместе с ними: имена авторов и пользователей, имена внутренних инструментов, исходные даты, вложения, о которых вы забыли, ревизию, которая всё ещё хранит абзац, удалённый юридическим отделом. Очистка тогда становится осознанным шагом — повторный экспорт из источника с удалёнными метаданными, полное выравнивание и перезапись файла вместо инкрементного сохранения — и повторная проверка той копии, которую вы действительно отправляете. И держите предел честности в поле зрения всё время: чистый результат означает, что в местах, которые смотрит эта страница, структурных сюрпризов не найдено; он не удостоверяет происхождение документа, а удивительная находка — это вопрос, который нужно задать, а не обвинение, которое нужно выдвинуть.
Частые вопросы
Мой файл куда-нибудь загружается?
Нет. Файл открывается и анализируется на этой странице, на вашем устройстве, и ничего не загружается, не передаётся и не хранится. Анализ файла не делает ни одного сетевого запроса, поэтому страница работает офлайн после загрузки — что важно, потому что документы, которые больше всего стоит проверять, — это именно те, которые не следует отправлять на сервер незнакомца.
Может ли этот инструмент сказать, кто создал файл или сделал ли его ИИ?
Нет — и остерегайтесь любого инструмента, который утверждает обратное. Поля метаданных — это текст, который программа записала в файл; их можно отредактировать, унаследовать от шаблона или скопировать из другого документа, поэтому это показания, а не доказательства. Структурные доказательства не могут установить авторство. Эта страница сообщает присутствующие значения и места, где файл противоречит сам себе, и оставляет вопросы авторства доказательствам, которые действительно могут на них ответить.
Что такое инкрементное обновление и почему оно важно?
Редакторы PDF могут сохранять изменения, добавляя новую ревизию вместо перезаписи файла. Каждое сохранение оставляет маркер %%EOF, поэтому несколько маркеров означают несколько добавленных ревизий — а прежние ревизии остаются читаемыми в байтах, включая содержимое, которое более поздние ревизии, казалось бы, удаляют. Вот почему закрытие текста прямоугольником или его удаление при инкрементном сохранении не убирает его из файла. Полная перезапись или повторный экспорт — вот что действительно отбрасывает старые байты.
Я нашёл скрытый текст в PDF. Значит ли это, что кто-то смошенничал?
Не сам по себе. Текст, отрисованный в режиме 3, невидим, но присутствует, и для него есть законные причины: слои OCR располагаются за изображениями отсканированных страниц, чтобы страницу можно было искать и копировать, а некоторые производители выводят невидимый текст для индексации. Проблемой он становится, когда невидимый текст должен был исчезнуть: закрашенное имя, которое всё ещё можно скопировать, — это утечка, каково бы ни было намерение. Читайте находку как «посмотри сюда», а не как вердикт.
Как удалить эти метаданные перед публикацией?
Работайте у источника, где можете: очистите свойства документа в инструменте авторства, экспортируйте с отключёнными параметрами метаданных, а для PDF предпочитайте полную перезапись — печать в PDF или специализированный очиститель — инкрементному сохранению. Для изображений повторно экспортируйте через инструмент, который удаляет Exif и текстовые блоки, вместо их редактирования на месте. Затем снова пропустите очищенную копию через эту страницу и подтвердите, что находки, которые вас волновали, действительно исчезли.