Взлом Файлов Flash: Декомпилятор SWF в FLA, Или Как Разобрать Flash

в рубрике 

Рабочее окно декомпилятора "Sothink SWF Decompiler"Дайте угадаю: если вы каким-либо образом связаны с платформой Flash, то при виде очередной качественной игры или анимированного мультфильма вас наверняка не раз посещали крамольные мысли — а что там, внутри SWF-файла? Возможно ли декомпилировать SWF и добраться до ресурсов и кода, сокрытых внутри, узнать, как это всё работает и как устроено на уровне исходников?

И хоть "взлом Flash" — черезчур громкое выражение, тем не менее, оно передаёт суть нашего желания — получить доступ к тому, что изначально должно было оставаться скрытым. Возможность заглянуть в исходные файлы любой "флешки", декомпилировать её неиллюзорно может помочь начинающему программисту, да и вообще любому разработчику в целом. Итак, как же декомпилировать Flash и распотрошить файл в формате SWF?..

На самом деле, всё до безобразия [относительно] просто — достаточно воспользоваться любым декомпилятором SWF файлов, кои в достаточном количестве представлены на рынке программного обеспечения. Целью данной заметки не является какое-либо обучение непосредственно взлому, а скорее — информирование о принципиальной возможности "вскрытия" флешек, так что те продвинутые читатели, которым уже известно о существовании подобных декомпиляторов, найдут данную запись слишком поверхностной. Остальным же читателям предлагаю продолжить чтение и познакомиться с главным героем.

Sothink SWF Decompiler — Декомпилятор Flash

Итак, встречайте - Sothink SWF Decompiler, декомпилятор конвертер SWF в FLA, ночной кошмар флешера и сладострастное утешение любопытного разработчика в одном лице, или точнее будет сказать — в одном установочном файле. 

Данная программа позволяет с лёгкостью делать то, о чём говорится в названии заметки — разбирать Flash файлы на составляющие. 

Среди основных возможностей шестой, наиболее свежей версии, можно выделить:

  • Конвертирование SWF в FLA
  • Конвертирование SWF в FLEX
  • Извлечение SWF-элементов
  • Извлечение SWF из EXE
  • Поддержка Flash CS3/CS4/CS5
  • Поддержка ActionScript 2.0/3.0
  • Поиск в исходном коде ActionScript
  • Предпросмотр и экспорт ресурсов ( изображения, звуки и т.д. )

К сожалению, программа не бесплатная, однако доступна пробная версия, ну а кроме того — вы ведь знаете, где искать то, что не хочется покупать, так? shifty

Зачем Нужна Декомпиляция Flash / SWF?

Принципиальной полезностью считаю огромный образовательный ресурс, кроющийся в изучении внутренностей декомпилированных Flash игр, к примеру. Художникам может быть очень интересно взглянуть на то, как выглядит анимированный спрайт главного героя или спецэффекты от магического заклинания, программистам — как реализованы в игре "загадки" с точки зрения исходного кода — в общем, примеров использования декомпилятора Flash можно придумать огромное множество, весь вопрос в том, как он будет использован — ведь, как и любой предмет в окружающем мире, он — всего лишь инструмент, и лишь от человека зависит, в каких целях этот инструмент будет использоваться.

Кто-то скажет, что копаться в исходниках чужих игр некрасиво, однако я скажу — в учебных целях это вполне допустимо и даже полезно.

Average: 5.9 (36 votes)
Об авторе: Сергей “Treidge” Данченко

АватарСергей "Treidge" Данченко — автор блога 3DG.Me, вольный 3D-художник и разработчик игр, веб-разработчик на Drupal и человек-оркестр с опытом в некоторых других областях. Личное кредо — "хочешь сделать что-нибудь хорошо, сделай это сам". В моменты особого вдохновения пишет стихи и играет в волейбол. Основные профессиональные инструменты — Autodesk Maya, Autodesk Mudbox и Adobe Photoshop. Без ума от индюков и попугаев. Спасибо за внимание, заходите снова!

Комментарии

а у меня это Sothink даже не мог определить тип SWF файла, тупо попытался декомпилировать его на FLA, а он был написан на FLex Builder 3.0.2

А есть ли что-то более функциональное?

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

Доброго времени суток.
Декомпилировал два файла, в одном скрипт понятен, в другом похоже зашифрован каким то криптором... Что можете посоветовать в этом случае?

Если во втором файле скрипт декомпилировался, но похож на абра-кадабру - скорее всего, авторы воспользовались одним из существующих обфускаторов. Простых способов вернуть коду читабельный вид, насколько мне известно, нет. Поэтому если второй файл некритичен - я бы посоветовал забить на него. smile2 

