关于binwalk
Binwalk是一款快速、易用,用于分析,逆向工程和提取固件映像的工具。简单易用,完全自动化脚本,并通过自定义签名,提取规则和插件模块,还重要一点的是可以轻松地扩展。
在CTF的MISC类题型和IOT安全的固件解包分析中广泛应用,可以大大提高效率。该工具对linux支持较好,对于windows功能支持较差,有条件的童鞋可以在linux上使用练习该神器。
本文旨在为想要在Windows系统下使用binwalk的同学提供安装参考。
环境要求
binwalk项目地址:https://github.com/ReFirmLabs/binwalk/
python3环境
注意事项(必看):
(1)目前在github上binwalk的版本为2.3.3,但是在Windows平台下的python环境中对该版本并不支持,会遇到找不到pwd库的情况。如下图:
(2)因此,想要在Windows平台下使用binwalk,就要求binwalk的版本需要 <=2.3.2。
(3)binwalk-v2.3.2版本下载传送门:https://github.com/ReFirmLabs/binwalk/archive/refs/tags/v2.3.2.zip
安装过程:
解压下载下来的源代码压缩包,并cmd到当前目录下
执行命令:python3 setup.py install
待执行结束后,在python3安装目录下的Script文件夹下便可看到binwalk程序
cmd到Script目录下执行:python3 binwalk -h。出现如下页面,表示安装成功了。
tips:如果提示ModuleNotFoundError: No module named 'pwd' 这个错误,需要注意一下本文章前面写到的关于binwalk版本的问题。
binwalk环境便捷化配置
通过上述过程安装后,每次用到binwalk程序需要cd到Script目录下,这样的话就不是很方便,因此我们可以通过一个python脚本将binwalk的执行封装到一个exe程序中,并配置到环境变量里就可以直接使用了。
写一个binwalk.py,代码如下:
# binwalk.pyimport osimport sysfile = ' '.join(sys.argv[1:])command = "python3 D:\\Python\\Python38\\Scripts\\binwalk " + fileos.system(command)
cmd命令行切换到binwalk.py所在文件夹,执行命令:
pyinstaller --onefile binwalk.py
命令会将binwalk.py打包生成binwalk.exe。
注意:
(1)如果执行pyinstaller --onefile binwalk.py报 “ 'pyinstaller' 不是内部或外部命令,也不是可运行的程序或批处理文件。”错的时候,可执行pip3 install pyinstaller安装即可。
(2)注意代码中的路径。
(3)生成的binwalk的位置,如下:
生成 binwalk.exe 后,测试:
可以整成使用!
接下来,将binwalk.exe复制到 python安装目录下的Scripts目录下(前提是Scripts目录已配置到环境变量中)或复制到C:\Windows\System32目录下,便可直接在cmd命令行下使用Binwalk啦!
来源地址:https://blog.csdn.net/qq_38603541/article/details/126557575