找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 26506|回复: 23

关于TP-LINK VxWorks固件头的修改

[复制链接]
发表于 2014-6-24 10:34 | 显示全部楼层 |阅读模式
本帖最后由 冷焰心 于 2014-6-24 11:10 编辑

http://service.tp-link.com.cn/detail_download_1366.html的固件wr842nv4-cn-up.bin为例

路由是wr842n v4

16进制编辑器打开后,头部内容如下:固件总大小:0x0D52B3
00000000h: 00 14 2F C0 E6 C0 46 3D 33 26 26 BF 80 05 6F F9 ;
00000010h: 4D 6C 85 98 49 4D 47 30 00 0D 52 A0 08 42 00 04 ;
00000020h: 00 00 00 00 5A 01 03 07 01 00 00 00 00 00 00 00 ;
00000030h: 00 00 00 00 00 00 00 00 00 00 F0 00 00 00 00 00 ;
00000040h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;
00000050h: 00 00 00 00 00 00 00 80 00 0D 52 20 00 00 00 00 ;
00000060h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;
00000070h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;
00000080h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;

根据https://www.right.com.cn/forum/thread-133841-1-1.html,我觉得信息应该如下:
0x00-0x03   00 14 2F C0                                      去除校验码后固件大小
0x04-0x13   E6 C0 46 3D 33 26 26 BF 80 05 6F F9 4D 6C 85 98  校验码(MD5值)
0x14-0x17   49 4D 47 30                                      IMG镜像起始标识(VxWorks)
0x18-0x1B   00 0D 52 A0                                      去除头部+校验码(0x00-0x13)后固件大小
0x1C-0x1F   08 42 00 04                                      产品型号&版本
0x58-0x5B   00 0D 52 20                                      从0x94开始至结尾的大小


E6 C0 46 3D 33 26 26 BF 80 05 6F F9 4D 6C 85 98
替换为
CC 96 28 EE 8D FB 21 BB 3D EF 6C B5 9F 77 4C 7C

然后另存为其它名字的文件,再计算这个文件的MD5,
会发现结果就是E6 C0 46 3D 33 26 26 BF 80 05 6F F9 4D 6C 85 98

接着:
0x0D52B3-0x13=0xD52A0
0x0D52B3-0x93=0xD5220

关于0x00-0x03的值00 14 2F C0是从哪儿计算的,目前还不清楚。

只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
 楼主| 发表于 2014-6-24 11:09 | 显示全部楼层
本帖最后由 冷焰心 于 2014-6-24 14:50 编辑

终于发出来了。。
望高手们继续补充,从而完全通过tp-link的web升级校检
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2014-6-24 12:21 来自手机 | 显示全部楼层
支持楼主,关注中。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2014-6-24 14:32 | 显示全部楼层
也就是说用 E6 C0 46 3D 33 26 26 BF 80 05 6F F9 4D 6C 85 98 替换然后计算上就可以通过WEB升级了?

点评

为什么要把md5 替换成CC 96 28 EE 8D FB 21 BB 3D EF 6C B5 9F 77 4C 7C 这个?有什么根据嘛?  详情 回复 发表于 2014-8-21 14:12
还得将0x18-0x1B,0x58-0x5B位置的值也相应调整  发表于 2014-6-24 14:51
先基于官方的固件修改,然后把0x04~0x13位置替换成CC 96 28 EE 8D FB 21 BB 3D EF 6C B5 9F 77 4C 7C 然后计算文件的MD5后,再把MD5值重新替换到0x04~0x13位置。 前提是你改过固件后大小不变,如果变了,还得将0x1   发表于 2014-6-24 14:49
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
 楼主| 发表于 2014-6-24 14:56 | 显示全部楼层
本帖最后由 冷焰心 于 2014-6-24 14:58 编辑

我的842N V4.0硬改成16M/64M后,编程器刷的原厂固件,总是频繁掉线。所以想换成类似的mw305r v3原厂固件。
升级开始包18000错误(产品不匹配),按照上面的方法修改固件里0x1C-0x1F为08 42 00 04后,升级包18009错误(所升级的版本低于当前版本)。
说明固件校检通过了,但版本号没通过。
是否有大神知道此时还需要改哪里?

