IOT固件分析环境搭建
IOT 固件分析环境搭建
binwalk
解压,,比较玄学,经常报错或者解压不出来,不同安装方式有影响,版本也有影响,插件和库缺了也有影响,照着网上各个大佬的文章搞下来,现在基本的解压是可以了我使用的是ubuntu22.04,kali是自带的,但是版本比较旧
1 |
|
加上--run-as=root
不然会报错,然后下面的工具都安装下,少安装中间有时候也会报错
安装 binwalk
这个是网上建议编译安装的方法,但是我git下来好像现在最新版的没有setup.py文件了,安装不了?我是apt安装的
1 |
|
我的安装方法如下
apt
安装binwalk
:
1 |
|
安装 binwalk
运行过程中需要调用的命令行工具:
1 |
|
安装 sasquatch
用于分离
squashfs
固件系统,解开非标准的squashfs
文件系统
如果没有安装 sasquatch
,使用 binwalk -Me
提取固件的过程中会报如下警告:
1
2
bash
WARNING: Extractor.execute failed to run external extractor 'sasquatch -p 1 -le -d 'squashfs-root' '%e'': [Errno 2] No such file or directory: 'sasquatch', 'sasquatch -p 1 -le -d 'squashfs-root' '%e'' might not be installed correctly
安装 sasquatch
:
1 |
|
通过 sudo ./build.sh
编译时可能会出现报错:
1 |
|
使用 Fixed gcc build errors by threadexio · Pull Request #47 · devttys0/sasquatch 该 pull 中的一个 patch
文件来进行补丁:
1 |
|
再次编译后可能还会报错,但是可以正常分离 squashfs
固件系统,貌似不影响使用
安装jefferson
Jefferson 是一个用于解码 JFFS2(Journaling Flash File System Version 2)文件系统的工具。JFFS2 是一种常见的嵌入式文件系统,广泛应用于各种嵌入式设备中。Jefferson 项目旨在提供一个高效、可靠的工具,帮助开发者解析和分析 JFFS2 文件系统。
1 |
|
安装 ubi_reader
安装 ubi_reader
:
1 |
|
ubi_reader
工具4个功能:
- 获取 UBI 信息、布局块等:
ubireader_display_info
- 提取镜像:
ubireader_extract_images
- 提取文件内容:
ubireader_extract_files
- 分析 UBI 镜像并创建 shell 脚本和 UBI 配置文件:
bireader_utils_info
ubi_reader
命令
1 |
|
IOT固件分析环境搭建
https://xu17.top/2025/02/15/IOT 固件分析解压环境搭建/