Рубрика: SFW-конвертер

Сегодня не произошло ничего необычного…

Сегодня мы не сделали ничего хорошего.

Посмотрели на инструменты, которые уже существуют. В частности:

http://www.flash-to-html5.net/

http://www.swftools.org/

https://www.free-decompiler.com/flash/

Дело в том, что один из самых простых способов решить нашу проблему с онлайн SWF-конвертером — это Читать далее

Декомпиляция SWF. Часть 1 — «Распаковка»

Предполагаю, что есть ещё люди, которых интересует вопрос распаковки SWF, в то время, как oogl приостановил Swiffy и конвертить свфки онлайн, бесплатно и без СМС больше не получается.
Дано: упакованный файл .swf;
Задача: получить структуру заголовка файла.

Читать далее

Первый шаг к грандиозной цели…

Путем непродолжительного гугления была найдена спецификация SWF-файла.

http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/swf/pdf/swf-file-format-spec.pdf

Будем потихоньку разбираться, что тут к чему. Содержание файла:

  • Введение
  • Описание структуры SWF-файла
  • Отображение
  • Теги контроля
  • Действия
  • Формы
  • Градиенты
  • Bitmaps
  • Преобразование форм
  • Шрифты и текст
  • Звуки
  • Кнопки
  • Спрайты и клипы
  • Видео
  • Метадата
  • Приложение А: Анализ простого SFW-файла
  • Приложение B: Обратный порядок значений тегов

Меня больше всего заинтересовало приложение A, и я не смог удержаться от того, чтобы туда залезть сразу…

Это приложение — вкуснятина… Первое, что бросается в глаза — это содержание заголовка SWF-файла.

Заголовок SWF-содержит следующие поля:

  • Signature — сигнатура файла, «F» — несжатый, «C» — сжат ZLib, «Z» — сжат LZMA
  • Signature — сигнатура файла, всегда W
  • Signature — сигнатура файла, всегда S
  • Version — версия файла
  • FileLength — длина файла в байтах
  • FrameSize — размер фрейма в твипсах (twips)
  • FrameRate — фреймы в секунду
  • FrameCount — количество фреймов в файле

Грандиозная цель!

Была поставлена грандиозная цель — написать сервис для онлайн-конвертации SWF в HTML5.

Для этого поставлены следующие задачи:

  1. Изучить спецификацию SWF
  2. Изучить спецификацию HTML5
  3. Составить список содержимого SWF:
    1. метадата
    2. объекты
    3. сценарии
    4. и т.д.
  4. Создать алгоритм сопоставления содержимого SWF элементам HTML5, таблицам CSS или скриптам JS
  5. Реализовать созданный алгоритм на языке PHP используя фреймворк Yii 2