binwalk使用整理

您所在的位置:网站首页 ctf加载程序有什么用 binwalk使用整理

binwalk使用整理

2023-10-25 01:57| 来源: 网络整理| 查看: 265

入门指南

文章目录 常用参数签名扫描文件提取`-e`提取特定的类型 熵分析文件比较

常用参数 binwalk --help 显示binwalk帮助 签名扫描

Binwalk可以扫描固件映像以查找许多不同的嵌入式文件类型和文件系统。

根据特征头对文件进行解析 每行三个字段。十进制,十六进制,描述

╰──➤ binwalk R6700-V1.0.2.16_10.0.57.zip DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 Zip archive data, at least v1.0 to extract, compressed size: 31752250, uncompressed size: 31752250, name: R6700-V1.0.2.16_10.0.57.chk 31752307 0x1E48073 Zip archive data, at least v2.0 to extract, compressed size: 365, uncompressed size: 844, name: R6700-V1.0.2.16_10.0.57_Release_Notes.html 31752977 0x1E48311 End of Zip archive, footer length: 22

-M递归扫描 -y filesystem只扫描文件系统 -y选中 -x filesystem 不扫描文件系统 -x过滤

-a,-finclude = 仅扫描名称与给定正则表达式字符串匹配的文件

-p,--fexclude = 不扫描名称与给定正则表达式字符串匹配的文件```

文件提取-e

binwalk提取其在固件映像中找到的所有文件

binwalk -e firmware.bin ╰──➤ binwalk -e R6700-V1.0.2.16_10.0.57.zip DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 Zip archive data, at least v1.0 to extract, compressed size: 31752250, uncompressed size: 31752250, name: R6700-V1.0.2.16_10.0.57.chk 31752307 0x1E48073 Zip archive data, at least v2.0 to extract, compressed size: 365, uncompressed size: 844, name: R6700-V1.0.2.16_10.0.57_Release_Notes.html 31752977 0x1E48311 End of Zip archive, footer length: 22

看到解压出来的还是压缩文件 指定-M选项,则Binwalk提取文件时递归扫描文件

$ binwalk -Me firmware.bin binwalk -Me R6700-V1.0.2.16_10.0.57.zip Scan Time: 2021-01-11 17:29:54 Target File: Desktop/firmware/R6700-V1.0.2.16_10.0.57.zip MD5 Checksum: f14adae5a0af596cd3f8c702c0ce6d70 Signatures: 410

只解压出文件系统

binwalk -y filesystem -e arm-6.37.2.npk DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 4096 0x1000 Squashfs filesystem, little endian, version 4.0, compression:xz, size: 8091045 bytes, 1062 inodes, blocksize: 262144 bytes, created: 2016-11-08 13:40:54

附加-a,-finclude = 仅扫描名称与给定正则表达式字符串匹配的文件。 binwalk -M -e -a = ’ \ .bin $ ’ firmware.bin

附加-C,--directory = 选项 设置提取数据的输出目录(默认:当前工作目录) binwalk -e --directory = /tmp firmware.bin

附加-r选项 清理大小为零的文件以及提取过程中提取实用程序无法处理的文件

附加-d n 递归解压深度为n

附加-f,-log = 将扫描结果记录到指定文件。 binwalk --log = binwalk.log firmware.bin

提取特定的类型

-D选项-D, --dd=

type是签名描述中包含的小写字符串(支持正则表达式)ext是保存数据磁盘时使用的文件扩展名(默认为none)cmd是在将数据保存到磁盘后执行的可选命令 binwalk -D 'zip archive:zip:unzip %e' -D 'png image:png' firmware.bin

该选项将提取包含字符串“zip archive”,文件扩展名为“zip”的文件,然后执行“unzip”命令。 此外,PNG图像按原样提取,带有’png’文件扩展名。 请注意使用’%e’占位符。执行unzip命令时,此占位符将替换为解压缩文件的相对路径

熵分析

熵是用于表达混乱程度的名词,熵值可以表达系统中蕴含的能量,也可用于表达信息中的不确定性。

信息熵 固件二进制文件信息熵属性值的计算方法

如果binwalk不报告任何签名怎么办?或者,您怎么知道binwalk没有错过任何有趣的事情? 熵分析可以帮助识别固件映像中数据的有趣部分

针对某个特定固件镜像进行熵分析,该操作能够帮助读者判断固件镜像是否进行了压缩或者加密。 加密的固件镜像熵值会出现大幅波动

binwalk -E firmware.bin 对输入文件执行熵分析,打印原始熵数据并生成熵图。 熵分析可以与 –signature, –raw –opcodes结合使用, 以便更好地理解目标文件。 --verbose选项结合使用时, 将打印为每个数据块计算的原始熵 保存熵图为PNG文件并不显示(-J,--save) binwalk --save -E firmware.bin

在这里插入图片描述

文件比较

-W,–hexdump 对输入文件执行十六进制转储,并对字节进行颜色编码,如下所示: 在这里插入图片描述

绿色-所有文件中的字节均相同 红色 -所有文件中的字节均不同 蓝色 -这些字节仅在某些文件中有所不同 可以扩散任意数量的文件;有用的选项是--block,-- offset,-- length和--terse

$ binwalk -W --block=8 --length=64 1.bin 2.bin



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3