Сейчас на форуме: johnniewalker, NIKOLA (+7 невидимых) |
eXeL@B —› Крэки, обсуждения —› PPT2Flash Professional - Вытаскивание PPT файла |
Посл.ответ | Сообщение |
|
Создано: 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 информации вообще практически нет. Просьба вариант типа переписать/перерисовать не предлагать, т.к. нужна ИМЕННО оригинальная презентация. Спасибо заранее ;) |
|
Создано: 08 апреля 2017 19:05 · Поправил: kampaster · Личное сообщение · #2 |
|
Создано: 09 апреля 2017 00:49 · Поправил: -=AkaBOSS=- · Личное сообщение · #3 alexholi6, ну если вы думаете волшебным образом "извлечь" ppt из swf, то ничего не выйдет. флэш в данном случае не обёртка-плеер, а продукт полноценного преобразования. простого пути не будет. alexholi6 пишет: Я посмотрел внутренности сконвертированного файла с помощью Sothink SWF Decompiler и не нашел там ничего, кроме служебных картинок, шрифтов и скриптов основные данные болтаются в "оверлее", после данных самой флэшки-плеера сначала идёт xml, а потом по отдельной флэшке на каждый кадр презентации alexholi6 пишет: рискну предположить, что программа PPT2Flash написана в Китае сайт программы ничего вы не понимаете в иероглифах) alexholi6 пишет: нужна ИМЕННО оригинальная презентация эффективным решением в данном случае считаю вставить паяльник в известное место автору презентации. | Сообщение посчитали полезным: alexholi6 |
|
Создано: 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=- пишет: вставить паяльник в известное место автору презентации Не могу не согласиться)) Но прошло много времени, автора уже и след простыл, а презентация предоставляет большой исторический интерес. |
|
Создано: 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 |
|
Создано: 10 апреля 2017 07:32 · Личное сообщение · #6 alexholi6 пишет: Вот пример одного из таких файлов: http://kreativ.assistancerussia.org/multiimages/3/1214386227.swf Выглядит как склейка из десятка .swf (см. отчет 2827_10.04.2017_EXELAB.rU.tgz - 1214386227.swf.cc.7z | Сообщение посчитали полезным: alexholi6 |
|
Создано: 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), чтобы получить все картинки/строки из ориг. презентации. Попробую этого достить в ближайшее время |
|
Создано: 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 |
|
Создано: 17 апреля 2017 12:40 · Личное сообщение · #9 Решил проблему. Распишу подробно, на случай если кому-то пригодится. В общем, смог вытащить весь контент следующим образом: 1. С помощью 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 файла |