我有一台 DVR,但忘记了密码。尝试远程登录,从互联网获取凭据(我猜它们对于许多经销商来说都是相同的,因为制造商可能是相同的),JTR 密码。但这唤醒了我的好奇心,现在我只想为了好玩而搞乱固件。我尝试过添加一个自定义徽标,因为它非常愚蠢,并且可能会更改菜单语言,以便我家里的其他人也可以操作它。
固件以二进制文件形式提供。将其解压为 4 个 .img 文件。
- 自定义-x.cramfs.img
- 标志-x.cramfs.img
- romfs-x.cramfs.img
- 用户-x.cramfs.img
我无法安装它们,因为有一些标头字节添加到这些图像中MK图像,正如一些博客文章告诉我的那样。
文件这些图像之一(徽标)的命令输出:
logo-x.cramfs.img: u-boot legacy uImage, linux, Linux/ARM, Standalone Program (gzip), 40960 bytes, Fri Jul 4 06:04:30 2014, Load Address: 0x00770000, Entry Point: 0x00780000, Header CRC: 0xBC5511F0, Data CRC: 0xC6BFF7D1
剥离 64 字节数据后DD我可以安装它并访问文件。试图添加一些垃圾文件只是为了生成不同的图像文件。在进行更改/添加文件后,我将如何继续重新打包已安装的 img?我应该如何重新添加我删除的 64 字节数据?
任何有帮助的想法都将受到赞赏。
答案1
我假设您想squashfs
为 SPI 闪存创建映像。首先squashfs
从您想要的目录创建图像:
mksquashfs yourdir romfs.squashfs -b 64K -comp xz
然后添加具有正确起始点和入口点的标头:
mkimage -A arm -O linux -C gzip -T kernel -a 0x50000 -e 0x430000 -n 'linux' -d romfs.squashfs romfs.squashfs.img