Сейчас на форуме: johnniewalker, NIKOLA (+7 невидимых)

 eXeL@B —› Крэки, обсуждения —› PPT2Flash Professional - Вытаскивание PPT файла
Посл.ответ Сообщение

Ранг: 1.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 08 апреля 2017 18:11
· Личное сообщение · #1

Здравствуйте. Я осознаю, что данная тема будет не самой обычной, но тем не менее вопрос актуальный.

PPT2Flash Professional - это программа, которая позволяет получить из PPT-презентации файл SWF, который эту презентацию будет показывать. Вот пример одного из таких файлов:

http://kreativ.assistancerussia.org/multiimages/3/1214386227.swf

Так вот, есть необходимость получить из конвертированного файла обратно файл *.PPT. Я посмотрел внутренности сконвертированного файла с помощью Sothink SWF Decompiler и не нашел там ничего, кроме служебных картинок, шрифтов и скриптов.

Характерные отличительно особенности таких SWF файлов (из тех, что я обнаружил):

* При правом клике мышкой в первого неактивный вариант действия - это "v5.6.5.27 Builded 10.7.19"(именно так, с ошибкой)
* В файле .\Action\com\sameshow\model\readself\SelfReader.as , в строке 150 написано "param1 = "F:/我的文档/Wondershare PPT2Flash Professional/xx/xx.swf";". Атавизм какого-то недочищенного скрипта? Согласно Гугл-переводчику, те китайские символы в пути - это ничто иное, как "Мои Документы"
* Внутри SWF файла есть следующая строка: "Would you like to resume your presentation where you left off?
12124"

Кстати, судя по тому, что несколько раз встречались китайские иероглифы я рискну предположить, что программа PPT2Flash написана в Китае. Если это как-то поможет.

В общем, прошу помощи. В Интернете немного информации о распаковке SWF чем-то кроме как Sothink SWF Decompiler или его дохлыми аналогами; о конкретном PPT2Flash Professional информации вообще практически нет. Просьба вариант типа переписать/перерисовать не предлагать, т.к. нужна ИМЕННО оригинальная презентация.

Спасибо заранее ;)



Ранг: 42.3 (посетитель), 19thx
Активность: 0.040
Статус: Участник

Создано: 08 апреля 2017 19:05 · Поправил: kampaster
· Личное сообщение · #2

Проще конвертировать swf в видео файл и вставить в ppt.
А еще проще накидать с нуля, если презентации все такие простенькие как в примере.




Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 09 апреля 2017 00:49 · Поправил: -=AkaBOSS=-
· Личное сообщение · #3

alexholi6, ну если вы думаете волшебным образом "извлечь" ppt из swf, то ничего не выйдет.
флэш в данном случае не обёртка-плеер, а продукт полноценного преобразования. простого пути не будет.

alexholi6 пишет:
Я посмотрел внутренности сконвертированного файла с помощью Sothink SWF Decompiler и не нашел там ничего, кроме служебных картинок, шрифтов и скриптов

основные данные болтаются в "оверлее", после данных самой флэшки-плеера
сначала идёт xml, а потом по отдельной флэшке на каждый кадр презентации

alexholi6 пишет:
рискну предположить, что программа PPT2Flash написана в Китае

сайт программы ppt2flash.jp как бы намекает на японское происхождение.
ничего вы не понимаете в иероглифах)

alexholi6 пишет:
нужна ИМЕННО оригинальная презентация

эффективным решением в данном случае считаю вставить паяльник в известное место автору презентации.

| Сообщение посчитали полезным: alexholi6

Ранг: 1.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 09 апреля 2017 05:30
· Личное сообщение · #4

.kampaster пишет:
Проще конвертировать swf в видео файл и вставить в ppt.


В SWF всего 1 (но динамический) фрейм

-=AkaBOSS=- пишет:
флэш в данном случае не обёртка-плеер, а продукт полноценного преобразования


Если не секрет, то каким образом вы это поняли? Дело в том, что в презентациях есть еще и картинки (в предыдущем примере их нет, а вот тут, например, есть: http://jpkc.sxatc.com/gaoyuan/uploads/flash/%E5%AE%9E%E5%8A%A1/1/Player.swf ).

Так вот, эти самые эти картинки, равно как и файл PPT, в каком-либо виде внутри SWF я совершенно не могу найти. Вы пишете, что данные болтаются в оверлее - не подскажете, как в этот самый оверлей попасть?

-=AkaBOSS=- пишет:
вставить паяльник в известное место автору презентации


Не могу не согласиться)) Но прошло много времени, автора уже и след простыл, а презентация предоставляет большой исторический интерес.




Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 09 апреля 2017 06:24
· Личное сообщение · #5

