добывание информации из pdf-файлов или взлом eBook'ов

       

если выделение/копирование


Можно ли преодолеть эти ограничения? Чтобы там не говорила Abode в своих рекламных проспектах, хакерская логика и интуиция подсказывают: если документ можно открыть, то скопировать его содержимое или вывести на печать — дело техники, ведь контект не зашифрован (иначе как мы бы могли его открыть?). Следование установленным запретам всего лишь вопрос честности работающих с ним приложений, а отнюдь не крипотографическая проблема. Грубо говоря, это тоже самое что атрибут Read-Only на файле. Записи на сектором уровне он ничуть не предотвращает, а всего лишь информирует файловую систему, что сюда лучше не писать. Тоже самое и pdf. Acrobat специально спроектирован так, чтобы не печатать и не копировать текст, если создатель документа этого не хочет. Тем не менее, вьюверы от сторонних производителей могут вести себя иначе. В первую очередь это относится ко всевозможным конверторам (например, pdf в ps), которые случайно или умышлено "забывают" проанализировать атрибуты запретов, генерируя свежеиспеченный ps с которым можно делать все, что угодно (например, преобразовать обратно в "очищенный" pdf). Мы так же можем написать свой собственный вьювер (под LINUX'ом их пруд пруди), однако, исторически сложилось так, что большинство пользователей предпочитает смотреть pdf-файлы Acrobat'ом.

Как разблокировать запреты? Среди пользователей ходит легенда, что внутри документа существует специальный бит, который достаточно исправить HIEW'ом и тогда… На самом деле это не совсем так, точнее совсем не так. Биты запрета печати/копирования действительно существуют и это действительно биты, но... вся проблема в том, что они используются для генерации зашифрованного ключа, которым расшифруются объекты документа. Измените хотя бы один запрещенный бит и pdf тут же затребует O-пароль при открытии! Да откуда же нам его знать?! Сам O-пароль в документе нигде не хранится, вместо этого там лежит его контрольная сумма. Восстановить оригинальный O-пароль невозможно, подбирать его слишком долго, но... что нам мешает снять все запреты с документа, а затем рассчитать новую контрольную сумму для O-пароля? Ведь содержимое документа не зашифровано, поэтому для смены пароля знать его оригинальное содержимое не обязательно!

Конечно, в HIEW'е эту операцию будет осуществить довольно затруднительно (ну разве что у вас находится калькулятор в голове), но можно написать специальную утилиту, которая будет это делать за нас или воспользоваться уже готовой отмычкой, благо что недостатка в них не ощущается.



Содержание раздела