SWF dekompiliavimas

flash

Cia parodysiu kaip galima istraukti norima objekta is SWF (Flash) failo labai paprastai, ant Linux ir Windows.
Sioje pamokoje naudosiu http://z0r.de/527 kaip pavyzdy.

1. Irankiai ir is kur juos gauti.
2. Kaip gauti SWF (Flash) faila.
3. Istraukimas ant Windows.
4. Istraukimas ant Linux.

1. Irankiai ir is kur juos gauti.

Windows’sams “wget” galima gauti is cia: wget-1.11.4-1-setup.exe
TamperData: /addon/966/
SWFTools (linuxams): swftools
SWF Decompiler (Windows): http://www.mediafire.com/?iesfvk39bh191by

2. Kaip gauti SWF (Flash) faila.

Galima trim budais kurie man atrodo labai paprasti.
Galima ziureti per source ir lengvai surasti, nebent tas flashas kurio mums reike yra kraunamas per kita flasha o tas flashas dar per dievas zino kur, dar jai linku yra daug… Tokiu atveju as naudoju FireFox addon’a – “TamperData“.

a) Ziurint per source:
Atsidarius puslapio koda pradedam ieskoti kur gali sleptis tiesiogine nuoroda y flasha. Jai puslapis didelis tai geriau naudoti paieska, bet tada turi zinoti ko ieskai.
Jai puslapis nedidelis, kaip musu atveju, tai be didesniu pastangu matosi toks kodas, tiesiai po tag’u:

<div id="flashloop">
    <object type="application/x-shockwave-flash" data="/L/z0r-de_527.swf" width="600" height="450">
    <param name="autostart" value="true" />
    <param name="src" value="/L/z0r-de_527.swf" />
    </object>
</div>

ir iskarto pasidaro aisku kad musu norimas failas slepesi: http://z0r.de/L/z0r-de_527.swf

b) Naudojant “TamperData”:
Atsidarom “TamperData”, irasom linka y musu puslapy – http://z0r.de/527 ir paspaudus ENTER ziurim kas vyskta. Tiksliau – lauiam kol uzkraus puslapis musu norima flash’a ir galesim parsisiusti.
Jai primeta daug visokio meshlo (nes gaudo viska ka puslapis krauna), tai y “Filter” irasom “swf” ir turim:

c) Tools -> page info -> media
Kai uzsikrauna puslapis, spaudziam “Tools -> page info -> media” ir susirandam kur yra musu flashas. Spaudziam ant jo ir spaudziam apacioj “Save as…”.

Dabar kai jau turim tiesiogine nuoroda – reike ji mums parsisiusti. Tam naudosim sena gera “wget” kuris ateina kartu su sistema ant linuxu.

Taigi i konsole (cmd) rasom:
wget http://z0r.de/L/z0r-de_527.swf -O Desktop/kulverstukas.swf

3. Istraukimas ant Windows.

3.1. Atsidarom SWF dekompiliatoriu ir uzkraunam savo norima swf faila.
3.2. Desineje puseje galima pasirinkti ka norime istraukti is swf failo, tarkim kad ir garsa, nes grazi melodija groja tai isskleidziam “Sound” foldery ir pasirenkam garsa. Kartais gali buti daugiau nei vienas. Galima istraukti ir daugiau vienu metu nei viena faila.

3.3. Nu ka jau viska ka norim – pazymejom, dabar telieka israuti. Spaudziam “Export resource”, pasirenkam kur norim issaugoti (jai pasirodys lentele – spaudziam YES) ir viskas.
3.4. Jaigu norim pakeisti filmuko eiga, ar modifikuojant flash zaidima ar panasiai, galima laisvai perziureti jo visa koda, kad ji suprasti aisku reike moketi “Flash” kalba. Visi skriptai bus “Action” folderyje.

4. Istraukimas ant Linux.

Linuxuose atliksime viska komandineje eiluteje, gali pasirodyti kiek sudetinga, tacia viskas taip pat paprasta kaip ant windows. Naudosime iranky “swfextract” ir “swfdump” kurie ateina pakete “swftools”.

Pradedam nuo to, kad reike issiaiskinti objektu, kuriuos norime istraukti ID numerius. Tam naudosim “swfdump” ir “swfextract”.

I terminala rasom:
swfdump -D Desktop/kulverstukas.swf
-D – parodys viska apie musu faila.

Ta paty galima atlikti ir su “swfextract”. Tiesiog irasom:
swfextract kulverstukas.swf

ir matom viska apie faila:

matom kad musu garso ID yra 3. Dabar jamam “swfextract” ir rasom taip:
swfextract -s 3 Desktop/kulverstukas.swf -o Desktop/kulverstukas.mp3

Jai viskas pasiseke gerai tai musu norimas garso takelis atsiras ten kur nurodem.

Ta paty galima daryti ir su paveiksleliais. Tarkim norim istraukti 17-ta kadra is swf failo, tada vel imetam komanda:
swfdump -D Desktop/kulverstukas.swf
arba
swfextract kulverstukas.swf
ir pasirenkam kadra, galima traukti ir visus (1-n), ir rasom:
swfextract -p 12 Desktop/kulverstukas.swf -o Desktop/kulverstukas.png

Vsio :)

Leave a Reply

Your email address will not be published. Required fields are marked *