在windows下使用binwalk分析文件
在做cfs小题的时候发现需要用到binwalk
首先要装好python 我是用python2.7版本的
去官网下载,解压 官网http://binwalk.org/
pip install setup.py
安装成功后,在Python目录scripts 下会生成一个binwalk文件
用文本编辑器打开发现其实是一个py文件,可以直接使用命令
python scriptsinwalk 【文件名】
由于cmd无法直接执行无后缀的文件,所以需要加上python命令
作为一个‘懒人’,当然希望字打得越少越好,.py后缀的文件执行时不用加python这个命令;但是代码里面有import binwalk,所以不要直接将scriptsinwalk改成.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?)
例:第二种方法