智能设备安全-固件逆向分析

固件逆向分析实验报告-20241022

使用固件常用逆向分析工具,对提供的固件进行文件系统提取,并记录逆向分析实验过程,提交实验报告(报告要求图文并茂,对涉及到的关键步骤附截图说明)。具体任务如下:

任务一 固件文件系统手动提取:熟悉file、strings、hexdump、dd、unsquashfs等命令或工具,掌握手动提取固件文件系统方法,对提供的miwifi_r1350_firmware_c56d8_1.0.29.bin文件进行逆向,获取文件系统squashfs-root;

任务二 固件文件系统自动提取:熟悉binwalk逆向工具的使用方法,对提供的miwifi_r1350_firmware_c56d8_1.0.29.bin文件实现文件系统的自动提取,获取文件系统squashfs-root。

注:如国科大在线无法提交报告,可在简答题框中输入简要回答,正式报告发送至老师邮箱

报告命名方式:APK逆向分析实验报告-姓名-学号-提交时间

任务一 固件文件系统手动提取

创建并进入文件夹

从官网下载Kail,输入默认的账号密码Kali进入虚拟机。

在桌面打开终端,使用mkdir创建xiaomi文件夹并进入。
在这里插入图片描述

上传实验文件

将需要进行提取的文件上传至指定文件夹
在这里插入图片描述

使用file命令查看文件类型

从结果可以看出,目前只知道它是数据文件
在这里插入图片描述

使用strings命令

可以看到当没有添加-n 10时打印了很多结果

在这里插入图片描述

加入参数-n 10

通过加入-n 10找到并输出了所有NUL终止符序列

使用hexdump命令查看

在终端中使用hexdump命令

hexdump miwifi_r1350_firmware_c56d8_1.0.29.bin

可以看到输出了很多内容

加入-C参数显示ASCII字符
hexdump miwifi_r1350_firmware_c56d8_1.0.29.bin -C 

可以看到在右侧多了ASCII字符的显示

加入查询条件: | grep “hsqs”
hexdump miwifi_r1350_firmware_c56d8_1.0.29.bin -C | grep "hsqs"

可以看到这样的结果:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中,HSQS(Hierarchical Storage Queue System)指的是一个专为高性能计算和大数据存储设计的文件系统。它通常用于需要高吞吐量和低延迟的场景,例如科学计算、数据分析和机器学习。

这里通过添加查询条件查看文件系统的头部特征,判断出使用的时什么文件系统,得到文件系统的起始地址:0x12029C

使用dd命令提取

dd if=miwifi_r1350_firmware_c56d8_1.0.29.bin bs=1 skip=1180316 of=filesystem_mi.squashfs

这条命令是使用 dd 工具从一个二进制文件中提取特定部分,其中:

  • dd: 这是一个用于低级别复制和转换文件的命令行工具。
  • if=miwifi_r1350_firmware_c56d8_1.0.29.bin: 设定输入文件(input file),这里是一个名为 miwifi_r1350_firmware_c56d8_1.0.29.bin 的固件文件。
  • bs=1: 设定块大小(block size)为 1 字节。这意味着 dd 将以字节为单位进行读写。
  • skip=1180316: 设定在读取输入文件之前跳过的字节数。在这个例子中,dd` 将跳过前 1180316字节。
  • of=filesystem_mi.squashfs: 设定输出文件(output file),提取的内容将保存到 filesystem_mi.squashfs 文件中。

这条命令的作用是从 miwifi_r1350_firmware_c56d8_1.0.29.bin 文件中跳过前 1180316字节,然后将后续的内容提取并保存到 filesystem_mi.squashfs 文件中。通常,这种操作用于从固件中提取特定的文件系统或数据。

其中1180316这个值可以通过计算器获得。

在这里插入图片描述

使用file查看得知文件系统的详细信息:

在这里插入图片描述

使用unsquashfs对其进行提取

在这里插入图片描述

得到文件系统squashfs-root:

在这里插入图片描述

任务二 固件文件系统自动提取

使用binwalk -e

在这里插入图片描述

可以看到和手动提取一样:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值