From 6405dd5a811a1be6be3553133a28361b575d932f Mon Sep 17 00:00:00 2001 From: liu1l <1071662300@qq.com> Date: Wed, 22 Nov 2017 14:30:24 +0800 Subject: [PATCH] finish 2.10_binwalk.md --- doc/2.10_binwalk.md | 71 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/doc/2.10_binwalk.md b/doc/2.10_binwalk.md index d96ad4c..4a8e767 100644 --- a/doc/2.10_binwalk.md +++ b/doc/2.10_binwalk.md @@ -1 +1,72 @@ # 2.10 binwalk + + + +- Binwalk介绍 +- 安装 +- 快速入门 +- 实例 + + + +## Binwalk介绍 + +Binwalk是一个快速,易于使用的工具,用于分析,逆向工程和提取固件映像。 官方给出的用途是提取固件镜像,然而,我们在做一些隐写类的题目的时候,Binwalk这个工具非常方便。 + +以下是binwalk所支持的平台情况: + +| 操作系统 | 核心功能的支持情况 | 可选功能的支持情况 | 安装的难易程度 | +| ------- | --------- | --------- | ------- | +| Linux | 完美 | 完美 | 非常容易 | +| OSX | 完美 | 很好 | 非常容易 | +| FreeBSD | 实验性 | 未知 | 非常容易 | +| Windows | 实验性 | 很差 | 非常容易 | + +从上面的支持情况来看,我们最好在*unix系统下使用,如果你的Windows版本是1703及以上,那么在[WSL](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux)中安装binwalk是个不错的选择。 + +## 安装 + +如果你是在Ubuntu下,那么使用下面的命令安装: + +```shell +sudo apt install binwalk +``` + +## 快速入门 + +### 扫描固件 + +Binwalk可以扫描许多嵌入式文件类型和文件系统的固件镜像,比如: + +```shell +$ 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`参数来提取固件中的文件: + +```shell +$ binwalk -e firmware.bin +``` + +如果你还指定了-M选项,Binwalk甚至会递归扫描文件,因为它会提取它们: + +```shell +$ binwalk -Me firmware.bin +``` + +如果指定了-r选项,则将自动删除无法提取的任何文件签名或导致大小为0的文件: + +```shell +$ binwalk -Mre firmware.bin +``` + +