Pitanje:
Kako se obrnutim inženjeringom SWF datoteke?
user1354557
2013-03-22 03:09:36 UTC
view on stackexchange narkive permalink

Koji alati i tehnike postoje za dekompiliranje ili analizu bajt-koda u SWF datoteci? Koji su resursi dostupni obrnutom inženjeru da bi saznao više o SWF unutarnjim komponentama?

Koja verzija ActionScript-a? Postoje dva potpuno različita virtualna stroja za AS. Trebali biste navesti. Za početak preporučujem čitanje standarda, stvarno pomaže, ali može uzrokovati i čupanje kose i druge neobične reflekse.
Zanimljivo pitanje. Može li itko pružiti pregled dostupnih informacija na temu Flash RE? Radova i takvi bi bili vrlo zahvalni.
Devet odgovori:
#1
+13
Anton Kochkov
2013-03-22 12:37:55 UTC
view on stackexchange narkive permalink

Postoji dobar alat flasm, koji je otvorenog koda, a sadrži i asembler za bljesak i rastavljač. I flare, koji je besplatan, ali zatvorenog izvora i sadrži flash dekompilator. Izgleda da su oboje napušteni (posljednje ažuriranje iz 2007.) i nemaju podršku za ActionScript 3, ali možda bi ih netko mogao proširiti.

Baš kao i ažuriranje, trenutna verzija Flare za Mac samo je za PowerPC.
`apt-get install flasm` radi, a program je jednostavan za upotrebu. Preporučio bih.
#2
+11
alexanderh
2013-05-09 23:11:50 UTC
view on stackexchange narkive permalink

Prvo bih preporučio čitanje specifikacija formata SWF datoteke i ActionScript-a. Ne bih preporučio čitati sve (postaje dosadno). Samo prva tri ili četiri poglavlja. To će vam pomoći da imate temelj znanja za strukturu i ključne riječi. Evo dvije koje bih preporučio.

SWF format datoteke PDF, Pregled ActionScript Virtual Machine 2 (AVM2) PDF

Jednom kada imate osnovu za provjeru znanja iz nekih objava na Flash Exploits. Evo popisa postova bez određenog redoslijeda ili vrijednosti 1, 2, 3, 4, 5, 6, 7. Pretraživanje RE Reddita također je još jedan dobar resurs za SWF / Flash analizu.

U dobru ili zlu puno je velikog posla napravila exploit zajednica za obrnuti inženjering SWF / ActionScript / Flash / itd. Nekoliko istraživača preporučio bih da Google progoni njihov rad. Haifei Li jedna je značajna osoba. Brzo traženje tipa datoteke na Googleu: PDF + "Haifei Li" dovest će do puno sjajnih resursa. Primjer: veza.

AKO vam je mučno čitati, preporučio bih preuzimanje nekih uzoraka. Contagiodump dobro je mjesto za uzimanje uzoraka. Uzorak obično ima odgovarajući CVE broj. Ovo može biti korisno jer će vam brzi Google CVE-broj + "analiza" omogućiti da pratite verziju kod kuće. Naravno, trebat će vam alati. Osobno bih preporučio REMnux autora Lennyja Zelcera. Gotovo svi alati navedeni u ovoj niti već su instalirani u njemu. Ako radite sa SWF-ovima ugrađenim u dokumente, preporučio bih xxxswf.py za njihovo izdvajanje. Izvorni kod nije toliko loše komentiran, pa će vam dati neke osnove o strukturi datoteke. Izjava o odricanju odgovornosti: moj alat.

Nekoliko alata koji nisu navedeni, a preporučio bih Flash Decompiler tvrtke Trillix i Yogoda Oba su alata za Windows.

#3
+8
samuirai
2013-03-22 06:00:33 UTC
view on stackexchange narkive permalink

Jednom korišten SWFWire Debugger za izdvajanje AES ključa iz flash igre. Tijekom izvršavanja može pratiti funkcije i njihove parametre. Smatram da je izuzetno korisno.

Njegova web stranica spominje da je potreban Adobe Flash player. To mi govori da aplikacija zapravo prikazuje / reproducira bljeskalicu, što može biti opasno. Znate li da li to prikazuje SWF?
Da, ima. To je program za otklanjanje pogrešaka, a ne alat za statičku analizu, stoga će pokretati SWF. Ali to je stvarno lijepo za dinamičku analizu.
@Lizz Na toj istoj web stranici SWFWire također nudi [dekompilator statičke analize] (http://www.swfwire.com/decompiler). I prije sam ga s velikim uspjehom koristio za dekompiliranje SWF-ova.
#4
+6
Rolf Rolles
2013-03-22 03:53:56 UTC
view on stackexchange narkive permalink

Pogledajte rad Sebastiana Porsta [1] (posebno pogledajte direktorij / slides za pregled, a zatim ostatak koda možete pronaći iz korijena).

[1] https://github.com/sporst/SWFREtools

#5
+3
Martin
2013-05-09 18:46:06 UTC
view on stackexchange narkive permalink

Postoji dodatak IDA Pro koji vam omogućuje rastavljanje SWF datoteka baš kao i bilo koje druge izvršne datoteke.

#6
+2
cb88
2013-03-22 03:45:49 UTC
view on stackexchange narkive permalink

Već postoji mnogo alata za to, samo brzo pretražite Google.

Primjer bi mogao biti asdec

Evo i objavljenog pitanja "does-an-actionscript-decompiler-get-actionscript-from-dynamic-linked-as-file"

Također Gnash i Lightspark su implementacije flash-a otvorenog koda koje bi trebale biti zanimljive.

#7
+2
rev
2013-03-24 17:21:37 UTC
view on stackexchange narkive permalink

U prošlosti sam koristio SWFTools ( http://www.swftools.org) paket za analizu swf datoteka.

Alat swfextract u tom paketu omogućuje vam izvući sve vrste artefakata iz swf datoteke.

Alat swfdump u istom paketu može rastaviti sve verzije ActionScript-a (v1-3). Lijepa stvar kod swfdumpa je što će izlaz prikazati u čitljivom formatu p-koda koji jako pomaže u analizi.

Također, postoje komercijalni dekompajleri poput Sothink SWF Decompiler i Flash Decompiler Trillix. Nemam iskustva s njihovom upotrebom i ne mogu preporučiti koliko dobro funkcioniraju.

#8
+2
Carraway
2016-10-31 04:18:26 UTC
view on stackexchange narkive permalink

Ako vam je najviše stalo do sirovog koda, mogu vam preporučiti RABCDAsm

https://github.com/CyberShadow/RABCDAsm

Ovo generirat će vrlo izvedljiv bajtkod ActionScript, a također vam omogućuje da ga popravite natrag.

#9
+1
NirIzr
2016-10-30 03:14:49 UTC
view on stackexchange narkive permalink

Jako mi se sviđa Sothinkov Flash Decompiler. Iako je komercijalno, stvarno se isplati ako povremeno inženjerirate flash datoteke.

Puna verzija (koju posjedujem i koristim) može dekompilirati cijele SWF datoteke natrag u FLA, podržava najnovije verzije AS-a (kada su druge besplatne alati nisu bili), omogućuje vam izmjenu i pokretanje SWF datoteka, kao i stvaranje izmijenjene SWF verzije, omogućuje uređivanje svih vrsta resursa (ne samo koda) i ima potpuno razvijen GUI bogati značajkama.



Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 3.0 licenci pod kojom se distribuira.
Loading...