openwrt的解构固件包与构建固件包(请多指教)

这里浅显谈下我自己本人的一些笔记。

  1. 我这里是Ubuntu20.04系统,以mifi的固件包为示例。
    网上固件包有很多,就是openwrt编译后烧录板子的文件(有bin结尾,img结尾等等)。如果不理解opwnwrt固件包的,请自行百度。
    这个是我此次文章用于演示的固件包
  2. 我这里介绍两款第三方工具,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

下面进行演示:

openwrt的解构固件包与构建固件包(请多指教)_第1张图片
安装成功后,执行以下命令,会在同级目录下生成一个新的文件夹fmk,这个就是解析后的文件包。

  1. 下面大体讲解下在firmware-mod-kit文件夹下生成的fmk目录,大体讲解自己的理解,如有不对,请多多指点:
    openwrt的解构固件包与构建固件包(请多指教)_第2张图片
  2. 在luci中添加hello world页面(此处暂时不说了,后期补充)
  3. 下面生成新的固件包
    openwrt的解构固件包与构建固件包(请多指教)_第3张图片
  4. 测试固件包
    openwrt的解构固件包与构建固件包(请多指教)_第4张图片

我也是小白一枚,也有很多不懂。openwrt也在摸索阶段。如有不足请多多留言指点,欢迎各位同行提问指点。看到消息我会第一时间回复。

你可能感兴趣的:(openwrt,Linux,ubuntu)