首页 | 公司简介 | 数据恢复 | 成功案例 | 技术中心 | 客户服务 | 服务报价 | 联系我们 | 技术论坛  
 
  北京总部: 4006-505-808
  上 海 部: 021-58358765
  深 圳 部: 0755-83692929
  浙 江 部: 13666673722
  广 州 部: 020-83821091
  重 庆 部: 023-86870422
  福 建 部: 0591-83300680
  哈尔滨部: 13946167430
  其它地区: 4006-505-808

中国联通信息平台-HP-UX数据恢
中国石油管理局-Oracle数据库恢
工商银行山东分行-AIX删除LV数
濮阳市地方税务局-CHKDSK后数据
台湾HD公司-FreeBSD Nas无法启
promise乔鼎硬盘阵列数据恢复成
IBM EXP300 磁盘阵列数据恢复成
NAS 8100无法挂载数据卷

RAID损坏后 对数据的完整备份
LINUX FSCK数据出错灾难应急方
误删除、误格式化数据灾难应急
误GHOST、误一键恢复灾难应急方
磁盘未被格式化,是否格式化数据
raid磁盘阵列OFFLINE后的应急方
硬盘出现异响应急处理
您当前的位置:首页 >> 技术中心 >> 文件修复文栏 >> 正文

探索NTFS

  unsigned short NextAttributeNumber = 0x6, "\0\x06"

  file参数我传入的是$MFT,从$MFT的LCN=4可以得到其在卷中的物理地址,这在上面已说明。你也可以使用dskprobe(我机子中为第LCN*SectorsPerCluster=4*8扇区)得到底下SoftICE的输出结果:

  :dd @file //以下的注释可对照文中开头列出的FILE_RECORD_HEADER定义。

  0023:00344D38 454C4946 0003002A 6D4AC04D 00000000 FILE*...M.Jm....

  0023:00344D48 00010001 00010030 000002D8 00000400 ....0...........

  ----

  |__AttributeOffset

  0023:00344D58 00000000 00000000 04340006 0000FA0D ..........4.....

  0023:00344D68 00000010 00000060 00180000 00000000 ....`...........

  -------- --------

  | |_指出这个Attribute的长度。定义如下。

  |_根据AttributeOffset得到的Attribute头,定义如下。00000010指出这个Attribute为StandardInformation

  0023:00344D78 00000048 00000018 2C1761D0 01BFB03C H........a.,<...

  Attribute头如下定义:

  typedef struct {

  ATTRIBUTE_TYPE AttributeType;

  ULONG Length;

  BOOLEAN Nonresident;

  UCHAR NameLength;

  USHORT NameOffset;

  USHORT Flags; // 0x0001 = Compressed

  USHORT AttributeNumber;

  } ATTRIBUTE, *PATTRIBUTE;

  typedef struct {

  ATTRIBUTE Attribute;

  ULONG ValueLength;

  USHORT ValueOffset;

  USHORT Flags; // 0x0001 = Indexed

  } RESIDENT_ATTRIBUTE, *PRESIDENT_ATTRIBUTE;

  typedef struct {

  ULONGLONG DirectoryFileReferenceNumber;

  ULONGLONG CreationTime; // Saved when filename last changed

  ULONGLONG ChangeTime; // ditto

  ULONGLONG LastWriteTime; // ditto

  ULONGLONG LastAccessTime; // ditto

  ULONGLONG AllocatedSize; // ditto

  ULONGLONG DataSize; // ditto

  ULONG FileAttributes; // ditto

  ULONG AlignmentOrReserved;

  UCHAR NameLength;

  UCHAR NameType; // 0x01 = Long, 0x02 = Short

  WCHAR Name[1];

  } FILENAME_ATTRIBUTE, *PFILENAME_ATTRIBUTE;

 

  ATTRIBUTE_TYPE是一个Enum型定义。其中00000010为StandardInformation。30为FileName。因为FileNameAttribute总是一个常驻Attribute,所以我将RESIDENT_ATTRIBUTE定义也给出。OK,现在可以继续Dump下一个Attribute:

  // dd @file+file->AttributeOffset+length(StandardInformationAttribute)

  :dd @file+30+60

  0023:00344DC8 00000030 00000068 00180000 00030000 0...h...........

  -------- ------

  | |___这里的NameLength与NameOffset指FileNameAttribute名。不要与$MFT FileName混谣。

  |_指出这是一个FileNameAttribute。

  0023:00344DD8 0000004A 00010018 00000005 00050000 J...............

  -------- ---- --------

  | | |_根据ValueOffset的值,得到FILENAME_ATTRIBUTE的具体位置。

  | |_ValueOffset值

  |_ValueLength值

  0023:00344DE8 2C1761D0 01BFB03C 2C1761D0 01BFB03C .a.,<....a.,<...

  0023:00344DF8 2C1761D0 01BFB03C 2C1761D0 01BFB03C .a.,<....a.,<...

  0023:00344E08 00004000 00000000 00004000 00000000 .@.......@......

本新闻共5页,当前在第4页  1  2  3  4  5  

上一篇:drawing interchange and file formats release 12(AutoCAD DXF 12.0版文件格式说明)
下一篇:Ext2 文件系统的硬盘布局
返回首页 | 联系我们 | 关于我们 | 招聘信息 | 友情链接 | 网站地图 | 合作伙伴
版权所有 北京北亚数据恢复中心
24小时免费咨询电话:4006-505-808 或 800-810-5880
中关村部:北京市海淀区中关村大街11号E世界A座832B室
皂君庙部:北京市海淀区学院南路68号吉安大厦C座(汇智楼)528室
京ICP备06061795