找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 25330|回复: 127

【1.26已破解】歌华链路由的原始固件研究及修改

  [复制链接]
本帖最后由 keke1023 于 2019-1-7 02:59 编辑

12-29:今天用同样的方法研究了1.26固件,已经放出伪升级包可以开telnet,见另一个帖子https://www.right.com.cn/forum/thread-390936-1-1.html

其实这篇文章早在15天前就该写出来的。。结果因为我给需要救砖的朋友回帖发闲鱼的链接被禁言十五天哈哈哈哈~
大概就是当大家还没注意到歌华链路由的时候我发现它的配置和价格非常适合入手,就买了两台回来,到手先拆机把闪存的内容全部读出来
然后开始研究,这个过程也并非什么稀奇的事,但是希望记录下来也让新手有个参照
那么我就开始记录整个过程:
1.首先把读出的编程器固件用7zip解包,主要查看一下/etc文件夹下的内容,当然也要看看/www文件夹下有没有什么后台页面或者工厂模式,结果发现/www/luci2/里面有个ifiwen_hss.html。。。这个名字反过来就是ssh_newifi,可见它就是从newifi的固件改来的,而看配置可以确定是newifi3吧,都是7621+512
2.但是这个页面并不能打开ssh,因为对应的luci2.basic里已经删掉了open.dropbear方法,再去/etc/init.d里查看,找到了telnet,打开看到它开启的不是常规的23端口,而是procd_set_param command "$PROG" -p 2317 -F -l /bin/login.sh手工指定到2317端口了,这样就很好办了,上电直接telnet,去刷机即可
3.telnet连接后发现,Bootloader分区是locked锁着的,不能直接刷breed,所以当时我就自己用lean大神的源码编译了一个mtd0分区解锁的固件,用的是wr1200js+newifi3的dts结合起来改出来的固件,网口正常,无线正常,led不正常(后来看到lean大亲自编译了适配的潘多拉固件,led也是正常的,很厉害),当时为了测试led的gpio我还刷了breed-mt7621-pbr-m1去进行btntst,结果依然是测不出来2.4G和5G的gpio是多少,如果用wr1200js的定义编译的话,出来这两个灯貌似是txrx?这方面不懂,还在研究
4.于是通过telnet下的mtd指令直接刷掉firmware分区(mtd -r write ./unlock-sysupgrade.bin firmware)来解锁Bootlloader分区,再刷breed,当时测试的是gpio18的breed就可以用,同样也是led不正常但是功能没什么问题,并且padavan可以直接用newifi3的,至此其实已经完成了刷固件和刷breed,往常至此就大功告成了
5.但是我接着研究下去,先用winhex把0x50000-0xC0FFFF截取出来,然后在linux下用firmware-modkit的extract-firmware.sh解压这部分,其实跟在win下用7zip解压出来的文件内容是一样的,但是这样方便再次打包回去,我当时用的ubuntu所以得用root权限去编辑rootfs里的文件,当时主要是四个文件,/etc/openwrt_release,/etc/openwrt_version和/etc/rc.local以及/etc/init.d/telnet
前两个文件为了修改版本编号,以便升级时的检查,后两个第一个是为了开机运行/etc/init.d/telnet start_service ()开启telnet,最后一个是为了修改telnetd运行的端口,原本是2317,改为默认的23比较方便
6.生成固件时,使用firmware-mod-kit自带的build-firmware.sh会报错说生成固件太大,应该是压缩方式的问题,使用binwalk没法看出压缩方式,于是使用了sasqustch,使用binwalk看出是little endian所以这里使用-le选项,注意此处解压的文件是firmware-modkit/fmw/image_parts/rootfs.img,实际上解压出的文件和firmware-modkit解压出的相同,目的只是为了看出解压过程使用的是xz解压方式,执行sasquatch -le ./rootfs.img
7.打包固件要用到squashfs-tools,执行sudo mksquashfs ./rootfs/ rootfs.squashfs -comp xz生成了正确的rootfs的压缩文件
8.最后将是合成一个完整的固件,将firmware-modkit/fmw/image_parts/header.img(这个文件是已经lzma压缩过的,不用再处理)和刚才生成的xz压缩过的rootfs.squashfs合并成一个sysupgrade.bin,执行cat header.img rootfs.squashfs > sysupgrade.bin,至此就人工的伪造出了一个修改过的升级固件
9.回到原厂的系统里直接用sysupgrade.bin进行升级,对比了一下固件大小,还是有些微的变化,从原本的12.3mb变成了12.7mb,但是可以正常刷入进行升级,升级后版本号也变成了我指定的数字,telnet的端口也变成了我修改的23,说明伪造的升级包成功了