alexholi6 пишет:
Вы пишете, что данные болтаются в оверлее - не подскажете, как в этот самый оверлей попасть?

оверлей начинается сразу там, где кончаются данные основной флэшки (согласно формата)
вот например что мне удалось извлечь
http://rgho.st/7LbvFnvzH

alexholi6 пишет:
вот тут, например, есть: http://jpkc.sxatc.com/gaoyuan/uploads/flash/%E5%AE%9E%E5%8A%A1/1/Player.swf

рекомендую трафик помониторить - грузятся файлы
/texts.xml
/swfs.xml
/BG_music.mp3
/data/Tb1.swf
/data/Tb2.swf
/data/Tb3.swf
/data/Tb4.swf
и так далее. много их там еще, но через браузер скачать не пускает

| Сообщение посчитали полезным: alexholi6


Ранг: 170.1 (ветеран), 96thx
Активность: 0.090.01
Статус: Участник

Создано: 10 апреля 2017 07:32
· Личное сообщение · #6

alexholi6 пишет:
Вот пример одного из таких файлов: http://kreativ.assistancerussia.org/multiimages/3/1214386227.swf


Выглядит как склейка из десятка .swf (см. отчет CC)


2827_10.04.2017_EXELAB.rU.tgz - 1214386227.swf.cc.7z

| Сообщение посчитали полезным: alexholi6

Ранг: 1.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 15 апреля 2017 20:30 · Поправил: alexholi6
· Личное сообщение · #7

Я попробовал пойти в обход проблемы, так сказать. Я скачал оф. Standalone-версию Flash Player, запустил в ней мой SWF, сдампил процесс с помощью LordPE, открыл дамп процесса в HEX-редакторе и попробовал поискать header-ы PPT, PPTX и других файлов типа презентация (header-ы брал с сайта TrID). Так вот, ни один header не был в файле. Вероятность того, что в SWF тупо запакован файл PPT, похоже, стремится к нулю.

Тем не менее, все равно актуально достать все строки/картинки/музыку презентации из SWF

-=AkaBOSS=- пишет:
рекомендую трафик помониторить - грузятся файлы


Да-да, вижу. Я открыл ссылку с помощью Firefox Developer Edition version 54.0a2, дозагрузку файлов вижу. У меня все файлы скачиваются и с помощью Chrome, и Firefox, и даже Download Master. Все докачиваемые файлы я загрузил сюда: http://www.mediafire.com/file/49319r9k6t1hj8k/jpkc.sxatc.com.rar

Если открыть "зависимые" SWF (далее буду называть их так, т.к. не могу придумать более подходящего названия), то там можно увидеть куски презентации. А файл swfs.xml описывает, какие куски за что отвечают. Что характерно, по второй ссылке есть докачиваемые файлы, а по первой не докачивается ничего. Тот SWF, который я хочу распаковать тоже вроде ничего не докачивает.

gazlan пишет:
Выглядит как склейка из десятка .swf


Учитывая то, дозагрузку файлов, которую я комментировал выше и ваш отчет, я на скорую руку набросил примерную структуру SWF файла (созданного программой PPT2Flash Professional), как я ее вижу. Могут быть ошибки, конечно:

http://www.jpeg.cz./images/2017/04/15/gzV2.jpg

Получается, осталось найти способ добраться до всех зависимых SWF файлов + картинок неизвестного назвачения (известных благодаря отчету gazlan), чтобы получить все картинки/строки из ориг. презентации. Попробую этого достить в ближайшее время




Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 16 апреля 2017 01:29 · Поправил: -=AkaBOSS=-
· Личное сообщение · #8

alexholi6 пишет:
попробовал поискать header-ы PPT, PPTX и других файлов типа презентация

хосспадя да нету их там, всё уже сконвертировано
и между прочем, эти файлы лежат в стандартном OLE контейнере, сигнатуры "PPT" там нет в принципе.

alexholi6 пишет:
Что характерно, по второй ссылке есть докачиваемые файлы, а по первой не докачивается ничего

по второй ссылке имеется чисто файл-плеер, а по первой - вся презентация, всё необходимое в неё уже вшито в оверлей
если плеер не находит в своём теле нужную сигнатуру, тогда он пытается читать нужные файлы из той же директории, где находится он сам.

