迅维网

查看: 8809|回复: 4
打印 上一主题 下一主题

winhex中查找16进制数的偏移计算

  [复制链接]
跳转到指定楼层
1#
发表于 2009-9-21 13:29:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: 江苏徐州 来自 江苏徐州

马上注册,获取阅读精华内容及下载权限

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

x
看过WINHEX的一些资料,说道查找16进制数时,开始不明白为什么“偏移计算”后面的值一会是510=0,一会又是512=510。呵呵,别笑我有点笨哦,但之前我确实不知道,我不知道有没有和我一样的笨鸟。
     现在呢,把这个“为什么”放在这,算是给和我一样的笨鸟一点帮助。知识总会越积越多,对吧。
   不绕弯子了
先举几个例子:如1、查找EB5290时,我们要设偏移计算为512=0
                            2、查找55AA时候,我们要设偏移计算为
512=510
                            3、再补充一个
1024=512
注:等号前是我们要搜索分块大小,后面是从分块中起始搜索的位置。

详细解释,1、我们知道EB5290(或EBFE90/EB3C90/EB5890)是DBR的头三个字节,而55AA是MBR,EBR或DBR的结束标志,也就是说,EB5290是在一个扇区中的第0、1、2个位,而55AA是在一个扇区的第510、511这最后两个字节的位置。
我们知道,如果要在一个扇区中要找指定的字符(16进制),那么我们就要从头搜索到尾。如果说我们知道我们要搜索的字符在一个扇区的后半部分,那么我们就可以从一个扇区的中间位置开始向下搜索,这样就提高了搜索的速度。
好了
例1中:EB5290是在扇区的第0、1、2字节,那么我们只能以扇区为单位,从每个扇区的第一个字节搜索到最后一个字节。也就是 512=0 即:以512字节(一个扇区大小)为单位,从0位置开始搜。

       例2中:55AA在510,和511个字节上(注:扇区从0~511),所以我们可以以扇区为单位从510位置开始搜索。即512=510,我们对每个扇区只看它的最后两个字节。
   通过以上的分析来举一反三,我们要以两个扇区为单位从中间位置开始可设偏移计算条件为1024=512。
我们要只搜扇区中的第123个字节(从0~512),看是不是AB(其实就成了判断)偏移计算条件为512=123。
大胆一点,我们以100为单位,搜后面5个字节看是不是0011223344,偏移计算条件为100=95。
     哈...现在该明白偏移计算条件等式的意思了哦。
不知道分区类型的时候查找DBREB3F90时偏移调制512=0要设置通用字符3F
查找55AA的结束标志时偏移调制512=510

评分

参与人数 2下载分 -18 威望 +1 收起 理由
李胜波 + 2 + 1
夜雨十三天 -20 转帖请注明!

查看全部评分

2#
发表于 2009-9-21 13:33:58 | 只看该作者 来自: 辽宁营口 来自 辽宁营口
受益非浅卡呀

回复 支持 反对

使用道具 举报

3#
发表于 2009-9-23 22:00:08 | 只看该作者 来自: 山东烟台 来自 山东烟台
楼主讲解的通俗易懂啊,比较容易理解,谢谢分享自已的经验与收获.

回复 支持 反对

使用道具 举报

4#
发表于 2009-9-26 09:21:56 | 只看该作者 来自: 四川达州 来自 四川达州
好帖子,我们还是要顶起来的哟

回复 支持 反对

使用道具 举报

5#
发表于 2009-12-8 14:25:43 | 只看该作者 来自: 北京 来自 北京
可乐机车人,讲的很好,我就是你说的笨鸟,哈哈!

回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长提醒 上一条 /1 下一条

快速回复 返回顶部 返回列表
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图


芯片搜索

快速回复