赞助论坛
  • 56035阅读
  • 0回复

小海尔阻止空中升级探讨 [复制链接]

楼层直达

发帖
58
精华
11
金币
882
威望
105
贡献
113
好评
41
注册
2010-01-05
楼主    quicktime 发表于: 2010-08-06 13:00:34 
半个月前op大问起如何阻止升级。抱歉俺很长时间没管鸡丁盒的事了,昨天才看到。
要阻止空中升级有两个办法,
一个是破坏AP中检测升级流处的代码,这部分要分析AP,因AP代码量大,比较难。
另一个方法,修改升级代码,进行假升级。其实俺在以前的帖子里已经讨论并验证了这个方法。

参见老贴:
[url=http://bbs.lcdhome.net/read-htm-tid-70694.html]怎样修改空中升鸡数据[/url]
该方法已经在卓异大海尔上测试通过。偶没有小海尔机,也没一一精力分析,小海尔搁浅。

先弱弱的问一下,小海尔也会空中升级吗?如果不会,下面的都是废话。

昨天把byzx大侠提供的小海尔反汇编代码看了一下,大致找到修改点,有兴趣的TX可以试试。俺没有小海尔机,也没有仔细分析过小海尔代码,仅跟据大海尔的特征,找到小海尔的相似代码,不一定能成功。下面的修改理论上不会成砖,不行就刷回原来的bin。

下面是以论坛提供的卓异2023E(2023EC)+3121(3102、3106)海尔套片系列(原厂).bin为模板进行修改。

修改方法:

1. 12 5D E8 38 7F 63. 同时记住数字12后面跟随的三个数字YYYYYY, 这里YYYYYY就是5DE838

2. 在bin的400~1FF00之间找一个空闲的都是FFFF的地方,空闲区要长。该处地址值变换代码空间地址,对于卓异海尔bin,把该处的地址值减0400H加上5D0000,得到三个字节数字。比如是MMMMMM

3. 把第1步找到的YYYYYY修改成MMMMMM

5. 修改地址MMMMMM处数据。依次录入:C0 86 75 86 01 90 26 62 A7 05 86 90 02 00 59 75 86 20 78 08 E0 F0 A3 A3 D8 FA D0 86 22

6. 注意,以上的YYYYYY,MMMMMM等都必须是完整的3字节数据,不足用零补齐,比如000326.

7. 重新修正01FFF8处CRC32。OK, 刷机测试。

这个方法骗过升级程序, 升级日期和版本号更新,而实际程序数据没有更新。
修改成功的现象:
如果检测到升级流,同时又有符合条件的升级数据,那么会进入升级画面,进度条会走完,升级成功。而实际应用程序区数据还是原来的,Flash Header处的版本号,更新日期都是最新的。

要进行测试的条件:
1. 有空中升级数据流。
2. 你的小海尔机在没有修改前,可以空中升级。但不希望空中升级破坏原有AP数据。
本帖最近评分记录: 5 条评分