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

       

базовые типы данных, используемые в pdf-документах


Что ж! Мы довольно глубоко увязли в теории, пора вылезать на поверхность. Возьмем любой pdf-файл (пусть для определенности это будет http://www.encode-sec.com/pdf/esp0302.pdf) и загрузим его в свой любимый HEX-редактор.

Как и любой другой pdf он содержит так называемый "trailer dictionary" (дословно "словарь прицепа"), содержащий ссылки на важнейшие объекты документа, в том числе и словарь шифрования (encryption dictionary), который присутствует в любом зашифрованном pdf'е и без которого его невозможно ни открыть, ни прочитать.

Словарь прицепа может быть расположен в любом месте документа (как начале, так и конце), но его легко обнаружить по ключевому слову "trailer", которое стоит в его начале (в нашем случае оно расположено по смещению 451h), а следом за ним идут типографские скобки "<<", символизирующие собственно сам словарь. Заглянем, что у нас там?

trailer

<< 

/Size 519            % кол-во объектов в файле

/Info 460 0 R        % ссылка на объект info

/Encrypt 475 0 R     % ссылка на объект словаря шифрования

/Root 474 0 R        % ссылка на объект "дерева страниц"

/Prev 234761         % ID - необязательный идентификатор объекта

/ID[<e1cbefe9c1eaa9478e694f620070dd20>
<eefb91f095d06a4b361ec3b16a9145c6>
]

>
>
 



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