Как извлечь изображения из файла SWF? - PullRequest
19 голосов
/ 26 февраля 2012

У меня есть объект Flash в SWF-файле. Он содержит изображение, которое мне нужно извлечь, чтобы я мог использовать его непосредственно для устройств, не поддерживающих Flash.

Как мне извлечь изображение из SWF? Какие инструменты я должен использовать?

Ответы [ 4 ]

25 голосов
/ 06 апреля 2013

Существует набор инструментов с открытым исходным кодом , который достаточно хорошо подходит для этой работы.В Windows вам нужно будет запустить установщик от имени администратора или он умирает.Затем добавьте папку в ваш путь (или нет), и вы можете извлечь JPEG.Первый:

swfextract /path/to/file.swf

, в котором будут перечислены все активы в файле.В этом случае обратите внимание на идентификаторы в разделе JPEG.Затем для каждого идентификатора выполните

swfextract /path/to/file.swf -i id -o name-of-my-new-file.jpg
7 голосов
/ 07 июля 2015

Я согласен с использованием набора инструментов с открытым исходным кодом , на который ответил Том.

Чтобы собрать инструменты и установить на linux / mac, используйте эти команды, как указано в wiki :

tar -zvxf swftools-0.x.x.tar
cd swftools-0.x.x
./configure
make 
make install

Вот команда для извлечения всех активов:

swfextract --outputformat "extract_%06d.%s" -a 1- test.swf

Как указано на этой вики-странице .

3 голосов
/ 26 февраля 2012

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

Случай 1. Вставить

[Embed(source="assets/library.swf", symbol="AImage")]
[Bindable]
public var AImage:Class;

Случай2. Runtime

(этот код выполняется после загрузки загрузчиком исходного файла SWF)

loader.contentLoaderInfo.applicationDomain.getDefinition("AImage");

Надеюсь, это поможет

0 голосов
/ 27 октября 2018

Альтернативой SWFTools (упомянутой в ответах выше) является JPEXS FFDec , декомпилятор и редактор SWF.Его главное преимущество в том, что вы можете просматривать изображения перед их извлечением.Это также немного проще в использовании, будучи инструментом с графическим интерфейсом.

После загрузки файла в FFDec, щелкните раздел «images» в боковом дереве.Чтобы извлечь изображение, щелкните его правой кнопкой мыши и выберите «Экспорт выделения», затем «ОК».Вы можете выбрать несколько элементов (как в виде галереи, так и в боковом дереве) и извлечь их одновременно.Чтобы извлечь все изображения, щелкните правой кнопкой мыши «images» в боковом дереве и используйте «Export selection» для этого.Результаты будут в недавно созданной папке "images".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...