点评

我曾经分析过wdr3320 v2的固件校验,发现tp升级出现的错误提示具有欺骗性 wdr3320 v2的固件头比较特别,含有一段RSA数字签名。因此即使修改了硬件型号和MD5校验,RSA签名也会被破坏,此时升级给出的错误提示就是 18  详情 回复 发表于 2014-6-24 15:05
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2014-6-24 15:05 | 显示全部楼层
冷焰心 发表于 2014-6-24 14:56
我的842N V4.0硬改成16M/64M后,编程器刷的原厂固件,总是频繁掉线。所以想换成类似的mw305r v3原厂固件。
...

我曾经分析过wdr3320 v2的固件校验,发现tp升级出现的错误提示具有欺骗性
wdr3320 v2的固件头比较特别,含有一段RSA数字签名。因此即使修改了硬件型号和MD5校验,RSA签名也会被破坏,此时升级给出的错误提示就是 18009 错误

点评

3320所以只能编程器刷咯?  详情 回复 发表于 2018-7-11 15:43
https://forum.openwrt.org/viewtopic.php?id=41040帖子里那个jvvh5897应该是改成功了wr702n,也许不同的型号,校检不一样吧  发表于 2014-6-24 15:23
晕。上终极手段了,还带数字签名……。内置公钥去校验的话,基本就没办法了  详情 回复 发表于 2014-6-24 15:20
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2014-6-24 15:20 | 显示全部楼层
hackpascal 发表于 2014-6-24 15:05
我曾经分析过wdr3320 v2的固件校验,发现tp升级出现的错误提示具有欺骗性
wdr3320 v2的固件头比较特别, ...

晕。上终极手段了,还带数字签名……。内置公钥去校验的话,基本就没办法了

点评

看来还是TTL或编程器替换直接点。  发表于 2014-6-24 15:23
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2014-7-5 01:52 来自手机 | 显示全部楼层
支持高手继续研究
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2014-7-5 08:30 | 显示全部楼层
表示关注一下,目前本人无能为力
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2014-7-5 13:51 | 显示全部楼层
将TL-WR842N V4.0_140528固件修改后再MW300R V9上刷提示
错误代码:18008
未被允许的OEM厂家。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2014-7-5 14:47 | 显示全部楼层
新发现
0x25-0x27为固件版本号
0x37为厂家标识,00是tplink,01是水星,02是迅捷
把0x37改成01后
提示

错误代码:18009
您选择的软件版本低于当前使用的软件版本,无法进行升级。
tplink太蛋疼了吧

点评

数字签名或校验被破坏了吧。。  详情 回复 发表于 2014-7-5 14:54
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2014-7-5 14:54 | 显示全部楼层
huaxie1988 发表于 2014-7-5 14:47
新发现
0x25-0x27为固件版本号
0x37为厂家标识,00是tplink,01是水星,02是迅捷

数字签名或校验被破坏了吧。。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
 楼主| 发表于 2014-7-5 14:54 | 显示全部楼层
放弃搞它了,VxWorks一般都是用在极小的flash上,1~2M,就算破解了,也不能直接刷op。
免不了拆换flash,不如直接编程器刷了。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2014-8-21 14:12 | 显示全部楼层
ghostja 发表于 2014-6-24 14:32
也就是说用 E6 C0 46 3D 33 26 26 BF 80 05 6F F9 4D 6C 85 98 替换然后计算上就可以通过WEB升级了?

为什么要把md5 替换成CC 96 28 EE 8D FB 21 BB 3D EF 6C B5 9F 77 4C 7C  这个?有什么根据嘛?
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2014-9-17 19:39 来自手机 | 显示全部楼层
版本号的数值是如何规定的啊,学校好多路由器需要老固件才能支持
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

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

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

GMT+8, 2024-9-29 06:26

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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