找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 3194|回复: 11

让贝尔金可以直接在WEB管理页面中刷DDWRT

[复制链接]
发表于 2007-7-27 03:12 | 显示全部楼层 |阅读模式
在贝尔金的WEB管理页面中直接DDWRT的方法是修改BIN文件

找到一篇文章说到如何修改的,现在正在写个程序直接对DDWRT的 BIN文件打补丁后就可以刷
但我有有其中一点说明看不明白,请E文好的朋友翻译下,现在就卡在这里了

这点的说明是CRC32计算,搞不清楚F6 B8 EA B4是怎么算出来,E文太烂了
The next four bytes are the CRC-32 checksum of everything but the first 12 bytes of the file. I used the command cksum -o 3 in OS X to calculate this checksum. The file contains the one's complement of the result of this calculation, i.e. flip all the bits, and again, the bytes are in little-endian order.

  1. 00000000: 4C 4F 41 44 1C 70 1A 00 F6 B8 EA B4 00 80 00 00    LOAD.p..........
  2. 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 48 44 52 30    ............HDR0
复制代码


原文:http://www.dd-wrt.com/phpBB2/vie ... amp;highlight=v1444
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2007-7-27 15:08 | 显示全部楼层
接下午的4字节是文件除前面12字节外的所有字节的crc32,我曾经在osx系统里用cksum -o 3命令计算校验结果。剩下的不会翻译了
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
 楼主| 发表于 2007-7-27 23:31 | 显示全部楼层
好像不对啊,怎么算都跟他原文件不一样
不知是不是我的CRC算法有问题
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2007-7-28 21:01 | 显示全部楼层
顶起来!解决这个问题大家都可以受益啊!
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2007-7-28 21:28 | 显示全部楼层
意思是"这四个BYTE是头12个字节的CHECKSUM,你可以把你对这头12个字节的CHECKSUM计算结果代入到这四个字节里,排列的顺序是反向的"

[ 本帖最后由 mucher 于 2007-7-28 21:39 编辑 ]
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
 楼主| 发表于 2007-7-28 23:15 | 显示全部楼层
还有一点,就是不清楚这12字节是未修改的BIN文件的头12字节,还是修改后的头12字节,CRC32的算法我都换了好多了,都算不出跟原来的一样的
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2007-7-29 00:10 | 显示全部楼层
* The first four bytes are "LOAD".
    * The next four bytes contain the length of the file including the header. The length of the file is 1732636 bytes, which equals 1732608, the length of dd-wrt.v23_micro_generic.bin, plus 28, the length of the header. The hexadecimal representation of this number is 1A701C, and the bytes appear in the file in reverse, or little-endian, order, i.e. 1C701A00.
    * The next four bytes are the CRC-32 checksum of everything but the first 12 bytes of the file. I used the command cksum -o 3 in OS X to calculate this checksum. The file contains the one's complement of the result of this calculation, i.e. flip all the bits, and again, the bytes are in little-endian order.
    * Next comes 00, 80, and then 14 more 00s. You have to prepend this to dd-wrt.v23_micro_generic.bin before you can calculate the checksum in the previous step.

整个给你搬过来了。
1)头四个BYTE是加载的意思
2)接着四个BYTE是整个文件的长度(包括头文件)
3)接着四个BYTE是本文件的头12个BYTE的CHECKSUM
4)00,80,加上十四个00,计算刚才说的CHECKSUM前加入。

咱没改过FIRMWARE(只改过一次显卡的),只从字面意义上说,有几步是必须做的:
1)做第四步,这样第2步的结果就有了(文件长度)
2)做第3步

个人建议,先用原文件的头12个字节计算一下第3步,与原文件的CHECKSUM核对,以确认你的计算方法正确,然后再做刚才字面意义上的几步,生成你修改后文件的CHECKSUM,再代入上面所说的CHECKSUM的四个字节的位置。

[ 本帖最后由 mucher 于 2007-7-29 00:43 编辑 ]
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2007-8-12 08:52 | 显示全部楼层
兄弟你的补丁进展如何啊?
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
 楼主| 发表于 2007-8-12 12:26 | 显示全部楼层
checksum 的CRC32函数老是不对(所用的BIN文件是原文章中的文件),算出来的跟文章所说的老是不一样。找不到正确的校验函数。。。烦了几天,老是不行。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2007-8-12 19:50 | 显示全部楼层
程序我学的不好啊,后悔没有好好思考,那时候也因为太枯燥了,你可以把你的问题贴到程序相关的论坛去请教高手
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2007-8-13 15:08 | 显示全部楼层
关注此帖
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2007-8-14 22:56 | 显示全部楼层
大家有会或者懂的出来帮个忙啊
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

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

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

GMT+8, 2024-9-27 12:22

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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