Сейчас на форуме: johnniewalker, Magister Yoda, Kybyx, vsv1, r0lka (+5 невидимых) |
eXeL@B —› Крэки, обсуждения —› Формат данных флэш-вьювера "Электронной библиотеки" РНБ |
Посл.ответ | Сообщение |
|
Создано: 17 сентября 2010 09:18 · Поправил: TShd · Личное сообщение · #1 Подскажите, что за формат у данных флэш-вьювера. Сам я раньше с флэшем дело не имел. В общем, при загрузке GET 200 112213 application/x-shockwave-flash А из него уже содежимое книги (2 Мб): GET 200 2146466 application/octet-stream Содержимое я скачал браузером, но с определением формата возникли проблемы. "На глаз" (то есть по F3) это какой-то контейнер с XML, JPG, Flash и прочим добром, но вот какой именно контейнер? Их много - FXG, fla, xfl и т.д.? К тому же смущает сигнатура библиотеки (NLR) в начале файла. Определители сигнатур, которые я нашёл, ничего не сказали, а качать 800Мб Adobe Flash Professional мне не хочется. P.S. Сайт библиотеки у них работает в тестовом режиме, поэтому переодически в дауне. Вот |
|
Создано: 17 сентября 2010 09:36 · Поправил: VodoleY · Личное сообщение · #2 |
|
Создано: 17 сентября 2010 09:46 · Поправил: TShd · Личное сообщение · #3 |
|
Создано: 17 сентября 2010 12:14 · Личное сообщение · #4 TSDh пишет: А что до данных флэшки, подозреваю, там какой-то стандартный адобовский формат. При чем здесь формат Адоб. Раз это вьювер, там прога на скриптах сделана для просмотра библиотек. Для декомпиляции swf есть масса инструментов - правда придется сам язык смотреть, но думаю там какой-то стандартный алгоритм упаковки используется. |
|
Создано: 17 сентября 2010 15:17 · Личное сообщение · #5 |
|
Создано: 17 сентября 2010 16:26 · Личное сообщение · #6 |
|
Создано: 17 сентября 2010 17:12 · Личное сообщение · #7 |
|
Создано: 17 сентября 2010 17:16 · Личное сообщение · #8 И да, проге через FlashVars должны приходить всякие параметры, например document_id document_path document_part И есть там такой класс, который похоже связан с этими перемнными - толи генерирует ссылку конечную, толи ещё что,там ещё такие строки есть Code:
----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
|
Создано: 17 сентября 2010 19:50 · Поправил: TShd · Личное сообщение · #9 TShd пишет: Я почему-то считал, что, например, fla это флэшевский формат для бинарных данных. А это исходники. Зато есть AMF - бинарный формат для сериализации объектов/данных. Может он? 4kusNick пишет: И есть там такой класс, который похоже связан с этими перемнными - толи генерирует ссылку конечную, толи ещё что,там ещё такие строки есть Конечную ссылку я смотрю сниффером - это не проблема. Проблема извлечь данные. Для меня AS пока как китайская грамота, но, пробежав по диагонали, куска с декодированием/десериализацией данных я пока не нашёл. Нашёл только с сериализацией (ObjectEncoding), хотя какой-то странный: Code:
И ниже: Code:
Code:
Похоже на чтение страниц по смещениям? |
|
Создано: 17 сентября 2010 20:33 · Личное сообщение · #10 |
|
Создано: 17 сентября 2010 20:45 · Личное сообщение · #11 |
|
Создано: 19 сентября 2010 07:36 · Поправил: TShd · Личное сообщение · #12 Распаковывать я пока не пробовал, только код читал, но вроде всё понятно. Первые 28 байт это хедер. Интересен в нём прежде всего девятый байт (кол-во страниц) и размер XML структуры после хедера (но с его местоположением пока не уверен). После хедера идёт XML. За XML - таблица смещений и размеров страниц. На каждую страницу отводится восемь байт: 4 байта на смещение и 4 байта на размер. |
|
Создано: 19 сентября 2010 20:17 · Поправил: TShd · Личное сообщение · #13 Темплейт для WinHex: Code:
Страницы представляют собой сжатый флэш без сигнатуры, которая добавляется перед самой загрузкой страницы во вьювер. То есть: [{CWS}] {BYTE версия флэша} {DWORD размер файла} {упакованные zlib данные}. Хотя по zlib есть некоторые непонятки. Завтра проверю кое-что и напишу. Если кому интересно. |
|
Создано: 20 сентября 2010 07:49 · Личное сообщение · #14 |
|
Создано: 20 сентября 2010 08:13 · Поправил: TShd · Личное сообщение · #15 Проверить я не успел, но с zlib мне не понятна прежде всего сигнатура 78 DA 9C. Насколько я знаю, у zlib может быть либо 78 9C (обычное сжатие), либо 78 DA (максимальное сжатие). Видимо поэтому и перловский Compress::Zlib данные распаковывать не хочет, как и WinHex. Flasm и Sothink, правда, берут, но всё равно интересно, в чём тут дело. |
|
Создано: 20 сентября 2010 11:10 · Личное сообщение · #16 |
|
Создано: 25 сентября 2010 23:29 · Личное сообщение · #17 |
|
Создано: 26 сентября 2010 08:16 · Личное сообщение · #18 |
|
Создано: 26 сентября 2010 10:57 · Личное сообщение · #19 |
eXeL@B —› Крэки, обсуждения —› Формат данных флэш-вьювера "Электронной библиотеки" РНБ |