这是我进行反向工程的第一次尝试。我正在尝试从华为hg523a TalkTalk路由器中转储文件系统。以下是我可以使用的程序列表。我可以使用ftpput命令上载单个文件。等等。从/ proc / mounts看来,这是一个squashfs文件系统。 >
BusyBox vv1.9.1 (2012-03-05 00:16:52 CST) multi-call binary
Currently defined functions:
        [, [[, arp, ash, cat, chmod, chown, cp, date, echo, ftpget,
        ftpput, halt, ifconfig, init, kill, killall, linuxrc,
        ln, ls, mcast, mkdir, mknod, mount, netstat, nslookup,
        ping, poweroff, ps, reboot, rm, route, sh, sleep, test,
        top, traceroute, umount, vconfig, wget


并使用以下方法将其安装在另一台计算机上:做错了吗?因此无法以这种方式传输文件系统吗?

预先感谢您的帮助。

评论

我不认为问题与当前形式的逆向工程有关,或者也许我只是看不到它。您尝试在sysadmin或askubuntu中询问此问题吗?

@DominikAntal好的,逆向工程将取决于您的意图的大部分时间...因此,决定何时进行(或不进行)逆向工程非常微妙。对于这个问题,我倾向于认为反向器将非常有兴趣转储固件以对其进行分析...因此,我不同意您的陈述。

显示前几个字节的十六进制转储。很可能不是Squashfs。

#1 楼

就像/ proc / mtd中的名称所暗示的那样,mtd0可能不是文件系统,但更可能是引导加载程序。同样,mtd3的名称表明它包含已保存的配置设置(管理员密码,无线设置等)。

mtd1和mtd2的“标志”和“主要”名称分别有点含糊,但是由于名称和大小,我希望mtd2包含文件系统。它也可能也包含Linux内核,因此文件系统可能不会在mtd2的开头启动。通过ftp删除mtd2的副本后,您将不得不找到文件系统的开头并dd出来以提取/挂载它。

作为补充,请不要一旦找到squashfs文件系统,您的Linux主机无法挂载它,就不会感到惊讶。 squashfs的破解版本很多,您可能需要找到适合该特定版本的squashfs工具,然后在映像上运行unsquashfs来提取文件。

评论


谢谢你的帮助。也感谢您的网站。我在pauldotcom上看到了您的采访,并从那里访问了您的网站。当我尝试学习很多东西时,这是非常宝贵的。我将仔细研究mtd2,看看是否能解决所有问题。如果我没记错的话,固件modkit有很多不同版本的unsquashfs可以尝试。如果我能找到文件系统的开始,那我可能会放弃。

– Xtrato
2014年7月9日在19:18



#2 楼

我找到了带有devttys0注释的解决方案。

mtdblock2包含文件系统。这是显而易见的,因为它的大小大于其他mtd设备。我对该文件进行ftpd,然后下载了固件mod套件,该套件的脚本包含所有unsquashfs版本的脚本,并尝试提取固件。在这种情况下,它使用的版本为quashfs-3.2-r2-hg612-lzma。

#3 楼

您可以为确切的“图像”添加猫/proc/mtd

cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 01000000 00001000 "whole_flash"
mtd1: 00020000 00001000 "bootloader"
mtd2: 00060000 00001000 "userconfig"
mtd3: 004c0000 00001000 "filesystem1"
mtd4: 00300000 00001000 "kernel1"
mtd5: 00300000 00001000 "kernel2"
mtd6: 004c0000 00001000 "filesystem2"