it-swarm.com.de

Wie extrahiere ich Bilder aus einer SWF-Datei?

Ich habe ein Flash-Objekt in einer SWF-Datei. Es enthält ein Bild, das ich extrahieren muss, sodass ich es direkt für Geräte verwenden kann, die Flash nicht unterstützen.

Wie kann ich das Bild aus der SWF-Datei extrahieren? Welche Tools sollte ich verwenden?

19
pri_dev

Nun, das hängt von der Situation ab. In jedem Fall benötigen Sie eine Möglichkeit, das Bild in der Datei, auch Symbol genannt, zu identifizieren.

Fall 1. Einbetten

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

Fall 2. Laufzeit

(Dieser Code wird ausgeführt, sobald der Loader Ihre SWF-Quelldatei geladen hat.)

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

Ich hoffe es hilft

3
Mc-

Es gibt ein Open Source Toolkit , das für den Job ziemlich gut funktioniert. Unter Windows müssen Sie das Installationsprogramm als Administrator ausführen, oder es wird beendet. Fügen Sie dann den Ordner Ihrem PATH hinzu (oder nicht) und Sie können JPEG-Dateien herausziehen. Zuerst:

swfextract /path/to/file.swf

dadurch werden alle Assets in der Datei aufgelistet. Beachten Sie in diesem Fall die IDs im JPEG-Bereich. Dann für jede ID laufen

swfextract /path/to/file.swf -i id -o name-of-my-new-file.jpg
25
Tom

Ich stimme der Verwendung des Open Source-Toolkits zu, wie er von Tom beantwortet wurde.

Um die Tools zu erstellen und unter Linux/Mac zu installieren, verwenden Sie diese Befehle wie im wiki angegeben

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

Hier ist der Befehl zum Extrahieren aller Assets:

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

Wie in dieser Wiki-Seite angegeben .

7
Mark C Mitchell

Eine Alternative zu SWFTools (in den Antworten oben erwähnt) ist JPEXS FFDec , ein SWF-Dekompiler und -Editor. Der Hauptvorteil besteht darin, dass Sie eine Vorschau der Bilder anzeigen können, bevor Sie sie extrahieren. Es ist auch etwas einfacher zu bedienen, da es sich um ein GUI-Tool handelt.

Wenn Sie eine Datei in FFDec geladen haben, klicken Sie im Seitenbaum auf den Abschnitt "images". Um ein Bild zu extrahieren, klicken Sie mit der rechten Maustaste darauf und wählen Sie "Auswahl exportieren" und dann "OK". Sie können mehrere Elemente auswählen (in der Galerieansicht und im Seitenbaum) und diese gleichzeitig extrahieren. Um alle Bilder zu extrahieren, klicken Sie mit der rechten Maustaste auf "Bilder" im Seitenbaum und verwenden Sie "Auswahl exportieren". Die Ergebnisse werden in einem neu erstellten Ordner "images" gespeichert.

0
MultiplyByZer0