CTF-All-In-One/doc/2.10_binwalk.md
2017-11-22 14:30:24 +08:00

2.3 KiB
Raw Blame History

2.10 binwalk

  • Binwalk介绍
  • 安装
  • 快速入门
  • 实例

Binwalk介绍

Binwalk是一个快速易于使用的工具用于分析逆向工程和提取固件映像。 官方给出的用途是提取固件镜像然而我们在做一些隐写类的题目的时候Binwalk这个工具非常方便。

以下是binwalk所支持的平台情况

操作系统 核心功能的支持情况 可选功能的支持情况 安装的难易程度
Linux 完美 完美 非常容易
OSX 完美 很好 非常容易
FreeBSD 实验性 未知 非常容易
Windows 实验性 很差 非常容易

从上面的支持情况来看,我们最好在*unix系统下使用如果你的Windows版本是1703及以上那么在WSL中安装binwalk是个不错的选择。

安装

如果你是在Ubuntu下那么使用下面的命令安装

sudo apt install binwalk

快速入门

扫描固件

Binwalk可以扫描许多嵌入式文件类型和文件系统的固件镜像比如

$ binwalk firmware.bin

DECIMAL   	HEX       	DESCRIPTION
-------------------------------------------------------------------------------------------------------------------
0         	0x0       	DLOB firmware header, boot partition: "dev=/dev/mtdblock/2"
112       	0x70      	LZMA compressed data, properties: 0x5D, dictionary size: 33554432 bytes, uncompressed size: 3797616 bytes
1310832   	0x140070  	PackImg section delimiter tag, little endian size: 13644032 bytes; big endian size: 3264512 bytes
1310864   	0x140090  	Squashfs filesystem, little endian, version 4.0, compression:lzma, size: 3264162 bytes,  1866 inodes, blocksize: 65536 bytes, created: Tue Apr  3 04:12:22 2012

文件提取

可以使用binwalk的-e参数来提取固件中的文件:

$ binwalk -e firmware.bin

如果你还指定了-M选项Binwalk甚至会递归扫描文件因为它会提取它们

$ binwalk -Me firmware.bin

如果指定了-r选项则将自动删除无法提取的任何文件签名或导致大小为0的文件

$ binwalk -Mre firmware.bin