在windows下使用binwalk分析文件
在做cfs小題的時候發現需要用到binwalk
首先要裝好python 我是用python2.7版本的
去官網下載,解壓 官網http://binwalk.org/
pip install setup.py
安裝成功后,在Python目錄scripts 下會生成一個binwalk文件
用文本編輯器打開發現其實是一個py文件,可以直接使用命令
python scripts\binwalk 【文件名】
由於cmd無法直接執行無后綴的文件,所以需要加上python命令
作為一個‘懶人’,當然希望字打得越少越好,.py后綴的文件執行時不用加python這個命令;但是代碼里面有import binwalk,所以不要直接將scripts\binwalk改成.py后綴,因為import會將binwalk.py(原為binwalk)當成是要import的文件,導致出錯;當然,你可以任性的用sys.path指定import的文件,但是在我實驗的過程中,發現:
執行import 加載模塊的時候會首先去sys.path的最新添加路徑里面找模塊(路徑似乎不分大小寫),然后去當前目錄(py文件路徑),再去sys.path其他路徑里面找
也就是說,確保你的sys.path的最新添加路徑就包含你想要的模塊;不然即使你添加了模塊路徑(不是在import binwalk之前作為最新的一個sys.path路徑添加),系統也會在最新路徑中搜索,然后到腳本文件目錄,再到你添加的模塊路徑,這樣就會引起沖突和錯誤了。
所以,三種方法:
1、直接用命令python
2、將binwalk改成.py文件,名字不與系統/自制模塊重名
3、強行將binwalk改成binwalk.py,但是在import binwalk之前將sys.path的最新路徑更新為系統binwalk模塊,防止先從binwalk.py路徑(執行的腳步文件路徑)加載binwalk模塊(疑問:文件為.py后綴且名字相同才會被import?)
例:第二種方法