Обзор программ для работы с Flash-технологией
Часть 4. Средства извлечения Flash-компонентов и декомпиляции SWF-файлов
SWF Decompiler MX 2004 Pro 40220
ак известно, Macromedia Flash дает разработчику возможность хранить информацию в виде исходных файлов (файлы с расширением FLA), в которых видна структура разработки (информация о слоях и т.п.), и в виде компактных SWF-файлов, которые содержат минимум информации и предназначены для размещения в Сети. Во FLA-файлах содержится ноу-хау разработчика, поэтому FLA-файлы выкладываются в Сеть только в том случае, если автор хочет поделиться своими знаниями. После того как автор компилирует исходный FLA-файл в SWF-файл, вся избыточная информация, в том числе и информация о структуре документа, пропадает. SWF-файл можно импортировать во Flash, но при этом не удастся восстановить структуру документа без специального дополнительного ПО. Более того, если автор не хочет, чтобы его творение кто-то импортировал во Flash с целью извлечения доступных для редактирования ресурсов, то на стадии компиляции автор может задать пароль, который предотвратит импортирование SWF-файла во Flash.
То, что одни пользователи хотят защитить свои ресурсы, а другие, наоборот, вскрыть их, привело к появлению целого ряда программ, содержащих средства снятия защиты (и установки собственной), извлечения ресурсов и декомпиляции кода Action Script.
Современный Action Script является полнофункциональным языком программирования, позволяющим описывать весьма сложные сценарии, поэтому в случае потери кода восстановление его занимает довольно много времени, а программа-декомпилятор позволяет существенно снизить временные затраты при восстановлении утраченного кода. Одни пользователи используют такие программы, чтобы восстановить собственные ресурсы, другие — чтобы усовершенствовать свои навыки программирования во Flash на чужих примерах, а третьи — чтобы присвоить чужие ресурсы. Теоретически возможна ситуация, когда автор потерял свой исходный FLA-файл и ему нужна программа-декомпилятор, однако в подавляющем большинстве случаев эти программы используются для ознакомления со структурой чужой разработки и для экспорта чужих ресурсов.
Надеемся, читатель сам определит для себя способы применения подобных программ, мы же перейдем к описанию их возможностей.
Action Script Viewer 4.06
Разработчик: Manitu Group (http://www.manitugroup.com)
Сайт программы: http://buraks.com/asv
Размер дистрибутива: 1286 Кбайт
Способ распространения: shareware
Цена: 59,95 долл.
Работа под управлением: Windows 95/98/Me/NT/2000/XP
По всей видимости, Action Script Viewer — наиболее мощное приложение из нашего обзора. Программа позволяет извлекать различные типы ресурсов из одного или нескольких SWF-файлов в пакетном режиме. Все символы и слои могут быть сохранены как отдельные SWF-файлы. Растры могут быть извлечены в виде JPG/PNG-файлов, а звуки — в виде WAV/MP3-файлов. Программа позволяет открывать SWF-файлы, внедренные в EXE-проекторы, менять базовые параметры кадра (такие как размер окна и скорость смены кадра) и многое другое. Поддерживаются SWF-версии 3, 4, 5, MX и MX 2004. Наглядное представление о работе программы дает вид панели Timeline View Tab, которая показывает внутреннюю структуру реконструированных слоев (рис. 1).
Рис. 1. Панель Timeline View Tab позволяет реконструировать слои
Информация об SWF-файле может быть представлена в разном виде. Например, панель Frames Pane (рис. 2) дает сведения о каждом кадре, а панель Action Script Pane (рис. 3) отображает декомпилированный Action Script для выделенного в текущий момент объекта.
Рис. 2. Панель Frames Pane
Рис. 3. Action Script Pane
Action Script Replacer 1.0
Разработчик: Manitu Group (http://www.manitugroup.com/)
Сайт программы: http://buraks.com/asr
Размер дистрибутива: 581 Кбайт
Способ распространения: по Сети не распространяется
Цена: бесплатно для пользователей Action Script Viewer и URL Action Editor
Работа под управлением: Windows 95/98/Me/NT/2000/XP
Action Script Replacer (рис. 4) — это инструмент, позволяющий импортировать Action Script из одного SWF-файла для замены скрипта в другом SWF-файле. При этом приложение умеет открывать SWF-файлы, внедренные в EXE-проекторы.
Рис. 4. Интерфейс программы Action Script Replacer
Программа позволяет просматривать все скрипты в SWF-файле (поддерживаются SWF-версии 6/MX и ниже). Action Script Replacer дает возможность внедрять и добавлять Action Script кадра на другой кадр любой временной шкалы (Тimeline), добавлять кадры в любые временные шкалы, просматривать и модифицировать такие базовые параметры, как частота смены кадров, цвет фона и т.п.
Flare 0.5
Разработчик: Nowrap (http://www.nowrap.de)
Сайт программы: http://www.nowrap.de/flare.html
Размер дистрибутива: 96 Кбайт
Способ распространения: freeware
Цена: бесплатно
Работа под управлением: Windows All, Mac OS X и Linux
Flare это бесплатный Action Script-декомпилятор, позволяющий извлекать из SWF-файла все скрипты и представлять их в одном текстовом файле. Приложение поддерживает последнюю версию Flash MX 2004.
После инсталляции Windows-версии достаточно щелкнуть правой кнопкой мыши на любой SWF-файл в Windows Explorer, выбрать Decompile из контекстного меню — и Flare обеспечит декомпиляцию SWF-файла в обычный текстовый файл. В дальнейшем текстовый файл можно открыть в любом текстовом редакторе. Если при декомпиляции возникнут какие-либо проблемы, Flare выдаст предупреждение.
MAC OS X- и Linux-версии представляют собой приложения в виде командной строки.
Следует отметить, что Flare экспортирует только Action Script, но не умеет извлекать графику, звуки и т.п. — в отличие от многих программам данного класса.
Flash Decompiler 1.3
Разработчик: Eltima Software (http://www.show-kit.com)
Сайт программы: http://www.show-kit.com/order/flash-decompiler/
Размер дистрибутива: 3224 Кбайт
Способ распространения: shareware
Цена: 39,95 долл.
Работа под управлением: Windows 95/98/Me/NT/2000/XP
Flash Decompiler одно из наиболее быстрых и надежных средств извлечения исходных ресурсов из SWF-файлов (рис. 5). Последняя версия 1.30 появилась совсем недавно 24 мая текущего года. Программа проста в работе: одним щелчком мыши можно извлекать и сохранять звуки, изображения, кнопки, формы, шрифты, тексты, элементы Action Script из любого SWF-файла на жесткий диск. Наглядный поэлементный предпросмотр (рис. 6), дружественный интерфейс с поддержкой скинов, возможность проигрывать SWF-файлы непосредственно во Flash Decompiler, поддержка компрессии SWF-файлов и всех версий Flash все это делает инструмент удобным и востребованным.
Рис. 5. Flash Decompiler позволяет извлечь ресурсы из SWF-файла одним щелчком мыши
Рис. 6. Программа дает возможности легко извлекать и хранить звуки, изображения, формы, шрифты, кнопки, тексты и т.п.
Gordon 1.3.1
Разработчик: FutureCandy (http://www.futurecandy.com)
Сайт программы: http://www.futurecandy.com/
Размер дистрибутива: 503 Кбайт
Способ распространения: shareware
Цена: 59 долл.
Работа под управлением: Mac OS 10.1 и выше, совместима с10.2 Jaguar
Gordon один из немногих SWF-декомпиляторов, работающих под управлением Mac OS X. Недавно программа была обновлена до версии 1.3.1, в которой поддерживается новый стандарт Action Script 2.0.
Программа предоставляет следующие возможности:
• редактирование, экспорт и импорт ресурсов SWF-файла;
• экспорт в PDF и TIFF;
• предпросмотр извлекаемых ресурсов;
• поддержка Flash 3, 4, 5, MX и MX 2004;
• разделение мувиклипов, внедренных в один SWF-файл;
• обновление ранее опубликованных SWF-файлов в компрессированный или некомпрессированный MX-формат;
• установка и снятие защиты на SWF-файлы, изменение размеров кадра фильма, цветового фона, частоты смены кадров без доступа к FLA-файлу;
• шкала Тimeline позволяет просматривать все кадры одновременно.
INPERATOR FLA 1.6
Разработчик: Imperator GbR (www.ave-imperator.com)
Сайт программы: http://www.ave-imperator.com/index.php
Размер дистрибутива: 1071 Кбайт
Способ распространения: shareware
Цена: 79 евро
Работа под управлением: Windows 95/98/Me/NT/2000/XP
IMPERATOR FLA (рис. 7) генерирует FLA-файлы (читаемые посредством Flash MX(6) или выше) на базе SWF-файлов (скомпилированных при помощи Macromedia Flash) и таким образом позволяет изменять содержание SWF-файла даже тогда, когда соответствующий FLA-файл утерян. Программа дает возможность извлекать включенные в файл медиаресурсы (картинки, звуки, видео) и редактировать их в сторонних программах.
Рис. 7. Интерфейс программы IMPERATOR FLA
В перечень восстанавливаемых объектов входят скрипты, кнопки, параметры кадра (фон, скорость смены кадров, размеры кадра и т.п.), картинки разных типов, формы, звук, мувиклипы (MovieClips), текстовые поля и видео. Все эти ресурсы программа реорганизует во FLA-совместимом виде (FLA-compatible terms). Для того чтобы извлечь медиаресурсы, достаточно выбрать пункт Media-Extraction и определить тип извлекаемого ресурса (рис. 8).
Рис. 8. Функция Media-Extraction
Программа позволяет создавать папки внутри результирующего FLA-файла и перемещает все помеченные ресурсы (Font, Shapes, Pictures, Sounds и Videos), найденные в SWF, в соответствующие папки (рис. 9).
Рис. 9. Панель Library Folders
Функция Font To Shape Conversion обеспечивает возможность графически конвертировать весь статический текст в масштабе 1:1, даже если искомый шрифт не установлен на компьютере.
В IMPERATOR FLA также имеется функция Recovery-Protection, позволяющая добавить защитный код на выбранные SWF-файлы, запрещая конвертировать их с помощью IMPERATOR FLA.
Liatro SWF Decoder 4.5
Разработчик: Liatro, Inc. (http://www.liatro.com)
Сайт программы: http://www.liatro.com/product/swf.php
Размер дистрибутива: 812 Кбайт (30-дневная ознакомительная версия)
Способ распространения: shareware
Цена: 39 долл.
Работа под управлением: Windows 95/98/Me/NT/2000/XP
Liatro SWF Decoder позволяет просматривать, анализировать и извлекать ресурсы из SWF-файлов, включая Action Script, кнопки, формы, изображения, спрайты, тексты, шрифты, кадры и звуки. Ресурсы можно извлекать как JPEG-, MP3-, WAV-, text- или SWF-файлы.
Программа SWF Decoder проста в работе: надо лишь щелкнуть мышью по анализируемому SWF-файлу, и во встроенной панели произойдет декодирование фильма и будет сгенерировано дерево, отображающее структуру файла. Вы можете экспортировать любой элемент из этого дерева, а также просмотреть выделенные элементы на базе встроенного Flash-плеера. SWF Decoder поддерживает Flash версии 3, 4, 5 и MX.
Программа позволяет извлекать ресурсы как из SWF-, так и из ЕХЕ-файлов.
SWF Decompiler MX 2004 Pro 40220
Разработчик: SourceTec Software (http://www.sothink.com)
Сайт программы: http://www.sothink.com/flashdecompiler/index.htm
Размер дистрибутива: 2192 Кбайт
Способ распространения: shareware
Цена: 40 долл.
Работа под управлением: Windows 95/98/Me/NT/2000/XP
SWF Decompiler это инструмент для просмотра и анализа SWF-файлов, позволяющий извлекать формы, изображения, звуки, Flash Video (файлы в формате FLV), шрифты, тексты, мувиклипы и декомпилировать Action Script, переводя его в аккуратный, легко читаемый код (рис. 10). В последней версии (MX 2004 Pro 40220) SWF Decompiler поддерживает Flash MX 2004 и Action Script 2.0. Программа позволяет просматривать как SWF-, так и автономные ЕХЕ-файлы.
Рис. 10. Интерфейс программы SWF Decompiler
После инсталляции SWF Decompiler в панели Internet Explorer появляется кнопка SWF Catcher, посредством которой можно вызывать все функции программы.
SWF Decompiler позволяет отображать компоненты фильма по группам (формы, шрифты, тексты, спрайты, кнопки и т.п). Декомпилированный код выдается с подсветкой синтаксиса.
С помощью программы можно искать SWF-файлы на жестком диске, в Сети или в кэше Internet Explorer и проигрывать их во встроенном плеере.
SWF Extractor 2.2
Разработчик: GlobFX (http://www.globfx.com/)
Сайт программы: www.globfx.com/products/swfre/
Размер дистрибутива: 691 Кбайт
Способ распространения: shareware
Цена: 25 долл.
Работа под управлением: Windows 95/98/Me/NT/2000/XP
SWF Extractor позволяет извлекать изображения и звуки из SWF-файлов. Изображения извлекаются как JPEG- или PNG-файлы, а звуки как MP3- или WAV-файлы.
SWF Extractor поддерживает Macromedia Flash 3, 4, 5 и MX-форматы.
Программа имеет режим предпросмотра Detailed List (рис. 11).
Рис. 11. Режим просмотра Detailed List
Одним щелчком мыши можно просматривать изображения и звуки, не обращаясь к внешним средствам просмотра (рис. 12).
Рис. 12. Режим просмотра с иконками Thumbnail
SWF Scanner 2.6.3
Разработчик: Live Tronix (http://www.livetronix.com)
Сайт программы: http://www.livetronix.com/products/swfscanner/index.php
Размер дистрибутива: 782 Кбайт
Способ распространения: shareware
Цена: 19,99 долл.
Работа под управлением: Windows 95/98/Me/NT/2000/XP
SWF Scanner это удачное решение на случай, если вы потеряли свои исходники. Программа позволяет редактировать некоторые элементы SWF-файла, а также извлекать Action Script (рис. 13), изображения и звуки из SWF-файла (рис. 14). Программа проста в работе и не требует обучения. SWF Scanner 2.5 поддерживает стандарт Flash 5 Action Script.
Рис. 13. Пример извлечения Action Script
Рис. 14. Пример извлечения ресурсов из SWF-файла
Программа позволяет изменять размер кадра и скорость смены кадра без FLA-файла.
Если вам нужно, например, обновить корпоративный логотип или изменить какое-то изображение в Flash-презентации, а исходника нет, то SWF Scanner предлагает простое решение: все, что нужно сделать, — это выбрать файл, который вы желаете заменить, указать новый файл на жестком диске и нажать кнопку Replace and Save (рис. 15).
Рис. 15. Функция смены изображений
При использовании незарегистрированной версии все извлеченные изображения будут иметь метку — красный крест.
Unlock SWF 3.0
Разработчик: Manitu Group http://www.manitugroup.com/
Сайт программы: http://buraks.com/swifty/
Размер дистрибутива: 322 Кбайт
Способ распространения: freeware
Цена: бесплатно
Работа под управлением: Windows 95/98/Me/NT/2000/XP
UnlockSWF это утилита (рис. 16), позволяющая удалить/переустановить защиту от импорта (Protect from Import) на SWF-файл. С помощью Unlock SWF можно открывать компрессированные SWF-файлы и сохранять их как SWF-версии 6 (в компрессированном и некомпрессированном виде).
Рис. 16. Интерфейс утилиты Unlock SWF
При экспорте фильма с помощью Macromedia Flash предоставляется опция Protect from Import для защиты SWF- файла паролем. Flash не позволит импортировать SWF-файл, который был экспортирован с данной защитой, или потребует пароля перед импортированием. Если вы потеряли исходный FLA-файл (обычно SWF доступен всегда, так как хранится на Web), но при экспорте вы указали защиту и забыли пароль, то импортировать SWF-файл во Flash без снятия защиты вы уже не сможете. UnlockSWF позволяет снять защиту с SWF-файла или удалить возможность импорта по паролю: Flash не будет спрашивать пароль и не будет импортировать SWF. Вы также можете добавить защиту на незащищенный SWF, и тогда Flash не будет импортировать SWF.
Swifty Hercules 2.1
Разработчик: Manitu Group
Сайт программы: http://buraks.com/swifty
Размер дистрибутива: 288 Кбайт
Способ распространения: freeware
Цена: бесплатно
Работа под управлением: Windows 95/98/Me/NT/2000/XP
Swifty Hercules это небольшое Windows-приложение утилита, позволяющая извлекать мувиклипы (Movie Clips) из SWF-файла как отдельные SWF-файлы.
Программа поддерживает SWF-версии до шестой включительно.
Swifty Xena Pro 1.4
Разработчик: Manitu Group
Сайт программы: http://buraks.com/swifty
Размер дистрибутива: 156 Кбайт
Способ распространения: freeware
Цена: бесплатно
Работа под управлением: Windows 95/98/Me/NT/2000/XP
Swifty Xena извлекает ресурсы из SWF-файлов, включая Flash.exe, Aftershock.exe, projector-файлы и Director movie-файлы. Программа позволяет заменять исполняемый файл (или фильм) другим SWF-файлом.
Swifty Zeus 2.1
Разработчик: Manitu Group
Сайт программы: http://buraks.com/swifty
Размер дистрибутива: 288 Кбайт
Способ распространения: freeware
Цена: бесплатно
Работа под управлением: Windows 95/98/Me/NT/2000/XP
Swifty Zeus позволяет извлекать слои из SWF-файла как отдельные SWF-файлы, что дает возможность изучить послойную структуру документа.