alexholi6 пишет:
я на скорую руку набросил примерную структуру SWF файла

чушь и ересь. смотрите код в этом же SWF файле - сначала он догружает сам себя и читает что может, в процессе ищется сигнатура "=-*#^", от неё начинается чтение контента по сигнатурам:

'.lag' - texts.xml // D_LANGUAGE_XML
'.xml' - swfs.xml // D_SWFS_XML
'.mst' // D_MASTER
'*sld' // D_SLIDE_START
'.sle' // D_SLIDE
'*end' // D_END
'.bgr' // D_BG
'.slt' // D_SUO_TU
'.mp3' // D_SOUND
'.jpg' // D_LOGO_PIC
'.prm' // D_PW_PRM
'.fls' // D_O_SWF
'.mst' // D_MASTER
'.bgs' // D_BGSOUND



Ранг: 1.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 17 апреля 2017 12:40
· Личное сообщение · #9

Решил проблему. Распишу подробно, на случай если кому-то пригодится.

В общем, смог вытащить весь контент следующим образом:
1. С помощью cc проаналировал SWF-шник.
2. Запустил WinHEX, кинул в него мой SWF, после чего долго и упорно нарезал оттуда весь найденый контент и сохранил его по файлам. Нарезанные файлы надо сохранять по принципу %порядровое число файла%.%предположительный формат% . Теперь о том, как резать:
* В принципе резать надо с адреса начала [контента 1] до адреса [контента 2] минус один. Но тут, конечно, надо включать мозг иногда.
- Во-первых, например, если согласно отчету, вы имеете начало XML-контента с "бла-бла-бла символы <xml", то конечно переводим каретку на место реального начала контента
- Во-вторых, аналогично, если у вас, например, контент закачивается на "</script> бла
-бла символы, не имеющие отношения к XML", то опять же, переводим каретку на реальный конец контента
- В-третьих, если у вас [контент 2] - это что-то ясно часть [контента 1] (например, число 2.5 в XML триггерится CC как что-то новое), то тогда надо идти с [контента 1] до адреса [контента 3] минус один, если [контент 3] - это опять не что-то, что ясно часть нашей вырезки. По идее, можно заставить CC игнорировать такие вещи, но мне проще просто включать мозг во время вырезки
- В-четвертых, если у вас контент кончается на символах "=-*#^ %формат файла%", то целесообразно откатить каретку назад (на адрес, который идет до начала этих символов), ибо эти символы есть ни что иное, как сигнатура начала следующего контента для PPT2Flash (спасибо -=AkaBOSS=- )
- В-пятых, учитывайте, что у вас может быть еще какие-нибудь подводные камни, поэтому включаем мозг .
3. С помощью Sothink SWF Decompiler последней версии от 2014 года из нарезанных SWF с помощью опции Multi-File Export экспортировал картинки и текст. Тот почему-то вылетает, если на больших файлах поставить галку на экспорте Sprites из больших файлов. Но они мне и не нужны, т.к. мне нужны лишь Shapes и Images. Может быть, проблема из-за того, что я мог нарезать лишних байтов из-за незнания какого-нибудь подводного камня, но скорее всего это баг самой Sothink SWF Decompiler, т.к. она спокойно отображает Sprites в режиме просмотра.

В качестве дополнения напишу из полученного опыта как предположительно можно восстановить структуру распакованного контента (так, чтобы можно было запустить). Сильно сдаваться не пытался, ибо мне сильно оно и не нужно, однако мало ли, может кому пригодится.

Сначала (с адреса 0x00000000) идет основной плеер размером примерно в 250 кб. Далее идут XML-файлы "texts.xml" и "swfs.xml". Они должны иметь кодировку UTF-16 (это вы заметите так: после каждого символа идёт байт "00"). Далее идут служебные картинки "logo.jpg" и "photo.jpg". Далее идут: один XML, закодированный в UTF-8 и несколько SWF. Для чего XML я не разобрался (он может быть частью предыдущего SWF), а вот SWF-ы идут последовательно в порядке того, как они впервые указываются в тэге "filename", в файле swfs.xml (т.е. если один и тот же SWF снова указывается в XML, это не значит, что следующий файл тоже с таким именем).


 eXeL@B —› Крэки, обсуждения —› PPT2Flash Professional - Вытаскивание PPT файла
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати