首页
社区
课程
招聘
[原创]路由器另类玩法之提取根文件系统映像并解包
2014-12-10 02:01 27017

[原创]路由器另类玩法之提取根文件系统映像并解包

bxc 活跃值
6
2014-12-10 02:01
27017
之前发了篇文章关于拿路由器shell的:http://bbs.pediy.com/showthread.php?p=1336958

忘了介绍下我的路由器了,我路由器是WO-GWH-11(W).好像是星网 AR800-hn的联通版.

不过对于我这种人来说,这些还不够玩,不研究到底怎能罢休

于是乎想研究一下路由器的系统和固件(不知道是不是一个东西),

一直以来都很想自己diy路由器固件,不过也一直没机会,加上我这路由器是办宽带送的(算是定制路由器?).

固件也就在网上压根看不到.所以想把路由器固件导出来look look.能自己修改就最好了.

网上查了一大堆资料,再次感谢谷歌~~~

看到一些资料,关于备份路由器固件的.
http://www.v2ex.com/t/131986

首先需要知道固件在哪个设备,命令行里输入:
# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 0053c000 00000000 "BCM63XX RootFS"
# 


看到这里我就无语了,为什么别人的mtd里那么多东西,而我的就一行,送的也不能这么寒酸吧.

不过基本能看出来,这玩意应该是根文件系统.

于是准备转储出来:
# dd if=/dev/mtd0 of=/mnt/usb1_1/rootfs.bin
dd: not found
# 


连基本的linux命令都没有.想起来之前在/bin看到了busybox.这回有救了~~
# busybox
BusyBox v1.00 (2011.06.20-01:20+0000) multi-call binary

Usage: busybox [function] [arguments]...
   or: [function] [arguments]...

        BusyBox is a multi-call binary that combines many common Unix
        utilities into a single executable.  Most people will create a
        link to busybox for each function they wish to use, and BusyBox
        will act like whatever it was invoked as.

Currently defined functions:
        [, busybox, cat, chmod, cp, date, deluser, df, dmesg, echo, expr,
        false, ftpget, ifconfig, init, insmod, kill, killall, klogd, linuxrc,
        ln, logger, logread, ls, lsmod, mkdir, mknod, mount, msh, ping,
        ping6, ps, pwd, reboot, rm, rmdir, rmmod, route, sendarp, sh,
        sleep, smuxctl, sync, syslogd, test, tftp, tftpd, top, true, tty,
        umount, vconfig

# 

还真是送的...

还好我这路由器支持U盘,而且之前测试过,U盘的里文件可以执行~~

然后去busybox官网上下了个预构建的busybox-mips.(我可没工夫配置交叉编译器)

copy到U盘里,插进路由器执行:
# /mnt/usb1_1/busybox-mips dd if=/dev/mtd0 of=/mnt/usb1_1/rootfs    
10720+0 records in
10720+0 records out
5488640 bytes (5.2MB) copied, 2.524430 seconds, 2.1MB/s
# 


总算把根文件系统转储出来了.现在的问题就是怎么解包了~

把U盘插回PC,用UE看了下刚转储出来的文件.映入眼帘的就是四个小写字母"qshs",猜测这是个Magics Word.类似于PE文件的"MZ".

于是google: rootfs qshs
https://huaweihg612hacking.wordpress.com/2011/07/05/hexdumping-the-firmware/

发现是一种名为squashfs的文件系统映像,继续google之,找到了解包打包这种映像的工具:
http://sourceforge.net/projects/squashfs/files/

下载下来后发现好像不支持msvc构建,于是vm跑起ubuntu,将源码拖进去之后make.

make时,提示缺少zlib.h,又去zlib官网下载了最新的版本并make install.

再接着make就成功了,然后终端里执行:unsquashfs ./rootfs

结果提示好像是无效的格式,百思不得解.继续google~

就发现了好东西:
http://sourceforge.net/p/squashfs/patches/20/

原来需要patch源码,手工patch后,编译~

接着执行:unsquashfs ./rootfs

又提示什么不支持LZMA...然后又google.

原来要支持LZMA需要下载LZMA SDK,并修改makefile里的编译参数.

全部弄完后,终于解包成功了!!



最后附上我路由器固件(因为有些文件是字符或块设备,所以打包不进压缩文件中):
http://CserSoft.opendrive.com/files/NV81NDIyNTY5MF9yOGduMl83YjQ5/squashfs-root.tar.gz

和我修改过的squashfs4.3(src和bin):
squashfs4.3-patched.7z
本来是.tar.gz,结果论坛不支持上传gz

[培训]科锐软件逆向50期预科班报名即将截止,速来!!! 50期正式班报名火爆招生中!!!

上传的附件:
收藏
免费 3
打赏
分享
最新回复 (18)
雪    币: 719
活跃值: (782)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
落笔飞花 1 2014-12-10 08:03
2
0
前排膜拜突然想到一个邪恶的做法。呵呵
雪    币: 144
活跃值: (335)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
人在塔在 2014-12-10 09:15
3
0
可以 拷贝程序进去在打包 然后刷回路由器玩玩
雪    币: 2879
活跃值: (1101)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yjd 2014-12-10 09:26
4
0
就一个uclinux。
雪    币: 83
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
sltpgm 2014-12-10 10:40
5
0
这可不是什么另类玩法,我有几个朋友就靠这个技术混饭的,日常接单而已,帮人弄一次价格是5位数的
你就这么放出来了
雪    币: 12467
活跃值: (3591)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xJJuno 2014-12-10 11:53
6
0
谷歌也这么多资料
这算是总结整理实践吧
不能说楼主砸饭碗
雪    币: 80
活跃值: (99)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
sunnysab 2014-12-10 12:51
7
0
TPLINK TL-WR742N 求修改。
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
skdebuger 2014-12-10 16:02
8
0
mark
雪    币: 83
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
sltpgm 2014-12-10 16:29
9
0
嗯,这个国外其实研究比较多的,像BlackHat的文章就比较多,
解包只是第一步,后面的工作还要看逆向功底的,
主要是带了更多的人入门了,现在玩arm之类的人也多了,
我想说的是,举个例子吧,以前玩外挂的人少,随便一个外挂都很赚钱,然后网上很难找到相关的教程
然后可能有的业余人士可能偶然发现了外挂的做法,慢慢的一大波人都会了,竞争就很大了,这一行就比较烂了,当然现在技术精依然赚钱,变成精英路线了

我感觉啊,最关键的问题是中国人太多了,现在各行各业竞争都很大,任何一行都得学得足够精才行
雪    币: 7076
活跃值: (3478)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
bxc 6 2014-12-10 17:33
10
0
不是吧,这也能赚钱0.0技术应该共享出来才能进步啊~虽然不适用于所有人~
雪    币: 7076
活跃值: (3478)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
bxc 6 2014-12-10 17:36
11
0
很赞同,的确是得精通了才行~
雪    币: 83
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
sltpgm 2014-12-10 18:08
12
0
逆出来然后山寨,电子产品做山寨的很多,把国外原厂产品的价格都给拖下来了,现在电子产品降价那么厉害,这也算是一大贡献吧
雪    币: 7076
活跃值: (3478)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
bxc 6 2014-12-10 18:09
13
0
原来如此估计5位数里逆向得占大头吧
雪    币: 226
活跃值: (330)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
goldenegg 2 2014-12-10 23:43
14
0
楼主去恩山混混吧,这些都是最基本的。
雪    币: 7076
活跃值: (3478)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
bxc 6 2014-12-11 01:17
15
0
好像是个专业论坛
雪    币: 136
活跃值: (65)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
caigui 1 2014-12-12 15:14
16
0
mark
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
dyshjl 2015-1-6 22:30
17
0
学习了一下,很受启发
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
人生格言 2015-1-9 17:17
18
0
雪    币: 123
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wawt 2015-7-12 16:06
19
0
这个得收藏,要好好研究下!
游客
登录 | 注册 方可回帖
返回