入门指南

文章目录

  • 常用参数
    • 签名扫描
    • 文件提取`-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 = <str>
仅扫描名称与给定正则表达式字符串匹配的文件

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

文件提取-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.binbinwalk -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.npkDECIMAL       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 = <str>
仅扫描名称与给定正则表达式字符串匹配的文件。
binwalk -M -e -a = ’ \ .bin $ ’ firmware.bin

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

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

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

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

提取特定的类型

-D选项-D, --dd=<type[:ext[:cmd]]>

  • 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

binwalk使用整理相关推荐

  1. bugku:简单的套娃

    下载得到一张图片,根据题目提示,猜测是图片里面套图片,使用binwalk打开发现,果然有两张图片, 接下来我们要进行图片提取,将图片拖到010editor中,将第二个JPG文件头后面的复制下来另存,得 ...

  2. MISC常见题型整理

    题目打包在这里 提取码:fhkb MISC 流量包分析 流量包_1 流量包_2 流量包_3 图片隐写 图片隐写_1 图片隐写_2 图片隐写_3 图片隐写_4 图片隐写_5 图片隐写_6 音频隐写 音频 ...

  3. Binwalk工具的安装

    https://blog.csdn.net/QQ1084283172/article/details/65441110 一.binwalk工具运行支持的平台 binwalk工具安装支持的平台的官方参考 ...

  4. 路由器逆向分析------binwalk工具的安装

    本文博客链接:http://blog.csdn.net/qq1084283172/article/details/65441110 一.binwalk工具运行支持的平台 binwalk工具安装支持的平 ...

  5. Map再整理,从底层源码探究HashMap

    前言 本文为对Map集合的再一次整理.内容包括:Map HashMap LinkedHashMap TreeHashMap HashTable ConcurrentHashMap Map Map< ...

  6. List再整理,从代码底层全面解析List(看完后保证收获满满)

    前言 本文为对List集合的再一次整理,从父集接口Collection到顶级接口Iterable再到线程不安全实现类:ArrayList.LinkedList,再到线程安全实现类:Vector(被弃用 ...

  7. LeetCode简单题之整理字符串

    题目 给你一个由大小写英文字母组成的字符串 s . 一个整理好的字符串中,两个相邻字符 s[i] 和 s[i+1],其中 0<= i <= s.length-2 ,要满足如下条件: 若 s ...

  8. TVM/Relay 的 PartitionGraph()(mod) 函数讨论整理

    TVM/Relay 的 PartitionGraph()(mod) 函数讨论整理 TVM/Relay 的图形分区功能.以下简单示例,错误信息. PartitionGraph() 函数指定图形是用带有 ...

  9. AIFramework基本概念整理

    AIFramework基本概念整理 本文介绍: • 对天元 MegEngine 框架中的 Tensor, Operator, GradManager 等基本概念有一定的了解: • 对深度学习中的前向传 ...

最新文章

  1. 2021年春季学期-信号与系统-第三次作业参考答案-第三道题
  2. 地图查询定位功能(Flex API)
  3. linux系统迁移的重要配置文件,mylinuxbackup
  4. 【读书笔记《Android游戏编程之从零开始》】6.Android 游戏开发常用的系统控件(TabHost、ListView)...
  5. Go -- log4go日志
  6. HashMap的结构及源码分析
  7. Gridview 单选效果实现,且用且珍惜
  8. C语言 指针+二维数组详解 (应付期末、考研的最强笔记,建议收藏)
  9. qemu debug linux内核,在QEMU环境中使用GDB调试Linux内核
  10. log4j记录日志到sqlserver数据库
  11. HDU-1358 Period KMP
  12. jQuery_层级选择器
  13. IT软件开发人员必去的10个社区
  14. java超市管理系统ppt_基于java-web的超市管理系统毕业答辩ppt课件
  15. 百度网络质量监控实战:猎鹰一战成名(下)
  16. Yann Lecun 纽约大学Spring2020深度学习课程,附66页PPT下载
  17. Xmas snow for Mac(圣诞桌面装饰软件)
  18. Webstrom取消下划线
  19. 企业怎样做好工厂生产人员管理?
  20. 前端_实现文本溢出显示三个小圆点“...“

热门文章

  1. Redis优化秒杀系统
  2. c# 微信支付V3商家转账到零钱避坑宝典(二)
  3. 20170220找女朋友之路思考总结
  4. vivo如何使用科学计算机,vivo玩机技巧:多屏互动让工作事半功倍
  5. GTK、GDK、GLIB三者的关系
  6. CSS 文本超出隐藏
  7. httprunner 3.x学习1 - 环境安装与准备
  8. html响应式页面图片怎么自适应,自适应设计:自适应图片的完整教程
  9. Spring生命周期
  10. sql语句的优化方式