找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 44321|回复: 64

TP-LINK VxWorks 固件头校验的分析

  [复制链接]
发表于 2014-7-5 17:37 | 显示全部楼层 |阅读模式
本帖最后由 hackpascal 于 2015-5-17 12:22 编辑

看到有不少人在讨论 TP-LINK 的 VxWorks 固件头修改,这里楼主给出自己的分析:

楼主发此贴的目的是让你们放弃对不拆机刷机的幻想。遇到VxWorks的路由,老老实实拆机硬改吧!!

TP-LINK 的 VxWorks 固件头有两种:

第一种是比较早的,以 TL-WR841N v9 国内版为例:
其特点是整个固件就是一个文件



第二种是比较新的,以 TL-WR882N v1 为例:
其特点是固件分为文件系统部分和内核部分



以上两个图选中的部分是固件的 MD5 校验。
MD5 校验方式和 Linux 版的检验方式相同,即使用一个固定的 16 字节数据填充选中的部分,再计算替换后的文件的 MD5,将此值覆盖回选中的部分。

楼主用 IDA 对固件进行了逆向分析,得到了那串固定的 16 字节数据:
CC 96 28 EE 8D FB 21 BB 3D EF 6C B5 9F 77 4C 7C

使用此数据就可以成功绕过 MD5 校验。

但是,这还没完!

(P.S. 这个仅部分固件有以下这个校验)
重新计算 MD5 校验后,在 Web 里进行升级,会出现如下提示:



这个提示实际上是骗人的,真实的错误是什么呢?
需要看看 TTL 的输出:



看最后一行的提示: RSA SIGN is error
这说明固件带有 RSA 签名!

这个数字签名在何处呢?比较一下刷入到 Flash 中的数据和原升级固件,发现升级固件里最后有 0x80 字节没有被写入,这就是 RSA 签名:



修改固件内容,RSA 签名就会被破坏。
0x80 字节的数据说明此 RSA 是 1024-bit 的,暴力破解基本无望。
因此,想要通过修改固件头来刷其他固件基本上是不可能的了。

P.S.

在 IDA 里可以看到升级固件的步骤:



可以看到系统会依次检查固件头的 Magic、产品ID、固件版本、生产商ID、国家ID、语言ID、固件大小、MD5校验,
最后检查 RSA 签名。

此 RSA 签名的方式应该是先计算固件的 MD5,再对此 MD5 值进行签名。

分析固件可得到3组疑似公钥:

BgIAAACkAABSU0ExAAQAAAEAAQA1Ccyu85b65TawjvSQTaryGNk1gBJVn6kEIJq6m0hagsqkiy32v4ui41ucp6tKfaoqb7AHDBq41dcEMgM6YBF2e3aRKQqZ6EwgCvAi3O81n7UbE97lD+FhvqlYxyqqMbSdvNmCiAoujheUs9DUaOCHq4K3McDxATMVOnCtT1H+wQ==

BgIAAACkAABSU0ExAAQAAAEAAQD7Bk7f7fdnL9drucbr+P9wA2JUlYP/OH4zvIS69eY3KKmUB1fs9ND06EINqTQ4vQ4gCeekU1dRi3WiZLgVjo/UzovplddUezNMWq0gk4TVbsGf/xzXZN+pDWid9zYsSr9qvINId6cnMR+s/wXB1TOE6t6wfzHvnbkJR0r1mqG4yA==

BgIAAACkAABSU0ExAAQAAAEAAQAHNt5fFl0BUlLkPjKJloZFlVFkegFjEsVJCRjwbRD6i646tpvc/Z5MK6SuXcz3yizxDGMnZ6BJdqCR9SJTdd3b11F7Q+pgetcAgX5X9NZTzo1MCvpkKAlEyZG0rXMpSbADNNqtACNT0BLhHu4nyiDBBIIOSZljQAzHiqSquxHDsg==

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 4恩山币 +10 收起 理由
antren + 1 楼主威武—我就想问问挖掘机技术哪家强?
tawangxunyuan + 5 拿去买糖吃吧!
ZHIZAI100 + 3 一看就是觉得高端、大气、上档次!
libc0607 + 1

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2014-7-5 19:13 | 显示全部楼层
高手 支持破解
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-6 00:35 | 显示全部楼层
我现在的FWR200根本不能用WDS 也不能刷水星的......................
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-6 00:37 | 显示全部楼层
支持楼主
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-6 01:14 | 显示全部楼层
楼主真是人才啊!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-6 13:22 | 显示全部楼层
这个必须顶 希望早点出解决方法
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-6 15:05 | 显示全部楼层
好文,精彩
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-6 16:38 | 显示全部楼层
841N V9 OP 的开发版已经支持了 就是说 他们已经解决了这个问题了吧
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-7-6 17:02 | 显示全部楼层
soilfish 发表于 2014-7-6 16:38
841N V9 OP 的开发版已经支持了 就是说 他们已经解决了这个问题了吧

国际版是linux固件
国内是vxworks
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-11 10:30 | 显示全部楼层
额,这个帖子证明了楼主是位高手
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-11 10:47 | 显示全部楼层
楼主牛逼
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-11 13:58 | 显示全部楼层
这个必须赞一个
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-11 14:33 | 显示全部楼层
基本上和破解一些软件的思路一样。
比如写keygen的时候,替换软件的公钥,用自己的公钥。然后按照注册算法写注册机。
但是路由器要替换公钥,必然要动flash上编程器,既然动了flash都上编程器了,我还干嘛要刷官方固件?直接烧个openwrt不就行了。



我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-11 15:25 | 显示全部楼层
点赞,好像很少Vxworks的资料啊
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-11 16:06 | 显示全部楼层
IDA是什么东东?jtag?

点评

Interactive Disassembler https://www.hex-rays.com/products/ida/ 交互式反汇编分析工具  详情 回复 发表于 2014-7-11 16:09
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 16:53

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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