找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1818|回复: 12

华为光猫固件修改

[复制链接]
发表于 2024-7-4 20:37:18 | 显示全部楼层 |阅读模式
事情是这样的

我最近把dropbear、kms、ddns等插件直接写入了光猫的openwrt子系统分区固件里面了。我的是hs8145v5,子系统分区是mtd9和mtd10,都是squashfs文件系统,解包修改再重新打包后刷入光猫的分区,成功实现了固化。但是啊,但是啊,openwrt子系统分区剩余空间很小,只有1MB多,我还想把frps(upx压缩后还有4M大小)也刷进去,很明显,空间不够。这时我就想把openwrt子分区的一些动态库文件,主要是glib、libcrypto等,合起来有4M差不多转移到别的分区。这是我发现了exrootfs分区(mtd8)和allsystem分区,就着手尝试。首先是exrootfs,解包封包都是顺利,但是重新封包后系统开机不加载,即使不做任何修改,单纯的解包封包也不行。不知道为啥,我猜应该是文件头里面有一些校验,但是和allsystem分区的header crc,data crc校验并不一样,无耐放弃。转向allsysytem分区,binwalk后提取了根分区的squashfs镜像,但是无论如何都无法正常解包,unsquafs会出现FATAL ERROR: File system corrupted  - Bad xattr_ids count in super block(用mac电脑)或者解包到一半出现Fatal error, write file, xxxx already existed。尝试直接mount也不行。有没有大神会解包的,给点提示,交流一下。有偿求教也可以!
发表于 2024-7-4 21:30:30 | 显示全部楼层
能放到jffs2分区,启动之后再加载吗?
发表于 2024-7-4 21:32:37 | 显示全部楼层
解压固件之前调查过一阵,发现R019以前的可以直接解压,但是后面的固件解压不了,我也没有找到解压方法。
 楼主| 发表于 2024-7-4 22:20:39 | 显示全部楼层
newfuture 发表于 2024-7-4 21:30
能放到jffs2分区,启动之后再加载吗?

应该可以,但是子系统貌似和jffs2共享可用空间,刷入别的分区就不会了。
 楼主| 发表于 2024-7-4 22:22:54 | 显示全部楼层
newfuture 发表于 2024-7-4 21:32
解压固件之前调查过一阵,发现R019以前的可以直接解压,但是后面的固件解压不了,我也没有找到解压方法。 ...

R019也不行么?
发表于 2024-7-5 00:17:44 | 显示全部楼层
可以正常解包打包的      没遇到你说的问题        要么你操作有问题
 楼主| 发表于 2024-7-5 08:33:06 | 显示全部楼层
565296374 发表于 2024-7-5 00:17
可以正常解包打包的      没遇到你说的问题        要么你操作有问题

能指点一下吗?我DD备份allsystem分区mtd6。binwalk找到了跟分区的开始地址和大小,是一个squash格式,在跟分区前还有一个uimage header。我用dd把这个squash分离出来,一个15M大小左右的squash分区,再次binwalk确认没问题。下面unsquashfs就开始出问题了,binwalk -e也不行,mount也不行。
 楼主| 发表于 2024-7-5 18:16:48 | 显示全部楼层

unsquashfs 添加-f命令解开了,重新封包发现文件大小几乎不变,真是没留一点空余空间啊。。。。
 楼主| 发表于 2024-7-5 18:18:03 | 显示全部楼层
565296374 发表于 2024-7-5 00:17
可以正常解包打包的      没遇到你说的问题        要么你操作有问题

加-f命令解开了,但是没有剩余空间,塞不进自己的文件了。。。。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|宽带技术网 |网站地图 粤公网安备44152102000001号

GMT+8, 2025-7-4 09:23 , Processed in 0.024594 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表