扫一扫,访问微社区

新浪微博登陆

只需一步, 快速开始

登录 | 加入雨荷 | 找回密码

数据恢复,winhex视频,数据恢复培训,硬盘数据恢复,raid0,raid1,raid5数据恢复,雨荷数据

 找回密码
 加入雨荷

扫一扫,访问微社区

新浪微博登陆

只需一步, 快速开始

总共6190条微博

动态微博

查看: 247|回复: 3

exFAT校验块快速计算与修复

  [复制链接]
  • TA的每日心情
    开心
    2019-2-14 18:15
  • 签到天数: 62 天

    [LV.6]站长亲人

    新浪微博达人勋

    发表于 2019-4-28 18:54:11 | 显示全部楼层 |阅读模式
    本帖最后由 feifanll 于 2019-4-28 19:00 编辑

    exFAT校验块快速计算与修复
    我们知道 exFAT在DBR损坏后,可以找FAT表、$BitMap、$UpCase、Root等位置参数快速恢复DBR。
    但是单纯的修复好DBR,分区依然不能正常打开。
    这是因为操作系统会对比exFAT分区的11号扇区的校验值,值不相同则报错并不予识别。
    这个校验值是通过0-10号扇区的数据计算得到的,也就是说只要0-10这几个扇区发生改变,则校验值改变。

    查阅资料得到这个校验算法是这样的--11号扇区校验的算法:

    UINT32 VBRChecksum(const unsigned char octsts[],long NumberOfBytes)
    { UINT32 Checksum = 0;
      long Index;
      for (Index = 0; Index < NumberOfBytes; Index++)
        {
            if (Index == 106 || Index == 107 || Index == 112)
                {
                 continue;
                }
            Checksum = ((Checksum <<31) | (Checksum>> 1)) + (UINT32) octsts[Index];
        }
      return Checksum;
    }

    好,算法有了,我们用winhex脚本快速实现。
    下来演示一下,脚本的实地效果见附件:


    演示说明:
    这是一个正常的exFAT分区虚拟磁盘,加载后显示里面有10张图片。
    我们搞下破坏,在1号扇区修改一些数据并保存。
    弹出虚拟磁盘后再加载,此刻系统报错。识别为RAW格式。

    打开写好的脚本,计算并修改一下校验值。

    保存后分区自动打开,数据正常访问。


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?加入雨荷 新浪微博登陆

    x

    评分

    参与人数 4威望 +30 金钱 +60 收起 理由
    zhczf + 20 很给力!
    雨荷 + 30 赞一个!
    bsmao + 30 赞一个!
    石头怪 + 10 很给力!

    查看全部评分

  • TA的每日心情
    奋斗
    5 天前
  • 签到天数: 16 天

    [LV.4]匆匆过客

    新浪微博达人勋

    发表于 2019-4-28 21:06:41 | 显示全部楼层
    学习到了  很强 很强
  • TA的每日心情
    奋斗
    2019-5-12 08:44
  • 签到天数: 55 天

    [LV.5]站长亲戚

    新浪微博达人勋

    发表于 2019-4-30 23:38:25 | 显示全部楼层
    太强大了 这真的是内功心法 感谢楼主的无私
    发表回复
    您需要登录后才可以回帖 登录 | 加入雨荷 新浪微博登陆

    本版积分规则

    Copyright © 2001-2015 All Rights Reserved雨荷数据安全技术论坛 陕ICP备08105630

    QQ|申请友链|小黑屋|手机版|Archiver|雨荷数据安全技术论坛 ( 陕ICP备17009169号

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