前言
最近从事物联网IoT安全方面研究,需要对固件进行仿真、分析和检测,用到Binwalk。Binwalk是一款固件镜像分析、逆向分析和提取工具,简单易用,功能强大,重要的还是开源免费,github地址 https://github.com/ReFirmLabs/binwalk.git
下载:
步骤比较简单:
- git clone https://github.com/devttys0/binwalk.git
- cd binwalk;
依赖包
binwalk目录下:
3. 执行./deps.sh;
安装依赖包,此处有时会有报错,无法找到python-lzma包:
报错解决
这类找不到包报错,一般是更新源的问题。网上搜索资料,有文章提出sources.list文件中增加一句deb http://ftp.de.debian.org/debian sid main后update解决,但测试机里未验证通过。这里换个思路,python3默认自带python-lzma包,python2默认没带才会报错,升级到python3就解决了。kali里默认python2和python3,只需要把python2切换python3。
- 切换python版本 。
这里选择“0”,查看python版本,已经切换为python3.
安装
- 继续执行setup.sh;
- 再安装两个必要的模块python-magic和jefferson。
python-magic:用以根据文件头识别文件类型。
jefferson:用于提取JFFS2 file systems。 - 安装结束,可以使用binwalk分析固件了。