注意:以下說明是針對Python3的。
如果您需要在Python2.7上安裝Flashmingo,則可以在“版本”選項卡下查看版本1.0。安裝步驟基本相同。
安裝requirements.txt中列出的python3軟件包。
您可以使用以下命令: pip3 install -r requirements.txt
如果您想使用二元功能,則需要安裝jython。 Ubuntu/Debian用戶可以發布apt install jython
克隆項目或下載zip文件。
Flashmingo是SWF文件的分析框架。該工具會自動將可疑的閃存文件分類並指導進一步的分析過程,從而釋放團隊中的寶貴資源。您可以輕鬆地將Flashmingo的分析模塊納入工作流程。
直到今天,法醫調查人員和惡意軟件分析師必須處理可疑的SWF文件。如果歷史重複自己,安全威脅甚至可能會超出2020年Flash的生命終結。系統將繼續支持不再使用安全補丁更新的舊文件格式。自動化是解決此問題的最佳方法,這是Flashmingo可以為您提供幫助的地方。 Flashmingo是一個分析框架,可自動處理SWF文件,使您能夠標記可疑的閃存樣本並以最少的精力進行分析。它將其集成到各種分析工作流程中,作為獨立應用程序或功能強大的庫。用戶可以通過自定義Python插件輕鬆擴展工具的功能。
Flashmingo的設計考慮了簡單性。它讀取一個SWF文件並創建代表其內容和結構的對象( SWFObject )。之後,Flashmingo運行了一系列作用於此SWFObject插件,並將其值返回到主程序。
在強制性的ASCII藝術流程圖下方:
+----------+
| |
+------------+----------->+ PLUGIN 1 +------------+
| | | | |
| | +----------+ |
| | |
| | +----------+ |
| | | | |
+---------+ | +----------->+ PLUGIN 2 +--------+ |
|SWF FILE +----------->+ FLASHMINGO | | | | |
+---------+ | | +----------+ | |
| | | |
| | | |
| | | |
| | +-----v---v-+
| | | |
| | | |
+-----+------+------------------------->+ SWFOBJECT |
^ | |
| | |
| +-----+-----+
| |
| |
| |
+---------------------------------------+
在您自己的項目中使用Flashmingo作為庫時,您只需要照顧兩種對象:
SWFObject (s),代表樣本Flashmingo對象。這基本上是連接插件和SWFObject線束。 Flashmingo插件存儲在其自己的目錄中...您猜對了: plugins實例Flashmingo時,它可以通過此目錄並處理所有插件的清單。如果這表明插件處於活動狀態,請註冊以供以後使用。在代碼級別上,這意味著將小plugin_info詞典添加到plugins列表中。
插件通過run_plugin API調用,並具有兩個參數:
SWFObject實例可選地,大多數插件允許您傳遞自己的用戶數據。這是依賴插件的(閱讀文檔),可以更容易地用一個示例來解釋。默認插件SuspiciousNames將搜索所有常數池中包含可疑子字符串的字符串(例如:'溢出',“噴霧”,“ shell”等)。插件中已經對其進行了硬編碼的常見子字符串列表,以便可以使用as-is 。但是,在這種情況下,您可以通過names參數傳遞自己定義的子字符串的列表。
代碼示例:
fm = Flashmingo ()
print fm . run_plugin ( 'DangerousAPIs' , swf = swf )
print fm . run_plugin ( 'SuspiciousNames' , swf = swf , names = [ 'spooky' ])Flashmingo船上有一些有用的插件開箱即用:
提供了一個模板插件,以方便開發。擴展Flashmingo非常簡單。遵循以下簡單步驟:
run方法你準備去:)
docs目錄以獲取自動化文檔$ pip install sphinxcontrib-napoleon
設置獅身人面像建立文檔後,在sphinx conf.py文件中啟用拿破崙:
在conf.py中,將拿破崙添加到擴展名列表中
extensions = ['sphinxcontrib.napoleon']
使用phinx-apidoc構建您的API文檔:
$ sphinx-apidoc -f -o docs/source projectdir
這將創建.rst文件以使獅身人面
$ make html
就是這樣! :)