虽然还有很多细节我也并不清楚,但是目前看来,基于openwrt开发的固件,可以通过这样的修改方式去伪造升级包,来打开telnet或者修改一些其他的内容,或者只是侥幸在这个路由器上适用,希望还能有更加了解的朋友介绍一下(后来我在tplink的wdr8600上这么尝试就失败了无法升级,只能改了固件再直接用编程器写到闪存里,目前也还没打开telnet...)
目前听说新的1.26固件关闭了telnet也不允许直接降级,说不定可以试试这个方法,希望@lean 大神可以把这个dts加到源码里,我就能学习一下gpio的问题啦~感谢@hackpascal 大神为这个机型出了专用breed~

放上我自己改的sysupgrade.bin,可以在官方系统直接升级(只适用于1.2.5,其他的见开头新帖子),升级后telnet开启在23默认端口
下载地址https://pan.baidu.com/s/1odk6Nn7VOAOJQkmO8b0HVQ  提取码:i8pq
我的恩山、我的无线 The best wifi forum is right here.
本帖最后由 FLCL 于 2018-12-25 21:33 编辑

大佬大佬 然而hack大的歌华链专用breed刷老毛子固件还是起不来,还是用的M1的breed

点评

你用哪个版本的breed,我昨天用专版刷什么固件都起不来  详情 回复 发表于 2018-12-26 16:02
是嘛?我倒是没测专用breed,我就是拿m1的一直在用着,看来还是有些问题。。  详情 回复 发表于 2018-12-25 21:52
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

佩服牛人。。。。DST貌似有大神分享了https://www.right.com.cn/forum/thread-384062-1-1.html

点评

谢谢谢谢~这下我可以多学点关于gpio和switch的知识了~  详情 回复 发表于 2018-12-25 21:51
我这个dts有问题的…不知道楼主的dts怎样,7530这个交换机不懂  详情 回复 发表于 2018-12-25 21:50
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
后来过了几天看到有人发布了降级1.21的固件,可以直接刷breed,虽然方便,但是研究也有研究的快乐~或者至少是自娱自乐吧哈哈哈

点评

有刷机群进么?  详情 回复 发表于 2019-3-18 13:18
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
j4444 发表于 2018-12-25 21:34
佩服牛人。。。。DST貌似有大神分享了https://www.right.com.cn/forum/thread-384062-1-1.html

我这个dts有问题的…不知道楼主的dts怎样,7530这个交换机不懂
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
j4444 发表于 2018-12-25 21:34
佩服牛人。。。。DST貌似有大神分享了https://www.right.com.cn/forum/thread-384062-1-1.html

谢谢谢谢~这下我可以多学点关于gpio和switch的知识了~
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
FLCL 发表于 2018-12-25 21:30
大佬大佬 然而hack大的歌华链专用breed刷老毛子固件还是起不来,还是用的M1的breed

是嘛?我倒是没测专用breed,我就是拿m1的一直在用着,看来还是有些问题。。

点评

是的,驱动应该没问题,不过用来刷固件却不行  详情 回复 发表于 2018-12-25 22:04
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

真厉害,膜拜。我是编程0基础菜鸟,只会按初级教程一步步来。。。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

keke1023 发表于 2018-12-25 21:52
是嘛?我倒是没测专用breed,我就是拿m1的一直在用着,看来还是有些问题。。

是的,驱动应该没问题,不过用来刷固件却不行
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
kochiya 发表于 2018-12-25 21:50
我这个dts有问题的…不知道楼主的dts怎样,7530这个交换机不懂

呀我刚去回复你的帖子准备下载来着哈哈哈~我是用了wr1200js的文件改的,把内存改成512,闪存改成32,这里都是参照newifi3,然后switch直接分到newifi3下面,led还是直接用wr1200js的,不过我用的是m1的breed,switch和led这方面我真是不太懂…

点评

port分布 wan是port4 lan是012 port6是cpu  详情 回复 发表于 2018-12-25 22:09
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

能否分享一下wr1200js的dts文件,谢谢了。。。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
keke1023 发表于 2018-12-25 22:06
呀我刚去回复你的帖子准备下载来着哈哈哈~我是用了wr1200js的文件改的,把内存改成512,闪存改成32,这里 ...

port分布 wan是port4 lan是012 port6是cpu

点评

感谢!目前使用wr1200js的dts修改后,自编译的trunk版openwrt可以正常启动了,usb及internet的led正常了,目前还差power,两个wifi的led还没来得及找gpio端口,另外软件重启不正常。。。  详情 回复 发表于 2018-12-26 22:46
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

求一波sysupgrade.bin

点评

已经发了百度云链接了~  详情 回复 发表于 2018-12-25 22:33
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
wackejohn 发表于 2018-12-25 22:08
能否分享一下wr1200js的dts文件,谢谢了。。。

lean大开源的lede里有的,麻烦你找找看~
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
alsk 发表于 2018-12-25 22:09
求一波sysupgrade.bin

稍等我看帖子里还能放不,如果可以的话放出来~
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-29 00:27

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

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