首页 > 其他分享 >【CTF隐写工具】binwalk工具使用方法

【CTF隐写工具】binwalk工具使用方法

时间:2022-10-06 12:22:12浏览次数:48  
标签:bin 文件 -- 隐写 CTF 选项 pcat 工具 binwalk

工具简介

Binwalk 是一种快速、易于使用的工具,用于分析、逆向工程和提取固件映像。

工具环境

  • Linux

Linux环境下安装

  1. 直接使用apt/yum进行安装
apt install binwalk

根据文档进行安装 https://github.com/ReFirmLabs/binwalk/blob/master/INSTALL.md

  • Python3 (官方建议 Python3.6)

Python依赖

pip install nose coverage
pip install pycryptodome # 解密已知的加密固件映像
pip install pyqtgraph # 用于pyqtgraph生成可视化图形
pip install capstone # 用于--disasm选项

典型用法

  • 获取帮助
binwalk -h
binwalk --help

  

  • 固件扫描
binwalk firmware.bin
# 通过扫描能够智能的发现目标文件中包含的所有可识别的文件类型。
binwalk firmware.bin | head
binwalk -e pcat.bin
# 分解出文件,使用此命令,可以无视伪加密压缩包、多分割压缩包以及其他文件分解。
binwalk -D=jpeg pcat.bin
# 可以指定某种类型的文件进行分解。(--dd与此命令相同,并且均支持正则表达式)
binwalk -eM pcat.bin
# -M选项和--matroshak 为 递归提取,仅支持 “-e” 和 “--dd”,递归依据是根据magic签名。
binwalk --dd 'zip archive:zip:unzip %e' pcat.bin
# 指定文件分解 正则

 

  • 固件文件的比较

选项“-W”或“-hexdump”对给定文件进行字节比较,可以指定多个文件,这些文件的比较结果会按照hexdump方式显示,绿色表示在所有文件中这些字节都是相同的,红色表示在所有文件中这些字节都是不同的,蓝色表示这些字节仅在某些文件中是不同的。该选项可以与“--block”、“--length”、“--offset” 、“--terse”选项一起使用。

binwalk -W 1 2 3

1,2,3有两个文件内容相同,1个内容不同,所以是蓝色。

1,2,3三个文件都不相同,所以是红色。

  • 日志记录

选项“ -f ” 或 “ --log= ”可以将扫描的结果保存到一个指定的文件中,示例如下。(如果不与“ -q ” 或 “ --quit ”合用,会同时在stdout和文件中输出。如需要保存CSV格式的log文件,可使用 “--csv”选项。)

binwalk -f logs.log -q pcat.bin
binwalk -f binwalk.log --csv pcat.bin
  • 指令系统分析
  • 熵分析

选项“-E”、“--entropy”用于对输入文件执行熵分析,打印原始数据并生成熵图,可与“ --signature ”、“ --raw ”以及“--opcodes”选项合用,对分析更有利。

binwalk -E firmware.bin
# 注意要区别于“小e”的使用[提取文件]
  • 启发式分析

遇到的问题

  1. binwalk itself must be run as root

需要在binwalk命令后添加 --run-as=root

┌──(root㉿kali)-[~]
└─# binwalk -e 1.jpg --run-as=roo

工具归属

  • 项目地址:https://github.com/ReFirmLabs/binwalk

标签:bin,文件,--,隐写,CTF,选项,pcat,工具,binwalk
From: https://www.cnblogs.com/M0x1n/p/binwalk.html

相关文章

  • JVM之垃圾回收日志分析以及常用垃圾回收日志分析的界面工具
    文章目录​​1.垃圾回收发生的时机​​​​2.通过Parallel垃圾回收器收集​​​​2.1.配置-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:+PrintGCDateStamps-Xloggc:g......
  • PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)详细教程
    摘要:Qt是常用的用户界面设计工具,而在Python中则使用PyQt这一工具包,它是Python编程语言和Qt库的成功融合。这篇博文通过图文详细介绍在PyCharm中如何完整优雅地安装配置P......
  • Java手写一个批量获取数据工具类
    1.背景偶尔会在公司的项目里看到这样的代码List<Info>infoList=newArrayList<Info>();if(infoidList.size()>100){intsize=infoidList.size();i......
  • 【科研工具---图表部分,如何画图从Fig. A 为 Fig. B】
    Q:MATLAB如何修改坐标轴的横纵坐标设置,使得2D图片平铺空间,不存在空白位置A:Step0:MATLAB画图出来的Figure框架,即是以下的左子图。Step1:选择左上角的一栏里面的Pr......
  • OCR工具
    1、在线PDF/图片OCR:ocr.space;图片OCR:https://gongpeione.github.io/quick-js-ocr/example/2、本地版(1)电脑截图OCRShareX【可用】shareX:https://github.com/ShareX......
  • 推荐一款工具,辅助估算线程池参数
    前言相信接触过并发系统的小伙伴们基本都使用过线程池,或多或少调整过对应的参数。以Java中的经典模型来说,能够配置核心线程数、最大线程数、队列容量等等参数。public......
  • 关于项目编译工具ninja、make、cmake的区别与优劣
    ninja和make都是通过脚本语言指定编译规则,然后调用gcc等编译器实现自动化编译,过程中会通过文件时间戳来进行增量构建。ninjaNinja是Google的一名程序员推出的注重速度的构......
  • vc入门宝典七(工具栏)
    工具栏                    何志丹主要内容:1,概要。2,常用函数3,实例。4,动态建立工具条5,在工具栏中嵌控件6,用对话框加位图......
  • mongo操作工具类(索引创建等)
    importcn.hutool.core.date.DateUtil;importcom.alibaba.fastjson.JSON;importcom.ft.monitoring.management.OnlineApplication;importcom.mongodb.BasicDBObject......
  • 手机投影工具
    github地址: https://github.com/Genymobile/scrcpy/releases根据自己电脑操作系统位数下载......