Question:
Comment procéder à l'ingénierie inverse d'un fichier SWF?
user1354557
2013-03-22 03:09:36 UTC
view on stackexchange narkive permalink

Quels outils et techniques existent pour décompiler ou analyser le bytecode dans un fichier SWF? De quelles ressources dispose le reverse engineering pour en savoir plus sur les composants internes SWF?

Quelle version d'ActionScript? Il existe deux machines virtuelles complètement différentes pour AS. Vous devez préciser. Pour commencer, je recommande de lire la norme, cela aide vraiment, mais cela peut également provoquer des cheveux tirés et d'autres réflexes étranges.
Question interessante. Quelqu'un pourrait-il donner un aperçu des informations disponibles sur le sujet de Flash RE? Des articles et autres seraient très appréciés.
Neuf réponses:
#1
+13
Anton Kochkov
2013-03-22 12:37:55 UTC
view on stackexchange narkive permalink

Il existe un bon outil flasm, qui est open-source, et contient à la fois un assembleur et un désassembleur flash. Et flare, qui est gratuit, mais de source fermée, et contient un décompilateur flash. On dirait que les deux sont abandonnés (dernière mise à jour de 2007) et ne prennent pas en charge ActionScript 3, mais peut-être que quelqu'un pourrait les étendre.

Tout comme une mise à jour, la version actuelle de Flare pour Mac est uniquement pour PowerPC.
`apt-get install flasm` fonctionne et le programme est facile à utiliser. Je le recommanderais.
#2
+11
alexanderh
2013-05-09 23:11:50 UTC
view on stackexchange narkive permalink

Tout d'abord, je recommanderais de lire les spécifications du format de fichier SWF et ActionScript. Je ne recommanderais pas de tout lire (cela devient ennuyeux). Juste les trois ou quatre premiers chapitres. Cela aidera à avoir une base de connaissances pour la structure et les mots-clés. Voici les deux que je recommanderais.

Format de fichier SWF PDF, Présentation de la machine virtuelle ActionScript 2 (AVM2) PDF

Une fois que vous avez une base de vérification des connaissances sur quelques messages sur Flash Exploits. Voici une liste de messages sans ordre ni valeur particulière 1, 2, 3, 4, 5, 6, 7. La recherche dans RE Reddit est également une autre bonne ressource pour l'analyse SWF / Flash.

Pour le meilleur ou pour le pire, la communauté des exploitants a fait beaucoup de travail pour le reverse engineering SWF / ActionScript / Flash / etc. Là, un certain nombre de chercheurs que je recommanderais à Google de traquer leur travail. Haifei Li est une personne remarquable. Une recherche rapide sur Google pour le type de fichier: PDF + "Haifei Li" vous apportera de nombreuses ressources intéressantes. Exemple: lien.

SI vous en avez assez de lire, je vous recommande de télécharger quelques exemples. Contagiodump est un bon endroit pour prélever des échantillons. En général, l'échantillon a le numéro CVE approprié. Cela peut être utile car un rapide google du numéro CVE + "analyse" vous permettra de faire la version de suivi à la maison. Bien sûr, vous aurez besoin d'outils. Personnellement, je recommanderais REMnux de Lenny Zeltser. Presque tous les outils répertoriés dans ce fil y sont déjà installés. Si vous travaillez avec des SWF intégrés dans des documents, je vous recommande xxxswf.py pour les extraire. Le code source n'est pas si mal commenté, il vous donnera donc quelques notions de base sur la structure des fichiers. Clause de non-responsabilité: mon outil.

Quelques outils non répertoriés que je recommanderais sont Flash Decompiler de Trillix et Yogoda. Ces deux outils sont destinés à Windows.

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

A utilisé SWFWire Debugger une fois pour extraire une clé AES d'un jeu flash. Il peut tracer les fonctions et leurs paramètres lors de l'exécution. Je trouve cela extrêmement utile.

Son site Web mentionne que le lecteur Adobe Flash est requis. Cela m'indique que l'application rend / lit le flash, ce qui pourrait être dangereux. Savez-vous s'il restitue le SWF?
Oui. C'est un débogueur pas un outil d'analyse statique, donc il exécutera le SWF. Mais c'est vraiment bien pour l'analyse dynamique.
@Lizz Sur ce même site Web, SWFWire fournit également [un décompilateur d'analyse statique] (http://www.swfwire.com/decompiler). Je l'ai utilisé avec beaucoup de succès pour décompiler les SWF auparavant.
#4
+6
Rolf Rolles
2013-03-22 03:53:56 UTC
view on stackexchange narkive permalink

Consultez le travail de Sebastian Porst [1] (voir en particulier le répertoire / slides pour un aperçu, puis le reste du code peut être trouvé à partir de la racine).

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

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

Il existe un plugin IDA Pro qui vous permet de désassembler les fichiers SWF comme n'importe quel autre exécutable.

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

Il existe déjà de nombreux outils pour ce faire, il suffit de faire une recherche rapide sur Google.

Un exemple serait asdec

Voici également une question répétée "does-an-actionscript-decompiler-get-actionscript-from-dynamically-linked-as-file"

Aussi Gnash et Lightspark sont des implémentations open source de Flash qui devraient être intéressantes.

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

J'ai utilisé le package SWFTools ( http://www.swftools.org) dans le passé pour l'analyse des fichiers swf.

L'outil swfextract de ce package vous permet de extraire toutes sortes d'artefacts d'un fichier swf.

L'outil swfdump dans le même package peut désassembler toutes les versions d'ActionScript (v1-3). La bonne chose à propos de swfdump est qu'il affichera la sortie au format p-code lisible par l'homme, ce qui aide beaucoup à l'analyse.

De plus, il existe des décompilateurs commerciaux tels que Sothink SWF Decompiler et Flash Decompiler Trillix. Je n'ai aucune expérience de leur utilisation et je ne peux pas recommander leur fonctionnement.

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

Si vous vous souciez surtout du code brut, je peux vous recommander RABCDAsm

https://github.com/CyberShadow/RABCDAsm

Ceci générera un bytecode Actionscript très fonctionnel et vous permettra également de le corriger.

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

J'aime beaucoup le Flash Decompiler de Sothink. Bien que ce soit commercial, cela en vaut vraiment la peine si vous faites parfois de l'ingénierie inverse des fichiers flash.

La version complète (que je possède et utilise) peut décompiler des fichiers SWF entiers vers FLA, prend en charge les dernières versions d'AS (lorsque d'autres sont gratuits tools ne l’étaient pas), vous permet de modifier et d’exécuter des fichiers SWF ainsi que de créer une version SWF modifiée, de modifier tous les types de ressources (pas seulement le code) et de disposer d’une interface graphique riche en fonctionnalités.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...