这里浅显谈下我自己本人的一些笔记。
- 我这里是Ubuntu20.04系统,以mifi的固件包为示例。
网上固件包有很多,就是openwrt编译后烧录板子的文件(有bin结尾,img结尾等等)。如果不理解opwnwrt固件包的,请自行百度。
- 我这里介绍两款第三方工具,Linux系统自带工具有些许繁琐(没试过,就放弃了)。无论用哪一个,能快速解决问题,就是最好的办法。
binwalk - 通过固件文件头来分析和文件系统,可以用来解开固件包,但不是太好,有一些固件包会解不开,或者解不完全。(我会演示解包,不演示构建固件包)
Firmware Mod Kit - 自动化分析固件文件的一系列脚本,简称fmk,一般用来解开固件包,打包固件包。(我会演示解包,查找固件文件,修改固件文件,构建固件文件,最终显示演示结果)。
binwalk 解构固件包
下载工具
sudo apt-get install binwalk
完成后执行,进行解包。
binwalk -e 固件包.bin
或者
binwalk -Me 固件包.bin
如果不知道命令可以binwalk --help 查询下工具命令及功能。
这是对应binwalk的讲解页面,可以仔细读读:
https://blog.csdn.net/QQ1084283172/article/details/66971242?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165235442716781435491577%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=165235442716781435491577&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-2-66971242-null-null.142v9control,157v4control&utm_term=binwalk±Me&spm=1018.2226.3001.4187
下面进行演示:
安装成功后,执行以下命令,会在同级目录下生成一个新的文件夹,这个就是解析后的文件包。
firmware-mod-kit 解构固件包
下载工具
git clone hhtps://github.com/rampageX/firmware-mod-kit.git
安装依赖
sudo apt-get install git build-essential zlib1g-dev liblzma-dev python-magic
编译文件
cd firmware-mod-kit/src
./configure
make
完成后将固件包放入firmware-mod-kit文件夹,并执行解包
./extract-firmware.sh 固件包.bin
下面进行演示:
安装成功后,执行以下命令,会在同级目录下生成一个新的文件夹fmk,这个就是解析后的文件包。
- 下面大体讲解下在firmware-mod-kit文件夹下生成的fmk目录,大体讲解自己的理解,如有不对,请多多指点:
- 在luci中添加hello world页面(此处暂时不说了,后期补充)
- 下面生成新的固件包
- 测试固件包
我也是小白一枚,也有很多不懂。openwrt也在摸索阶段。如有不足请多多留言指点,欢迎各位同行提问指点。看到消息我会第一时间回复。