更新设备,重新安装了许多工具,这里总结下Binwalk的Windows安装和快速调用方法。
介绍
Binwalk是一个固件的分析工具,旨在协助研究人员对固件非分析,提取及逆向工程用处。简单易用,完全自动化脚本,并通过自定义签名,提取规则和插件模块,还重要一点的是可以轻松地扩展。
我们可用它进行基本的嵌套文件的提取和文件分析、取证。
下载源项目
1.到https://github.com/devttys0/binwalk
下载。
2.使用Windosw下的GIT下载。
git clone https://github.com/devttys0/binwalk
安装
执行setup.py
安装项目到PYTHON库
cd binwalk-master
python setup.py install
此时的调用方法为,调用%PYTHON_PATH%\Scripts\
下的binwalk
文件。
Python %PYTHON_PATH%\Scripts\binwalk -e XXXX
但是此方法相对繁琐,我们可以将其注册到环境变量,以减少操作流程和命令长度。
配置方法
binwalk
文件本身无后缀,无法直接调用,因此需要使用批处理文件组合为 Python %PYTHON_PATH%\Scripts\binwalk
的形式。
首先确保Python环境配置好,方法如下
[高级系统设置-环境变量]
【Path】
%PYTHON_PATH%\Scripts
%PYTHON_PATH%
【PYTHON_PATH】
Python3.x的根目录
其次创建一个任意英文名称文件夹,编写调用批处理文件和脚本。
binwalk.bat
@echo off
echo * suggest: you'd better to input the parameters enclosed in double quotes.
echo * made by pcat
python "%~dp0\p_binwalk.py" %1 %2 %3 %4 %5 %6 %7 %8 %9
解释%~dp0
在批处理中指当前文件夹。
p_binwalk
此处为pcat
佬的脚本
# -*- coding:utf-8 -*-
# author: pcat
# http://pcat.cnblogs.com
import sys
import binwalk
if __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
将创建的该文件夹(包含binwalk.bat和p_binwalk)路径添加到环境变量。
【Path】
xxxx\binwalk-support\
此时在【cmd】当中即可以binwalk
形式直接调用该脚本,且可传参。