案例展示   Case
联系我们   Contact
你的位置:首页 > 案例展示 > 固件技术

WD西数硬盘固件模块结构解析

2017/4/20 13:01:45

暂无图片。

详细介绍

  WD 固件模块结构

  一、WD 模块头部解析(所有模块通用)

  WD Marvell 硬盘除了早期的硬盘外(Hawk2 及其之前),所有模块均以

  “524F594C(对应字符:ROYL)”开头.

  数据解析:

  0x00 ~ 0x03:模块标记[4]

  0x04 ~ 0x05: 启动级别[2]

  0x06 ~ 0x07: 有效数据地址[2]

  0x08 ~ 0x09: 模块名(ID) [2]

  0x0A ~ 0x0B: 模块大小[2]

  0x0C ~ 0x0F: 模块校验码[4]

  0x10 ~ 0x17: 模块版本信息[8]

      

  二、ROM

  1. ROM 结构,每20 个字节为一小段,每小段都有一个校验码

  2. ROM 目录,0B/20B 模块:(0B 和20B 表示ROM 模块列表)

  数据解析:

  有效数据地址: *[0x06] = 0x1e

  (0x1e - 3) : 0B,20B 的激活标记

  0x1e ~ 0x1e: 条目数[1]

  0x1f ~ (0x1f + *[0x1f]): ROM 模块列表第一个条目[*[0x1f]]

  0x1f ~ (0x1f + *[0x1e] × *[0x1f] - 1):{ROM 模块目录列表} [*[0x1e] × *[0x1f]]

     

  ROM 模块列表条目解析:

  条目长度: [1]

  Copy 数量: [1]

  模块ID: [2]

  模块大小: [2]

  未知意义: [4]

  Copy0 地址:[4]

  Copy1 地址: [4]

  列表结束地址:0x1f + *[0x1e] × *[0x1f]

  (列表结束地址+ 1) ~ (列表结束地址+ 1):盘腔容纳磁头数

  列表结束地址+ 0x06: 磁头服务区地址分配信息列表

      

  3. 0A 模块,磁头位图模块:

  数据解析:

  有效数据地址:*[0x06] = 0x1e

  0x1e ~ 0x1e: 位图数据长度[1]

  0x1f ~ 0x1f: 磁头数据字节数[1]

  0x20 ~ 0x20: 配置标记,值为0 代表缺省配置,非0 则代表使用当前配置[1]

  0x21 ~ 0x21: 盘腔容纳磁头数[1]

  0x22 ~ 0x22: 使用中的磁头数[1]

  0x23 ~ 0x23: 使用中的磁头位图[1]

  0x24 ~ 0x24: 盘腔磁头位图[1]

  :

  0x2c ~ 0x2d: 磁头位图数据的校验[2]

      

  4. 30 模块,服务区编译器模块

  数据解析:

  0x28 ~ 0x28: 缺陷条目总数|

  0x35 ~ 0x3b: 缺陷条目总数| -> 8 个偏移位置,分别对应8 个磁头

  0x3c ~ (0x3c + *[0x28] × 8) : 缺陷条目列表[*[0x28] × 8]

  缺陷列表条目解析:

  缺陷累计数量:[4]

  缺陷起始地址:[4]

     

  5. 47 模块,SA 适配模块

  主要有3 大配置信息:伺服参数,数据适配参数,前置放大器参数

  6. 4F 模块,微代码版本信息模块

  主要用途,查看微代码版本是否与ROM 相匹配

  三、重要模块

  1. 01 模块,模块目录列表

  数据解析:

  通用头部解析。

  有效数据地址:*[0x06] = 0x30

  0x30 ~ 0x31: 条目数[2]

  0x32 ~ (0x32 + *[0x32]): ROM 模块列表第一个条目[*[0x32]]

  0x32 ~ (0x32 + 条目数× 条目长度- 1):{ROM 模块目录列表} [*[0x1e] × *[0x1f]]

  模块列表条目解析:

  条目长度: [1] 条目长度通常为0x12

  Copy 数量: [1]

  模块ID: [2]

  模块大小: [2]

  未知意义: [4]

  Copy0 地址:[4]

  Copy1 地址: [4]

      

  2. 35 模块

  数据解析:

  通用头部解析。

  有效数据地址:*[0x06] = 0x30

  0x30 ~ 0x33: 条目数[4]

  0x34:服务区缺陷列表

  缺陷列表条目解析:

  缺陷所在磁道[1]

  两字节保留[2]

  缺陷所在磁头[1]

  缺陷开始扇区[2]

  缺陷结束扇区[2]

  35 转30(CHS 转ABA):

  Head * Sacyl * SPT + (SaCyl - Cyl) * SPT + Secoff = ABA

  3. 02 模块

  有效数据地址: *[0x06] = 0x30

  ①启动慢信息地址:*[0x9A]

  启动慢信息长度:*[0x9c]

  ②密码信息地址:*(2)[0x7A] + 4

  ③SN 地址:*(2)[0x30 + 2] + 2

  SN 长度:*(2)[0x30 + 4] - 2

  ④容量信息地址:*(2)[0x30 + 0x42] + 2

  ⑤型号信息地址:*(2)[0x30 + 0x44] - 2

  4. 40 模块,适配参数模块

  其中包含47 模块数据的备份,可做生成47 用

  5. 03 模块,段位表模块

  TPI:块地址索引

  CAP:容量


     更多数据恢复技术持续更新中:

    希贝软件客服QQ:201044567       希贝软件网站:www.mp4recovery.cn

更多图片