![]() |
eXeL@B —› Основной форум —› Снятие защиты с PDF |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 04 сентября 2007 23:39 · Поправил: paper · Личное сообщение · #1 Набрел я на днях на интересный сайт газеты "Коммерsант", и нашел там интересную ссылку на их новый проект hттp://kommersant.newspaperdirect.com/ Суть его такова, теперь газеты можно читать онлайн через эту систему один к одному как печатную версию. Разработка забугорная (Канада) и весьма занятная, сейчас объясню чем. Во-первых, система требует регистрации. Пользование ею пока бесплатно. Пока... Архив прошлых выпусков на 30 дней назад - бесплатно, остальное за деньги. Оригинальный браузерный клиент, без использования флэша показывает чудеса оконного программирования. Газеты можно листать, увеличивать, даже копировать текст. Но... Теперь о недостатках, для просмотра в офф-лайн есть родной клиент PressReaдer и его нужно скачивать, После установки и авторизации клиент может сразу с сайта качать выбранные вами номера для оффлайн просмотра, Нельзя распечатать документ на виртуальный принтер (их просто не видно). Скачанные выпуски имееют ограниченный срок хранения скачанных выпусков, 30-60 дней Исследование проведенное мною показало следующее, номера для оффлайн просмотра передаются в клиент в формате PDN (по заголовку вообще PDF 1.6) но пошифрованный присланным для него ключом. Ни одна из программ не смогла снять защиту с этого PDF, хотя железно что он там есть. Вопрос (просьба) в следующем: можно ли снять с защиту с этих PDF(PDN), так чтобы получить нормальный PDF я так понимаю, что нужно исследовать работу PressReaдera. Выкладываю ссылки на зашифрованный файл PND, его файл настроек и ключик к нему slil.ru/24820057 или тут link_deleted_by_forum_engine/files/1685916 ![]() |
|
Создано: 05 сентября 2007 00:09 · Личное сообщение · #2 |
|
Создано: 05 сентября 2007 06:12 · Поправил: paper · Личное сообщение · #3 |
|
Создано: 05 сентября 2007 08:41 · Личное сообщение · #4 |
|
Создано: 05 сентября 2007 10:42 · Поправил: paper · Личное сообщение · #5 файл который закачивает PressReaдera для оффлайнового просмотра имеет расширение PDN , но если посмотреть его содержание то железно видно что это PDF v1.6, если его переименовать в pdf то при открытии ничего не видно, программы для снятия защиты с PDF трудятся но на выходе все листы пустые, только одна ругнулась на 128 битный агроритм шифрования. Если смотреть на информацию передаваемую в PressReaдer, то видно как передается ключ для расшифровки. Таким образом есть pdf файл зашифрованный ключом, и есть сам ключ. Необходимо выяснить механизм его ипользования (кодирования) для того чтобы получить чистый PDF. PressReaдer не выкладываю, т.к. есть на офф.сайте, и все равно он попросит зарегистрироваться, а при закачке уже и родные ключики прилетают. Регистрация и закачка пока бесплатны. При печати видны только настоящие принтеры, как-то он определяет виртуальные и скрывает их. Так что печать в PDF пока невозможна. ![]() |
|
Создано: 05 сентября 2007 10:47 · Личное сообщение · #6 |
|
Создано: 05 сентября 2007 11:17 · Личное сообщение · #7 paper пишет: При печати видны только настоящие принтеры, как-то он определяет виртуальные и скрывает их. вечером гляну. а на многих виртуальных проверяли ? paper пишет: структура PDF же при таком подходе не сохраниться. почему не сохранится ? pdf получается из PostScript, тут просто будет лишнее преобразование pdf -> PostScript -> pdf ----- in search of sunrise ![]() |
|
Создано: 05 сентября 2007 11:25 · Поправил: paper · Личное сообщение · #8 да проверил на 4 виртуальных принтерах, видны только 2 моих настоящих из 6 всего. Сделал вывод, что разработчики учли эту возможность и блокировали все виртуальные принтеры (вопрос как они определяют их, и можно ли это обойти) Аудитория собралась тут головастая, такие сложные задачи решают, думаю что и этим мы справимся ![]() ![]() |
|
Создано: 05 сентября 2007 17:11 · Личное сообщение · #9 |
|
Создано: 05 сентября 2007 17:26 · Личное сообщение · #10 |
|
Создано: 05 сентября 2007 18:50 · Поправил: alfa-x team · Личное сообщение · #11 Насчет определения виртуальности принтера. Если в свойствах принтера указано, что он подключен к портам LPT, COM, USB и TCP/IP - то это реальный принтер, все остальное - виртуальные принтеры. Сюда относятся все принтеры, из которых можно печатать файл. Отсюда вывод, нужен принтер, который в свойствах можно назначить - печать в файл. Именно в свойствах самого принтера. Тогда возможно преобразование в пдф. ![]() |
|
Создано: 05 сентября 2007 19:23 · Личное сообщение · #12 Надо установить дровишки принтера "Lexmark Optra E310 PS" и сказать что он подключен. Не важно куда, лижбы не в интерфейс под названием FILE. Далее печатаем на принтер, указав непосредственно перед самой печатью птичку "Печать в файл". Получаем prn или ps файл, из которго гоним ПДФку, например при помощи Acrobat Distiler. ----- Я медленно снимаю с неё UPX... *FF_User* ![]() |
|
Создано: 05 сентября 2007 19:47 · Личное сообщение · #13 AlexZ пишет: Надо установить дровишки принтера "Lexmark Optra E310 PS" и сказать что он подключен. Не важно куда, лижбы не в интерфейс под названием FILE. Далее печатаем на принтер, указав непосредственно перед самой печатью птичку "Печать в файл". Получаем prn или ps файл, из которго гоним ПДФку, например при помощи Acrobat Distiler. во, тоже думал что "печать в файл" должна помочь. осталось проверить. ----- in search of sunrise ![]() |
|
Создано: 06 сентября 2007 06:35 · Личное сообщение · #14 Попробывал с принтером "Lexmark Optra E310 PS", получилось. Но, есть неудобства: 1. Печатать можно по 1 листу, все печатать пишет прав нет подписки 2. После печати и конвертации в PSD размер 1 страницы как 1/4 всего исходного файла 3. В полученном PDF нельзя выделить текст, это картинка Думаю печать таким макаром не вариант, нужно шифрование отковырять. Выкладываю ссылки на зашифрованный файл PND, его файл настроек и ключик к нему http://slil.ru/24820057 http://slil.ru/24820057 или тут http://link_deleted_by_forum_engine/files/1685916 http://link_deleted_by_forum_engine/files/1685916 ![]() |
|
Создано: 06 сентября 2007 11:11 · Личное сообщение · #15 |
|
Создано: 06 сентября 2007 15:07 · Личное сообщение · #16 paper пишет: 3. В полученном PDF нельзя выделить текст, это картинка Есть опция(кажется в настройках принтера): конвертировать текст в кривые. Можно этого не делать, но если у тебя в системе не установлены постскрипт шрифты и/или если исходный текст набран не ими, то есть шансы получить кракозябры вместо русского текста. paper пишет: 2. После печати и конвертации в PSD размер 1 страницы как 1/4 всего исходного файла Дружище, это же корень всех бед. Никогда не импортируй PS в фотошоп ![]() paper пишет: Попробывал с принтером "Lexmark Optra E310 PS", получилось. Но, есть неудобства: 1. Печатать можно по 1 листу, все печатать пишет прав нет подписки Попробуй другой postScript принтер. paper пишет: сохраненный файл .ps открывал с помощью PDFCreator (а не Acrobat Distiler) разница есть? Не знаю. Всегда юзал дистайлер (давний опыт работы в полиграфии после 9го класса ![]() ----- Я медленно снимаю с неё UPX... *FF_User* ![]() |
|
Создано: 06 сентября 2007 15:33 · Личное сообщение · #17 Я опечатался когда написал про PSD, имел ввиду PDF. У меня подозрение, что Reader отдает на принтер уже картинку (с умом разработчики подошли). Печатать можно по 1 листу, потому что в Reader только такой способ печати работает (т.е это не от принтера зависит). Когда нажиамешь печатать всю книгу - он пишет "Нет прав подписки", скорее всего бесплатная подписка не дает прав печатать весь файл сразу, только по одномк листу, а это гемор. Повторюсь, но мне кажется вариации печатью малоперспективными, ковырять нужно в направлении снятия шифра с PDF, по идее все для этого есть. Reader, файл, ключ. Можно выяснить как он его применяет для чтения PDF в Reader? Самому сделать пока серого вещества не хватает ![]() Прошу помощи у сообщества ![]() |
|
Создано: 07 сентября 2007 13:58 · Личное сообщение · #18 |
|
Создано: 07 сентября 2007 19:13 · Поправил: OKOB · Личное сообщение · #19 paper Возьми PDFReference.pdf из PDF SDK и посмотри структуру PDF файла. Далее в файле увидишь что в разделе trailer указано, что файл криптованый (/Encrypt 560 0 R). Под индексом 560 объект с DOCID таким же как в перехваченом снифером ответе и XML запросе номером и указано, что раскриптовывать нужно при помощи нестандартного NDPD:CryptHandler. Остальные блоки стандартные с FlateDecode и DCTDecode. Сам декриптор, как и вся работа с PDF файлом реализованы в NDPDF.DLL. Криптованию подвергаются все объекты типа string и stream. Нужно рипнуть код NDPD:CryptHandler, распаковать все объекты указаных типов и убрать из трейлера упоминание о криптовании. Length 128 - это длина ключа в байтах. ЗЫ: за признаком конца PDF файла сидит номерок который вероятно activation-number твоего accounta (можно найти в parameters.xml), он же CertificateId в перехваченом пакете. Таким образом видно от кого загулял файл. ----- 127.0.0.1, sweet 127.0.0.1 ![]() |
|
Создано: 07 сентября 2007 21:26 · Личное сообщение · #20 |
|
Создано: 08 сентября 2007 18:36 · Личное сообщение · #21 |
|
Создано: 08 сентября 2007 19:00 · Личное сообщение · #22 |
|
Создано: 10 сентября 2007 13:39 · Личное сообщение · #23 |
|
Создано: 10 сентября 2007 13:45 · Поправил: KingSise · Личное сообщение · #24 paper пишет: можно ли снять с защиту с этих PDF(PDN), так чтобы получить нормальный PDF Вобщем проблем никаких не вижу, все отлично печатается на виртуальный принтр и получается нормальный pdf файл... Могу даже видео замутить.... единственное но - печатать можно только постранично, кажется... ----- -=истина где-то рядом=- ![]() |
|
Создано: 10 сентября 2007 14:18 · Личное сообщение · #25 |
|
Создано: 10 сентября 2007 14:54 · Личное сообщение · #26 |
|
Создано: 10 сентября 2007 15:09 · Личное сообщение · #27 |
|
Создано: 10 сентября 2007 16:12 · Личное сообщение · #28 Посмотрел видео, спасибо. Но! Ты печатал из Readera онлайн, эта функция немного по другому работает, чем из библиотеки. Когда запущена печать онлайн, то идет запрос на сайт, вответ возвращается картинка PNG размером метров на несколько (по времени подготовки к печати - интернет у тебя быстрый ![]() Для печати оффлайн нужно перейти в раздел Моя библиотека, дождаться пока выбранная газета скачается, и уже открыв ее, выбирать печать. Смысл PDF в том что текст и графику можно скопировать, кроме того размер всей газеты в PDF, как размер 1 листа для печати по объему скачанного. Поэтому и интересен механизм снятия защиты с файлов, т.к. они то железно PDF и уже скачаны в оффлайн. ![]() |
|
Создано: 10 сентября 2007 18:03 · Личное сообщение · #29 Для всего шифрования используется библиотека Оpen ssl 0.9.8e и хотя известно вкратце содержимое лицензионного файла: xml = <documentInfo version="1" documentId="00522007083000000000001001" activationId="61fde311-efde-440f-8f8a-df517ab24b68"><encryption cryptVersion="2" /><permissions docPermissions="286" pagePermissions="0" linkPermissions="0" bookmarkPermissions="0" thumbPermissions="0" annotPermissions="0" formPermissions="0" signPermissions="0" expiration="2007-11-29" updateOnOpen="false" /><status activated="2007-08-31 18:01:46" /></documentInfo> То генерить подобные врядли удастся ввиду использования системы с открытым ключом. Только после раскриптовки ключа в памяти подменять в ней-же. Для начала попробовать расширить свои права на использование файла. Все permissions = "0" поменять на "1". ----- 127.0.0.1, sweet 127.0.0.1 ![]() |
|
Создано: 10 сентября 2007 21:12 · Личное сообщение · #30 исходим из того что ключ уже есть, получен перед закачкой файла. при оффлайн просмотре, Ридер не обращается в интернет, значит все что нужно есть. а зачем нам привелегии свои поднимать, они же только для просмотра? PDF же расшифровывается для отображения и для печати, нельзя его из памяти сохранить на диск? ![]() |
. 1 . 2 . >> |
![]() |
eXeL@B —› Основной форум —› Снятие защиты с PDF |