Catatan: Instruksi berikut adalah untuk Python3.
Jika Anda perlu menginstal flashmingo di python2.7, Anda dapat memeriksa rilis 1.0 di bawah tab Rilis . Langkah -langkah instalasi pada dasarnya sama.
Instal paket Python3 yang tercantum dalam requirements.txt .
Anda dapat menggunakan perintah berikut: pip3 install -r requirements.txt
Jika Anda ingin menggunakan fungsi dekompilasi, Anda perlu menginstal Jython. Pengguna Ubuntu/Debian dapat mengeluarkan apt install jython
Klon proyek atau unduh file zip.
FlashMingo adalah kerangka analisis untuk file SWF. Alat ini secara otomatis triase file flash yang mencurigakan dan memandu proses analisis lebih lanjut, membebaskan sumber daya berharga di tim Anda. Anda dapat dengan mudah memasukkan modul analisis FlashMingo ke dalam alur kerja Anda.
Sampai hari ini peneliti forensik dan analis malware harus berurusan dengan file SWF yang mencurigakan. Jika sejarah berulang, ancaman keamanan bahkan dapat menjadi lebih besar di luar akhir kehidupan Flash pada tahun 2020. Sistem akan terus mendukung format file warisan yang tidak akan diperbarui dengan tambalan keamanan lagi. Otomasi adalah cara terbaik untuk menangani masalah ini dan di sinilah Flashmingo dapat membantu Anda. FlashMingo adalah kerangka kerja analisis untuk secara otomatis memproses file SWF yang memungkinkan Anda menandai sampel flash yang mencurigakan dan menganalisisnya dengan upaya minimal. Ini terintegrasi ke dalam berbagai alur kerja analisis sebagai aplikasi yang berdiri sendiri atau perpustakaan yang kuat. Pengguna dapat dengan mudah memperluas fungsionalitas alat melalui plugin Python khusus.
Flashmingo dirancang dengan mempertimbangkan kesederhanaan. Ini membaca file SWF dan membuat objek ( SWFObject ) yang mewakili konten dan strukturnya. Setelah itu Flashmingo menjalankan serangkaian plugin yang bekerja pada SWFObject ini dan mengembalikan nilai -nilainya ke program utama.
Di bawah Diagram Aliran Seni ASCII Wajib:
+----------+
| |
+------------+----------->+ PLUGIN 1 +------------+
| | | | |
| | +----------+ |
| | |
| | +----------+ |
| | | | |
+---------+ | +----------->+ PLUGIN 2 +--------+ |
|SWF FILE +----------->+ FLASHMINGO | | | | |
+---------+ | | +----------+ | |
| | | |
| | | |
| | | |
| | +-----v---v-+
| | | |
| | | |
+-----+------+------------------------->+ SWFOBJECT |
^ | |
| | |
| +-----+-----+
| |
| |
| |
+---------------------------------------+
Saat menggunakan FlashMingo sebagai perpustakaan di proyek Anda sendiri, Anda hanya perlu mengurus dua jenis objek:
SWFObject , mewakili sampelFlashmingo . Ini pada dasarnya bertindak sebagai harness yang menghubungkan plugin dan SWFObject . Plugin Flashmingo disimpan di direktori mereka sendiri di bawah ... Anda dapat menebaknya: plugins ketika objek Flashmingo dipakai, ia melewati direktori ini dan memproses manifes semua plugin. Jika ini menunjukkan bahwa plugin aktif, ini terdaftar untuk digunakan nanti. Pada level kode, ini berarti bahwa kamus plugin_info kecil ditambahkan ke daftar plugins .
Plugin dipanggil melalui API run_plugin dengan dua argumen:
SWFObject Secara opsional, sebagian besar plugin memungkinkan Anda untuk meneruskan data pengguna Anda sendiri. Ini tergantung pada plugin (baca dokumentasi) dan dapat lebih mudah dijelaskan dengan contoh. Plugin default SuspiciousNames akan mencari semua kolam konstan untuk string yang berisi substring mencurigakan (misalnya: 'overflow', 'spray', 'shell', dll.) Ada daftar substring umum yang sudah dikodekan dengan keras dalam plugin sehingga dapat digunakan as-is . Namun, Anda dapat melewati daftar substring Anda sendiri, dalam hal ini melalui parameter names .
Contoh kode:
fm = Flashmingo ()
print fm . run_plugin ( 'DangerousAPIs' , swf = swf )
print fm . run_plugin ( 'SuspiciousNames' , swf = swf , names = [ 'spooky' ])Flashmingo dikirimkan dengan beberapa plugin yang berguna di luar kotak:
Plugin template disediakan untuk pengembangan yang mudah. Memperluas Flashmingo agak mudah. Ikuti langkah -langkah sederhana ini:
runAnda siap untuk pergi :)
docs untuk Dokumentasi Autogenerated $ pip install sphinxcontrib-napoleon
Setelah menyiapkan Sphinx untuk membangun dokumen Anda, aktifkan Napoleon di file sphinx conf.
Dalam conf.py , tambahkan napoleon ke daftar ekstensi
extensions = ['sphinxcontrib.napoleon']
Gunakan Sphinx-Apidoc untuk membangun dokumentasi API Anda:
$ sphinx-apidoc -f -o docs/source projectdir
Ini membuat file .rst untuk diproses sphinx
$ make html
Itu saja! :)