標籤:scan 分解 efi update date 介紹 kali 協助 str
78116795
.
binwalk windows安裝和使用方法
binwalk是一個檔案的分析工具,旨在協助研究人員對檔案進行分析,提取及逆向工程。簡單易用,完全自動化指令碼,並通過自訂簽名,擷取規則和外掛程式模組,還重要一點的是可以輕鬆地擴充。
以上是binwalk的介紹。binwalk在kali中預設就安裝了,在其他版本的linux的安裝方法也是十分簡單的,而在windows裡就犯困了,新手百度下“binwalk windows安裝”等字樣也不見得有解決法子。
而我也在網上搜了很久,基本沒見到過windows常見的exe、msi形式,只有找到tar.gz形式,解壓後為docs和src檔案夾,src裡有一個python常見的setup.py,在cmd下輸入setup.py install后里面提示要安裝magic,之後找了個python-magic模組安裝後,import magic的時候提示缺少libmagic,一番鼓搗後,我就沒弄了。
之後,我開啟https://pypi.python.org/pypi去搜binwalk的模組,也是只有tar.gz,解壓後,setup.py install後,倒是不提示有什麼錯誤,安裝一路順暢,只可惜我去python的安裝目錄下找,就發現了一個egg檔案和一個binwalk的無尾碼檔案,其他都沒有,也用不起的感覺。
----------------------------------------------------------------------------------------
好了,正式介紹在windows下安裝的法子,用binwalk在github上的項目來安裝其源碼是最簡單的,裡面介紹說windows上的Optional Feature Support是最Poor的,儘管如此,還是夠用的。
github項目:https://github.com/devttys0/binwalk
binwalk的wiki:https://github.com/devttys0/binwalk/wiki
----------------------------------------------------------------------------------------
在windows上安裝前你需要已經安裝python(2、3版本倒沒關係)
在cmd裡輸入
git clone https://github.com/devttys0/binwalkcd binwalkpython setup.py install
(如果你機子沒有安裝過git,你可以直接存取項目地址,點擊裡面的Download Zip下載後解壓即可)
安裝後,python裡輸入import binwalk不會報錯,說明可以在python裡調用binwalk(用法請自己瀏覽上面提供的wiki),用起來可以達到我們分析檔案的目的。
但我們喜歡linux裡binwalk的使用方法,也想在windows上達到同樣的效果,python安裝目錄下Script裡那個binwalk檔案(沒任何尾碼名)其實是一個py檔案,在Script檔案夾裡用python運行它的話,可以達到效果,可是在Script檔案夾外就犯愁了,因為cmd裡不能運行沒尾碼的檔案,而python binwalk這樣的運行方式不行(因為必須指定binwalk的路徑,但是如果指定了又很麻煩),而若是修改為binwalk.py,一運行又會報錯,總之頭疼。
----------------------------------------------------------------------------------------
本人第一次認真地寫博文,不善措辭,若有寫得不足之處敬請提出,以及有更好的方法也請多多指教,謝謝。
下面是我自己弄的解決法子,就是自己寫個bat批次檔來運行。
建立一個檔案夾,並把檔案夾的路徑加入到系統變數path裡(這樣在cmd裡就可以直接運行了。)
在檔案夾裡建立一個binwalk.bat檔案
@echo offecho * suggest: you‘d better to input the parameters enclosed in double quotes.echo * made by pcatpython "%~dp0\p_binwalk.py" %1 %2 %3 %4 %5 %6 %7 %8 %9
再建立一個p_binwalk.py檔案(這裡寫得很簡單,以後能力增長的時候可能會改寫)
# -*- coding:utf-8 -*-# author: pcat# http://pcat.cnblogs.comimport sysimport binwalkif __name__ == "__main__": lst=sys.argv if len(lst)<2: print("No files.") exit() try: if lst[1][0]==‘-‘: binwalk.scan(*lst[2:],signature=lst[1]) elif lst[1][0]!=‘-‘: binwalk.scan(*lst[1:],signature=True) except: pass
只要這個檔案夾的路徑在系統變數path裡和這2個檔案存在著,那麼你就可以在cmd裡像linux那樣使用binwalk了。
:)
-- UPDATE- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* 另一種單檔案的寫法
模仿我自己的另一篇文 uncompyle2 windows安裝和使用方法
建立一個檔案夾,並把檔案夾的路徑加入到系統變數path裡(這樣在cmd裡就可以直接運行了。)
在檔案夾裡建立一個binwalk.bat 檔案(事實上隨你喜歡,取什麼名字都可以)
:: author: [email protected]:: http://pcat.cnblogs.com@echo offecho * suggest: you‘d better to input the parameters enclosed in double quotes.echo * made by pcatecho * ***********************************************************************if defined python_home ( python "%python_home%\Scripts\binwalk" %1 %2 %3 %4 %5 %6 %7 %8 %9)else ( echo "you need to set PYTHON_HOME")
(其中得先設定好PYTHON_HOME這種系統變數,如果你的python2.7是預設安裝的,一般這個PYTHON_HOME就設定C:\Python27 )
只要這個檔案夾的路徑在系統變數path裡和這個bat檔案存在著,那麼你就可以在cmd裡像linux那樣使用binwalk了。
- -UPDATE- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* binwalk常用命令
-e 分解出壓縮包
binwalk -e pcat.bin
-D或者--dd 分解某種類型的檔案(在windows裡要用雙引號括起來)
binwalk -D=jpeg pcat.bin
-M 遞迴分解掃描出來的檔案(得跟-e或者-D配合使用)
binwalk -eM pcat.bins
binwalk windows安裝和使用方法