获取root权限后直接执行" binwalk 所要查看的文件的路径" ,得到文件中包含的其他文件的信息然后执行“ binwalk -e 文件路径 ”,得到分离后的文件。(与原文件在同一目录下)
//这里也可以使用foremost来分离,不过foremost的速度不敢恭维,foremost的命令格式是:foremost -T 文件名(注意:是文件名).
测试环境:
windows+centos 7
1、基于centos7安装方法:
git clone https://github.com/devttys0/binwalk
cd binwalk
python setup.py install
在第一步中如果centos中未安装Git,需要先安装Git工具,安装方法如下:
# 安装
yum install -y git
# 查看版本
git version
2、Binwalk的提取与分析
2.1、固件扫描
命令:binwalk firmware.bin 通过扫描能够智能地发现目标文件中包含的所有可识别的文件类型。
2.2、提取文件
命令:binwalk -e firmware.bin 选项“-e"和“--extract"用于按照定义的配置文件中的提取方法从固件中提取探测到的文件系统。
命令:binwalk -Me firmware.bin 选项“-M"和“--matryoshka"用于根据magic签名扫描结果进行递归提取,仅对"-e"和“--dd"选项有效。
命令:binwalk -Me -d 5 firmware.bin 选项“-d"和“--depth="用于限制递归提取深度,默认深度为8,仅当“-M"选项存在时有效。
命令 dd if=(原文件名) of=(提取文件名)skip=数据地址 bs=1
2.3、显示完整的扫描结果
命令:binwalk -I firmware.bin 选项"-I"和“--invalid"用于显示扫描的所有结果(即使是扫描过程中被定义为“invalid“的项)。当我们认为binwalk错把有效的文件当成无效文件时,可以通过该选项来检查。
1.Binwalk工具 Binwalk是linux下用来分析和分离工具的工具,可以快速分辨文件是否由多个文件合并而成,并将文件进行分离,如果分离成功会在目标文件的目录 同目录下会生成一个形如_文件名_extracted的文件目录,目录中有分离的文件,binwalk有个特点,遇到压缩包会自动解压。 用法: 分析文件:binwalk filename 分离文件:binwalk -e filename 2.foremost指令 如果binwalk无法分离文件,可以用foremost指令 foremost 文件名 -o 输出目录名 3.dd 当文件自动分离出错或者因为其他原因无法自动分离时,可以使用dd实现文件手动分离 格式: dd if=源文件 of=目标文件名 bs=1 count=字节数 skip=跳过的字节数 如何单独将zip分离出来,与binwalk配合使用 dd if=1.png of=111.zip bs=1 count=23046 skip=22895(将1.png输入,输出111.zip,每块大小为1,取23046块,跳过22895块) 4.Winhex 可以使用winhex实现文件手动分离,手动根据地址取出需要的部分,导出需要的文件欢迎分享,转载请注明来源:内存溢出
评论列表(0条)