恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 15621|回复: 540

[k3] 斐讯k3官改 官root 网页上传刷入固件 分析和注意事项

    [复制链接]
发表于 2020-3-3 12:12 | 显示全部楼层 |阅读模式
本帖最后由 ikbszj75089 于 2020-4-26 09:45 编辑

去年的时候我发过一个帖子:https://www.right.com.cn/forum/thread-403247-1-1.html

说到官改和官root新版都可以路由器网页刷入第三方固件了,其中新版是指
官root:2018-12-23发布的root_131
官改:2019-1-2发布的2.02

下载固件使用7-zip打开分析:
官改2.1D

修改了 /usr/lib/lua/luci/controller/admin/manual_upgrade_plt.lua 文件

01.jpg

savetype 定义是否保存配置,保存则按照原版流程默认执行cmd

02.jpg

local cmd = "manual_upgrade"  // 官方默认定义的cmd为manual_upgrade程序

不保存则执行 新增的 /root/myup.sh 脚本

03.jpg

开机运行 /usr/mstart.sh 脚本 ,复制/usr/root的文件到/root文件夹,于是就有了/root/myup.sh 脚本,打开查看:

04.jpg


先检查文件signature固件文件头合法,判断是否为HDR ,如果不是就退出返回,第三方固件都是HDR,所以这里只能刷入第三方固件,不能刷入官方原版固件,

如果是HDR,则继续执行,判断是否保存配置,如果不保存就执行了两句命令:
#格式化nvram
nvram erase
#删除/root目录下所有文件
rm -rf /tmp/media/nand/*


问题来了,经过测试nvram erase是一条错误的命令:

07.jpg

#输入nvram会显示usage使用说明
[K3 /tmp]# nvram  
usage: nvram [get name] [set name=value] [getflag flagname bit][setflag flagname bit=value] [unset name] [show] [commit] ...
#计算一下现在的nvram分区MD5
[K3 /tmp]# md5sum /dev/mtd1
052e3e0ae3b4276a5d74e8150dd970dd  /dev/mtd1
#执行nvram erase 报错 会显示usage使用说明
[K3 /tmp]# nvram erase
usage: nvram [get name] [set name=value] [getflag flagname bit][setflag flagname bit=value] [unset name] [show] [commit] ...
#再次计算一下现在的nvram分区MD5
[K3 /tmp]# md5sum /dev/mtd1
052e3e0ae3b4276a5d74e8150dd970dd  /dev/mtd1


可以看到MD5没有变化,nvram erase命令是错误的,根本不会清除nvram,正确的命令应该是erase nvram

再来看一下官root131

manual_upgrade_plt.lua没有改动,执行默认cmd manual_upgrade,

05.jpg


manual_upgrade改成了一个脚本,把官方manual_upgrade程序重命名为manual_upgrade2,

06.jpg


检查传入参数,-c和-t 通过手机APP刷入则调用官方manual_upgrade2
检查固件大小1024000,固件大小需要大于1M(应该没有小于1M的固件吧)
检查固件文件头合法,是否为48445230,也就是HDR0,如果合法就格式化nvram执行erase nvram,继续调用run_ramfs.sh刷入固件
如果不是HDR0就跳过525312检查是否为HDR0,如果是就dd截取固件然后继续调用run_ramfs.sh刷入固件,官方固件前部分是cfe,刷入的时候截取删除cfe部分刷入,所以这里既能刷入第三方固件,也能刷入官方原版固件。



总结:两种固件都是把固件刷入/dev/mtdblock6,cat /proc/mtd查看后发现固件分区大小为02c00000,也就是44MB,所以都不能刷入大于44M的固件。


官改2.1D:可以刷入第三方固件,不保留配置会删除/root目录下的文件,但是不会格式化nvram,刷入lede没有影响,刷入梅林没有清除nvram可能会有问题,不能刷入大于44M的固件,不能刷入小于nvram参数dg_ver的官方原版固件。


官root131:可以刷入第三方固件,不会删除/root目录下的文件,默认会格式化nvram,刷入lede、梅林都没有影响,不能刷入小于1M和大于44M的固件,可以刷入任意官方原版固件,也可以ssh使用tb工具箱刷入第三方固件。

防沉补丁



评分

参与人数 4恩山币 +2 收起 理由
zackzhai + 1 强大的恩山!(以下重复1万次)
huitten + 1 别光喝酒啊,吃菜吃菜~~~
xiaoanti -1 我手抖了下,加分变扣分了!
古歌 + 1 生活不易,相遇也不易,既然这样,让我们成为朋友一起面朝大海、花开花落……

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-3 12:17 | 显示全部楼层
看看怎么修改
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-3 12:19 | 显示全部楼层
斐讯k3官改 官root 网页上传刷入固件 分析和注意事项
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-3 12:26 | 显示全部楼层
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-3 12:28 | 显示全部楼层
注意一下有好处
来自苹果客户端来自苹果客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-3 12:31 | 显示全部楼层
学习一下,楼主牛
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-3 12:46 | 显示全部楼层
意思就是官ROOT刷机方便
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-3 13:47 | 显示全部楼层
来看看了
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-3 13:59 | 显示全部楼层
谢谢,需要。。。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-3 14:07 | 显示全部楼层
什么情况?
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-3 14:32 | 显示全部楼层
我来看看什么情况
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-3 14:36 | 显示全部楼层
官ROOT刷起来太方便了 ,直接下个cn.dat,导入恢复备份,然后tbvv.net登陆路由器web界面手动升级root版本
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-3 15:16 | 显示全部楼层
学习一下,楼主牛
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-3 16:01 | 显示全部楼层
看看学习一下
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-3 16:05 | 显示全部楼层
看看怎么改
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2020-12-2 08:30

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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