Помогите победить флешу! Она толи защищена чем толи я чего не так делаю хз!
Смысл в чем: Есть Flash файл мне в ней нужно править ActionScript мне ее нужно русифицировать! Она с флеш чата и в ней одной находится практически весь чат! А вот как ее победить чтобы русифицировать без потери качества не знаю???
Пробывал:
Sothink SWF Decompiler
SWF Decompiler Magic
SWF Decompiler Premium
Flash Decompiler Trillix
swf scanner
SWiX
Никто из них не может де компилировать ее в рабочий исходник! хз может я чего не так делаю попробуйте сами если нетрудно файл я выложу ниже!
Только SWiX редактирует ActionScript и сохраняет в рабочую flash но она работает криво :*(
Помогите пожалуйста.
Ссылка на мой файл:

http://megashare.by/download.php?id=1075194D Мой Flash файл
http://depositfiles.com/files/uz4aaxprv Либо здесь depositfiles.com
Посмотрите что с ним можно сделать? Дайте совет?

Посмотрел, ковырнул - скорее всего да, защищена. Декомпилировать во что-то удобоваримое тоже не получилось. Если экспортировать из неё ресурсы - получится несколько сотен папок с почти одинаковыми .js-файлами по 19 кб, в которых признаков текста не нашёл. Очевидно, что авторы позаботились о том, чтобы распылить весь код на чёрт знает какое количество файлов, чтобы его нельзя было просто так вытащить и переработать под свои нужды. В общем, если и возможно с ней что-то сделать - то, как мне кажется, для этого нужны специальные знания и опыт, чтобы определить тип защиты и знать, как его обойти. К тому же не факт, что текст интерфейса хранится именно в SWF, так что для перевода изначально был выбран не тот путь.

Люди, может кто знает как отучит эту шайтан-флеху игровой автомат от домена http: //clip.gamatic.ru/ad/dolphins_dlx.zip

Сотник частенько не полностью декомпиллирует SWF файлы. А есть что-то мощнее и точнее?

Есть ещё Flash Decompiler Trillix, но насколько он мощнее и точнее — судить не возьмусь, ибо не знаком. Не забывайте только о том, что во многих случаях восстановить на 100 % точный исходный код на практике крайне сложно, и чем сложнее флешка — тем сложнее это сделать.

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

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

Хм...а у меня флэш нормально импортирует swf файлы) Вот, только звука нету...а так всё норм)
А если не может, то делаю так:
Распаковываю .swf 7zip-ом, редактирую 1 байт через winhex и всё нормально переваривается)

можно поподробней про 7zip и hex как все делать, что я с ними только не делал, никак не получается открыть один файл

а беретесь ли вы править SWF файлы - есть открытка флеш в нее нужно внести изменения
исходник
 

URL(http://www.allianz.ru/8marta/MarchPostcard_v04.swf)

 

Здравствуйте, я извлек все файлы из swf файла (картинки, тексты, кадры и т.д.). А теперь как все это собрать в один swf файл. Помогите пожалуйста, очень надо. Заранее большое вспасибо!

Adobe Flash CS 5 позволяет работать с извлеченными ресусами флеш, а также обратно компилировать в swf.

Как? У меня после распаковки swf получилось 5 папок с as файлами и 1 файл fla, открываю нужные as - правлю, сохраняю... как теперь все это перевести в swf обратно? Я открываю fla делаю экспорт и выходят ошибка framework\core\Observer.as, Line 83 1086: Syntax error: expecting semicolon before colon и framework\core\Observer.as, Line 89 1078: Label must be a simple identifier... файл как я понимаю получается калеченный ибо когда полученный этим путем swf открываешь декомпилятором там уже нет этих папок as, а лежит одинокий fla ... как правильно кодировать обратно в swf? Заранее спасибо!

После декомпиляции флэшка не работает до конца правильно. Есть ли возможность исправить ошибку, естественно платно, и результат предоставить во fla.

SNI_SVS@sibmail.com ящик к сообщению выше:)

Добрый день. Вопрос такого плана - нашел игрушку "Бомбардир". Логическая игра в стиле стимпанк, сделанная как флеш-приложение (я конечно не эксперт, и возможно ошибаюсь) и мне понравилось внутри-игровое оформление. Однако в теле папки графических файлов не обнаружил. Не подскажите чем можно было бы эту игру разобрать на винтики?

Спасибо за статью, думал совсем никак фотки не вытянуть из swf, оказывается можно)

Кто то должен заглянуть в прогу а то там может быть малвар который считывает секретные пин коды и отсылает их.
Там может быть все что угодно...
Из жадности не сделали компилятор и декомпилятор вместе в одной среде разработки.
Думали они думали...
А как узнать что там находится? А в каждом exe файле должно быть оконце которое по нажатию на клавишу показывает содержимое файла без всякого компилятора.
Другое дело локер. Закрыто от конкурентов которые все равно влезут. Нефик суда таращиться. Вон там сидят хакеры-патриоты они все откроют и наконец декомпилируют а вон там сидят со своим хобби по печатать в среде разработки. В чем их разница?
Пора искать параллельные миры где совсем другие умы все сделали как надо.
Идите вы со своими шафами и кольцами для плясок на урановом хранилище и спинмоментами цаклированными наф...
Под файлом шумит строка проги вот что бездари хотели сказать...

Copyright © 2010-2013 Сергей "Treidge" Данченко. Свяжитесь со мной, если у вас есть вопросы или предложения. Тема основана на BlogBuzz от Antsin.com