Vilka verktyg och tekniker finns för att antingen dekompilera eller analysera bytkoden i en SWF-fil? Vilka resurser finns tillgängliga för omvänd tekniker för att lära sig mer om SWF-interner?
Vilka verktyg och tekniker finns för att antingen dekompilera eller analysera bytkoden i en SWF-fil? Vilka resurser finns tillgängliga för omvänd tekniker för att lära sig mer om SWF-interner?
Det finns ett bra verktyg flasm, som är öppen källkod och innehåller både blixtmonterare och demonterare. Och flare, som är gratis men sluten källa och innehåller flash-dekompilator. Det verkar som att båda är övergivna (senaste uppdatering från 2007) och inte har något stöd för ActionScript 3, men kanske någon kan utöka dem.
Först rekommenderar jag att du läser igenom specifikationerna för SWF-filformat och ActionScript. Jag skulle inte rekommendera att läsa allt (det blir tråkigt). Bara de första tre eller fyra kapitlen. Detta hjälper till att ha en kunskapsbas för strukturen och nyckelorden. Här är de två jag skulle rekommendera.
SWF-filformat PDF, ActionScript Virtual Machine 2 (AVM2) Översikt PDF
När du har en kunskapsbas ut några inlägg på Flash Exploits. Här är en lista med inlägg i ingen särskild ordning eller värde 1, 2, 3, 4, 5, 6, 7. Att söka i RE Reddit är också en annan bra resurs för SWF / Flash-analys.
På gott och ont har mycket bra arbete utförts av exploateringsgemenskapen för omvänd teknik SWF / ActionScript / Flash / etc. Där rekommenderar jag ett antal forskare att google förfölja deras arbete. Haifei Li är en anmärkningsvärd individ. En snabb google-sökning efter filtyp: PDF + "Haifei Li" ger upp många bra resurser. Exempel: länk.
Om du är trött på att läsa rekommenderar jag att du laddar ner några prover. Contagiodump är ett bra ställe att ta prover på. Vanligtvis har provet rätt CVE-nummer. Detta kan vara till hjälp eftersom en snabb google av CVE-nummer + "analys" gör att du kan göra den hemma följa med versionen. Naturligtvis behöver du verktyg. Jag personligen skulle rekommendera REMnux av Lenny Zeltser. Nästan alla verktyg som listas i den här tråden är redan installerade i den. Om du arbetar med SWF-filer inbäddade i dokument rekommenderar jag xxxswf.py för att extrahera dem. Källkoden är inte så dåligt kommenterad så det kommer att ge dig lite grunder om filstrukturen. Ansvarsfriskrivning: mitt verktyg.
Ett par verktyg som inte är listade som jag skulle rekommendera är Flash Decompiler av Trillix och Yogoda. Båda dessa verktyg är för Windows.
Används SWFWire Debugger en gång för att extrahera en AES-nyckel från ett flashspel. Det kan spåra funktioner och deras parametrar under körning. Jag tycker det är väldigt användbart.
Kolla in Sebastian Porsts arbete [1] (se i synnerhet katalogen / slides för en översikt, och sedan kan resten av koden hittas från roten).
Det finns ett IDA Pro-plugin som låter dig demontera SWF-filer precis som alla andra körbara.
Det finns redan många verktyg för att göra detta, gör bara en snabb google-sökning.
Ett exempel skulle vara asdec
Här är också en återkommande fråga "gör-en-actionscript-decompiler-get-actionscript-from-dynamically-linked-as-file"
Också Gnash och Lightspark är open source-implementeringar av flash som borde vara intressanta.
Jag har tidigare använt SWFTools ( http://www.swftools.org) för swf-filanalys.
swfextract-verktyget i det paketet gör att du kan extrahera alla slags artefakter från en swf-fil.
Swfdump-verktyget i samma paket kan ta isär alla versioner av ActionScript (v1-3). Det fina med swfdump är att det visar produktionen i läsbart p-kodformat som hjälper mycket med analys.
Det finns också kommersiella dekompilatorer som Sothink SWF Decompiler och Flash Decompiler Trillix. Jag har ingen erfarenhet av att använda dem och kan inte rekommendera hur bra de fungerar.
Om du mest bryr dig om råkoden kan jag rekommendera dig RABCDAsm
https://github.com/CyberShadow/RABCDAsm
Detta kommer att generera mycket användbar Actionscript bytecode och låter dig också korrigera den.
Jag gillar verkligen Sothinks Flash Decompiler. Även om det är kommersiellt är det verkligen värt det om du ibland omvandlar flash-filer.
Den fullständiga versionen (som jag äger och använder) kan dekompilera hela SWF-filer tillbaka till FLA, stöder de senaste versionerna av AS (när andra gratis verktyg var inte), låter dig ändra och köra SWF-filer samt skapa en modifierad SWF-version, tillåter redigering av alla resurstyper (inte bara kod) och har ett fullständigt funktionsrikt GUI.