环境搭建
首先需要配置环境,配置的环境如下:
- binwalk 用于解包
- qemu 用于打包后的调试,防止路由器变砖
- firmware-mod-kit 用于打包
https://github.com/mirror/firmware-mod-kit
下载解压
# 进入源码目录
cd firmware-mod-kit/src
# 执行configure文件生成Makefile文件然后make编译生成可执行文件
./configure && make
路由器解包
路由器解包较为简单,binwalk或者firmware-mod-kit
binwalk解包不知道能否重新打包:
binwalk XR300-V1.0.3.34_10.3.27.chk
如果binwalk可以输出文件解析信息,那么
binwalk -e XR300-V1.0.3.34_10.3.27.chk
解包后文件如下:
squashfs-root是文件系统,56应该是偏移量
firmware-mod-kit解包,可以重新打包:
./extract-firmware.sh XR300-V1.0.3.34_10.3.27.chk
但是提示出错。。
路由器打包
因为firmware-mod-kit解包出错,尝试用binwalk的结果进行打包。