数据恢复软件图

中国硬盘基地

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11463|回复: 42

[赠品活动] ExFAT文件系统数据恢复技术 第八章

    [复制链接]
  • TA的每日心情
    奋斗
    2012-4-26 09:23
  • 签到天数: 2 天

    [LV.1]布衣百姓

    发表于 2011-1-6 09:22:26 | 显示全部楼层 |阅读模式
    微软文件系统经历了FAT12、FAT16、FAT32、NTFS几个阶段,其中NTFS文件系统以其非常好的安全性及可恢复性得到广泛认可,也是微软力推的一种文件系统。
         但是,随着闪存容量的不断增大,使得目前的文件系统无法更好地适应闪存大容量的需求。由于容量不断增大,FAT32无法很好地管理较大的容量,NTFS虽然在容量管理上可以胜任,但由于它的安全性等方面的原因,会要求频繁地对闪存进行读写操作。对闪存而言,频繁的读写不仅会降低性能,更会大大降低其使用寿命。另外,NTFS的延迟写入设计也不适用于便携的移动存储设备。所以,必须推出一种即可以支持更大的存储容量,又具有更快的存取速度的文件系统。
         为此,微软对FAT系列文件系统做了进一步发展,推出了ExFAT(Extended File Allocation Table File System---扩展FAT)文件系统。ExFAT即继承了FAT类文件系统的简单结构,同时又增大了对容量的支持。所以,ExFAT是一种为闪存更好地工作而出现的一种折衷方案。
    ExFAT在分区表中的分区类型值与NTFS相同,即使用0x07。
    提示:目前的Windows XP不支持ExFAT文件系统,如果要在Windows XP下创建、读写ExFAT文件系统,需要安装相应的更新程序,更新程序可以到微软官方网站下载,地址为http://www.microsoft.com/downloa ... 2-b727-c2dff5e30f61
    8.1        ExFAT特性
            ExFAT文件系统也称为扩展文件分配表文件系统,由此也可知它是由FAT文件系统扩展而来。
         ExFAT继承了原FAT类文件系统的架构,使用FAT表、目录结构等对数据进行管理。但ExFAT对FAT表项进行的扩展,在FAT32文件系统中,每个FAT表项虽然占用4个字节(32bit),但却只使用了其中的28bit,所以它管理的簇地址并不能够达到32bit的理想上限。ExFAT则启用了FAT32原来未使用的4bit,真正使可管理的地址编号达到32bit的上限。这是ExFAT文件系统可管理容量增大的一个原因。
    ExFAT对簇的大小进行了扩展。早先的FAT类文件系统,簇的上限为32KB,而ExFAT则将这个上限扩展到32MB。实际上,理论上这个上限值可以达到2的255次方,只不过微软将其限制在了32MB以内。这也使得ExFAT可管理的容量大大增加。
         在FAT32中,文件系统分区的大小扇区数用4个字节表示,ExFAT则使用8个字节表示,这也使ExFAT在可管理的分区大小上有了非常大的突破。不过,由于MBR分区表的局限性,虽然文件系统本身可以管理超过2TB的空间,但使用4个字节表示扇区数的分区表项最大只能表述到大约2TB,所以使用MBR分区表表述的分区,即使使用ExFAT文件系统,也无法突破2TB的容量限制。
         ExFAT支持更大的单一文件。FAT32中,文件的大小使用4个字节表述,可表示的单一文件上限大约为4GB。ExFAT使用8个字节对文件大小进行表述,可表示的单一文件大小上限大约为16EB。

    8.2 ExFAT布局结构
    由于ExFAT仍然属于FAT类文件系统,所以它的布局结构总体上仍与FAT12/16/32大同小异,如图8.1所示。
    8.1.JPG
    图8.1
    ExFAT保持了FAT类文件系统的总休架构,大致分为保留区、FAT表和数据区三大部分。
    保留区是FAT表前的区域,大致可分为三个部分,一是主引导区域,二是备份引导区域,再就是其他保留区域。主引导区域通常占用0~11号扇区;备份引导区域占用12~23号扇区;由24号扇区开始至FAT表前一个扇区这部分通常不被使用,我们权且称其为其他保留区域。
    FAT表区域由FAT表组成,不同的是,目前01.00版本的ExFAT文件系统通常只有一个FAT表(事务ExFAT---TexFAT文件系统有两个FAT表),FAT表中的每个FAT项占用4个字节,并全部使用这4个字节的32个bit。
    数据区则用于存储数据。ExFAT的数据区的起始簇号也是2,该簇通常由簇位图文件占用,该文件的各种信息记录在根目录下的一个0x81类型的目录项中。
    跟在簇位图文件后的是大写转换表文件,这个文件的大小是固定的,为5836个字节。
    再后面则是根目录,这是所有文件及文件夹的入口。
    8.3 保留区
    保留区中,重要的内容有两部分,一部分是主引导区域,另一部分是备份引导区域。主引导区域占用0~11号扇区,备份引导区域占用12~23号扇区,这部分完全是0~11号扇区的完整备份。23号扇区至FAT表前一个扇区,是未使用部分。
    主引导区域包括的0~11号扇区,共有12个扇区,可分为5个子区域:
    *        主引导扇区
    *        主扩展引导扇区
    *        OEM参数区
    *        保留扇区
    *        校验扇区
    引导扇区之后的1~8号扇区,也被称为扩展引导扇区,通常情况下这8个扇区除每个扇区的结尾写入“55AA”外,其它字节全部为零。当有较大的引导程序,超出了引导扇区所能够容纳的字节数时,就会使用这部分扩展引导扇区的空间进行存储。
    9号扇区,据称用于OEM参数记录,实验过程中发现格式化时该扇区不被进行改动。
    10号扇区没有特定用途,做为保留扇区。实验时发现该扇区在格式化过程中会被清零。
    11号扇区是一个存放校验信息的扇区,用于存放前11个扇区的校验值。如果人为更改某些信息,就必须能够重新正确计算出新的校验值才可以。
  • TA的每日心情
    奋斗
    2012-4-26 09:23
  • 签到天数: 2 天

    [LV.1]布衣百姓

     楼主| 发表于 2011-1-6 09:22:51 | 显示全部楼层
    8.1.1
    引导记录扇区

    ExFAT文件系统也将0号扇区做为引导记录扇区,除引导信息外,还记录着文件系统的各项参数,如分区大小、FAT表位置及大小、簇起始位置、根目录起始簇号、每扇区大小、每簇扇区数等等。

    ExFAT引导记录扇区的主要结构见表8.1

    8.1 ExFAT引导记录扇区结构

    偏移字节

    (十六进制)

    字节数

    含义

    00~02

    3

    跳转代码,“EB 76 90”,跳转过0x76个字节,至0x78字节处

    03~07

    5

    分区类型“4558464154”,明文“EXFAT”

    08~0A

    3

    “202020”

    0B~3F

    53

    “00”

    40~47

    8

    分区起始扇区号(似乎总是相对于磁盘物理0号扇区)

    48~4F

    8

    分区大小扇区数,最小为1MB,最大为264-1个扇区

    50~53

    4

    FAT表起始扇区号

    54~57

    4

    FAT表大小扇区数

    58~5B

    4

    数据区起始扇区号(注意,虽然只有一个FAT表,但该值并不一定等于FAT表起始扇区号加上FAT表大小扇区数,也就是说为FAT表分配的空间与簇起始扇区之间可能会有未使用的扇区)

    5C~5F

    4

    卷内簇数

    60~63

    4

    根目录起始簇

    64~67

    4

    卷ID

    68~69

    2

    文件系统版本

    6A~6B

    2

    卷标志

    6C~6C

    1

    每扇区大小字节数,假设此处值为N,则每扇区大小字节数为2的N次方个字节,此处值通常为“09”,最大值为“12”

    6D~6D

    1

    每簇扇区数,假设该位置值为N,则簇大小为2的N次方个扇区

    6E~6E

    1

    FAT表个数

    6F~6F

    1

    介质描述符

    70~70

    1

    已用比例

    71~77

    7

    保留

    78~1FD

    390

    引导代码

    1FE~1FF

    2

    签名标志“55AA”

    (1) 0x000x023个字节,跳转代码。

    (2) 0x030x0A:分区类型标志,也称为OEM标签,是一个8字节的ASCII码,用以说明文件系统的类型名称,即“45 58 46 41 54”,明文“EXFAT”,剩余未用的字节使用“20”填充。由于ExFATNTFS一样使用0x07做为分区表中的分区类型值,单纯由分区表项中的该值无法判断这个分区是NTFS分区还是ExFAT分区,这时可以通过引导记录扇区中的分区类型标志值对它们进行区分。

    (3) 0x0B0x3F53个字节,全部为“00”。

    (4) 0x400x478个字节,分区起始扇区号。

    注意:实验中发现,该值为当前扇区的物理扇区号,即使该分区位于扩展分区内也不例外,这点与FAT32NTFS引导记录扇区中“分区前已用扇区数”的描述方法略有不同。

    (5) 0x480x4F8个字节,分区大小扇区数。

    (6) 0x500x534个字节,FAT表起始扇区号,该值为相对于文件系统0号扇区而言。

    (7) 0x540x574个字节,FAT表大小扇区数。

    (8) 0x580x5B4个字节,簇起始位置扇区号,该值用以描述文件系统中的第1个簇(即2号簇)的起始扇区号。通常2号簇分配给簇位图使用,因此,该值也就是簇位图的起始扇区号。虽然该簇跟在FAT表后,但实际上它并不一定等于FAT表起始扇区号加上FAT表的大小。

    (9) 0x5C0x5F4个字节,卷内的总簇数。

    (10) 0x600x634个字节,根目录起始簇号。

    (11) 0x640x674个字节,卷ID

    (12) 0x680x692个字节,文件系统版本。

    (13)0x6A0x6B2个字节,卷标志。该标志用以描述主FAT号、卷是否干净等信息。

    (14) 0x6C0x6C1个字节,每扇区大小字节数,表示方法为,假设此处值为N,则每扇区大小字节数为2N次方个字节。此处的值通常为“09”,即每扇区大小字节数为512。微软将该处的值限定为最大为12,也就是每扇区大小字节数最大为212 = 4096

    (15) 0x6D0x6D1个字节,每簇扇区数,表示方法为,假设此处值为N,则每簇大小扇区数为2N次方个扇区。此处值最小为1,最大值取决于每扇区大小字节数,因为ExFAT的簇大小上限为32MB,也就是225个字节,所以0x6C处的值与0x6D处的值相加不得超过25

    (16) 0x6E0x6E1个字节,FAT表个数,事务ExFAT中为2FAT表,版本01.00只有一个FAT表。

    (17) 0x6F0x6F1个字节,介质描述符。

    (18) 0x700x701个字节,似乎是卷中已用簇空间的百分比。

    (19) 0x710x777个字节,保留。

    (20) 0x780x1FD390个字节,引导代码。

    (21) 0x1FE0x1FF2个字节,有效结束标志“55AA”。如果扇区大小超过512个字节,“55AA”仍然位于扇区的最后两个字节,引导代码至“55AA”之间可能会使用“00”进行填充。

    现在,我们来实验分析一个ExFAT文件系统的引导记录扇区部分参数,如图8.2所示。

    8.2.JPG

    8.2


    (1) 0x00
    0x02 3个字节,“EB 76 90”,跳转代码。

    (2) 0x030x0A:分区类型标志,“45 58 46 41 54”,明文“EXFAT”。

    (3) 0x0B0x3F53个字节,全部为“00”。

    (4) 0x400x478个字节,“3F00000000000000”,分区起始扇区号,63

    (5) 0x480x4F8个字节,“0014A80400000000”,分区大小扇区数,78124032

    (6) 0x500x534个字节,“00080000”,FAT表起始扇区号,2048

    (7) 0x540x574个字节,“000A0000”,FAT表大小扇区数,2560

    (8) 0x580x5B4个字节,“00180000”,数据区起始位置扇区号,6144。我们可以看前面的FAT表起始扇区号为2048FAT表大小为2560,则FAT表的结束位置为4608号扇区。而数据区的起始位置是6144号扇区,所以数据区的起始位置并不一定是紧跟在FAT表之后的。

    (9) 0x5C0x5F4个字节,“FCA70400”,卷内的总簇数,305148

    (10) 0x600x634个字节,“04000000”,根目录起始簇号,4

    (11) 0x640x674个字节,卷ID

    (12) 0x680x692个字节,“0001”,文件系统版本,01.00

    (13)0x6A0x6B2个字节,“0000”,卷标志。

    (14) 0x6C0x6C1个字节,“09”,每扇区大小字节数,即扇区大小为29=512字节。

    (15) 0x6D0x6D1个字节,“08”,每簇扇区数,即28=256个扇区。

    (16) 0x6E0x6E1个字节,“01”,FAT表个数,1

    (17) 0x6F0x6F1个字节,“80”,介质描述符。

    (18) 0x700x701个字节,“00”,卷中已用簇空间的百分比,这是一个刚刚格式化的文件系统,基本尚未使用。

    (19) 0x1FE0x1FF2个字节,有效结束标志“55AA”。

    8.1.1
    校验扇区

    主引导区域的11扇区,记录的是前11个扇区的校验值。严格来讲,主引导区域应该只包括前11个扇区,只是为了叙述方便,我们将11号扇区也归入主引导区域,不过只有前11个扇区参与校验值的计算,计算结果记录在11号扇区中。如图8.3所示。

    8.3.JPG

    8.3

    可以看到,校验扇区记录的内容是一个重复的4字节值,该4字节值不断被重复直到写满整个扇区。

    资料《Reverse Engineering the Microsoft exFAT File System》中给出的校验值计算函数如下:

    UINT32 VBRChecksum(const unsigned char octets[], 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) octets[Index];


    }

         return Checksum;

    }

    8.2
    FAT

    FAT12/16/32中,FAT表不只用于记录FAT链,同时还用于表示当前FAT对应的簇是否被使用:表项为0表示该表项对应的簇未使用,否则为已分配使用。ExFAT文件系统的FAT表则只用于描述FAT链,而不再用以说明某个簇的分配情况,簇的分配情况另外使用簇位图进行描述。

    FAT32中,虽然每个FAT表项占用32bit,但真正使用的却只是其中的28bitExFATFAT表项也占用32bit,并且全部启用了这32bit

    ExFAT中,FAT项的取值含义见表8.2

    8.2 FAT项取值含义

    取值含义
    0x00000000从未被分配使用
    0x00000001此值无效
    0x00000002~0xFFFFFFF6可用簇号
    0xFFFFFFF7坏块
    0xFFFFFFF8介质描述符
    0xFFFFFFF9~0xFFFFFFFE未定义
    0xFFFFFFFF文件簇链结束

    0x00000000,刚刚格式化后,未被分配使用的FAT项将会设置为零,表示该FAT项对应的簇是空闲的;对于ExFAT,删除文件时并不对其FAT表链进行清除,所以即使某FAT项对应的簇中的数据已被删除,该FAT项中仍然会有非零数值存在。因此,如果一个FAT项的内容为零,只能说明该FAT项对应的簇从未被分配使用过。

    u
    0x00000001,因为簇号是由2开始编号的,所以在FAT表中不可能出现该值。

    u
    0x00000002~0xFFFFFFF6,这个范围内的值是可以使用的簇号值,0x00000002是最小值,0xFFFFFFF6是最大值。

    u
    0xFFFFFFF7,坏块标记。

    u
    0xFFFFFFF8,介质描述符。

    u
    0xFFFFFFF9~0xFFFFFFFE,该范围内的值未定义。

    u
    0xFFFFFFFF,文件簇链结束,表示拥有该簇链的数据结束。

    对于ExFAT系列文件系统,拥有的最大簇数等于最大簇号减1,所以一个ExFAT文件系统拥有的最大簇数为0xFFFFFFF6-0x01个。

    通常,ExFAT的第一簇(也就是2号簇)分配给簇位图文件,再后面则是大写转换表文件,跟在大写转换表后的是根目录。图8.4为一个新格式化的ExFAT文件系统的FAT表。

    8.4.JPG

    8.4

    由图中可以看到,234FAT项都写入了结束标记0xFFFFFFFF,说明这三个FAT项对应的簇分别分配给了三个文件或目录。这三个文件或目录即簇位图文件,大写转换表文件和根目录。

    提示:实验发现,格式化成ExFAT文件系统时,只对FAT表的第一个扇区进行清零并写入需要的内容,其他扇区不进行任何操作。

    8.3
    簇位图

    ExFAT文件系统中簇的分配情况由簇位图描述,它是ExFAT文件系统的第一个文件,占用文件系统的第一簇,也就是2号簇。文件中每个字节的8bit,每个bit对应文件系统中的一个簇。如果bit0,表示该bit对应的簇为空闲;如果为1,则表示该bit对应的簇已经分配使用。

    由于簇号由2开始编号,所以位图中的最低位对应2号簇,例如第一个字节中的8个字节,分配为0~7bit,它对应的是2~9号簇。

    要计算某个簇在位图中的对应bit,可以将该簇的簇号减去2,然后用得到的差对除以8,得到的商即该簇在位图中的字节号,余数为该簇在该字节中的bit号。

    例如,要计算12号簇在位图中的对应bit位置,计算方法如下:

    ( 12 – 2 ) / 8 = 1….. 2

    也就是说,12号簇在位图中的对应bit1号字节中的2bit

    字节号0号字节1号字节
    bit7654321076543210
    对应簇号987654321716151413121110

    现在我们来看一下前面刚刚格式化的ExFAT文件系统的簇位图,如图8.5所示。

    8.5.JPG

    8.5

    簇位图中只有第一个字节是非零数值0x07,转换成二进制为00000111,由后三个bit可知它们对应的234号簇已经分配使用。这与前面由FAT表得出的结论相一致。

    格式化成ExFAT时,分配给簇位图的空间中未使用的部分将全部被清零。

    8.4
    根目录

    ExFAT文件系统中,根目录跟在大写转换表之后。它的起始簇号记录在引导扇区中,数据区起始位置(2号簇)的起始扇区号也记录在引导扇区中。同时,每簇大小扇区数也可以在引导扇区中找到,通过这三个参数就可以计算出根目录的起始扇区号。

    例如,以前面格式化的ExFAT为例,由偏移0x580x5B处的4个字节“00180000”,得到数据区起始位置扇区号为6144;由0x600x63处的4个字节“04000000”得到根目录起始簇号4;由~0x674个字节,卷ID。由0x6D处的1个字节“08”得到每簇扇区数为28=256个扇区。最后可以计算出根目录的起始扇区号:

    6144 + 256 * ( 4 – 2 ) = 6656

    跳转到6656号扇区,内容如图8.6所示。

    8.6.JPG

    8.6

    ExFAT的每个目录项仍然占用32个字节,刚刚格式化的ExFAT,其根目录下会有三个目录项位置被占用,第一个是卷标目录项;第二个是簇位图目录项;第三个是大写转换表目录项。

    格式化时我们设置了卷标为Ex-TEST,这由第一个目录项可以看到。但即使不设置卷标,ExFAT也总是将第一个目录项预留为卷标目录项,如图8.7所示,这是一个没有卷标的ExFAT文件系统的根目录。

    8.7.JPG

    8.7

    可以看到,在没有卷标时,第一个目录项设置为一个0x03类型的目录项,做为卷标目录项进行预留。

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2012-4-26 09:23
  • 签到天数: 2 天

    [LV.1]布衣百姓

     楼主| 发表于 2011-1-6 09:22:53 | 显示全部楼层
    8.7目录项

    ExFAT的目录项虽然仍保持32字节大小,但其结构已不再与FAT32中的目录项一样,而是采取了全新的结构。

    总体来讲,每个目录项可以被分成两大部分:目录项类型值和目录项数据。目录项的通用结构见表8.3

    8.3 ExFAT目录项通用结构

    偏移字节(十六进 )

    字节数

    含义

    0000

    1

    目录项类型

    011F

    31

    目录项数据

    ExFAT中的用户数据,一个文件(或文件夹)的目录项由几个功能不同的目录项组合而成,最少为3个,最多为19个。

    例如,我们向刚刚格式化的ExFAT分区根目录下拷入一个sun.img文件,从Winhex中可以看到根目录下多了三个目录项,如图8.8所示。



    8.8.JPG
    图8.8
    ExFAT中,每个目录项的第一个字节说明该目录项的性质,这个字节的8个bit被分成4部分,每个部分因意义不同而取不同的值,所有的取值决定了该字节的值。这8个bit含义如下:
    u        Bit7:是否使用中标志。为1表示使用中,为0表示未使用。
    u        Bit6:种类。为0表示为主项,为1表示是附属项。
    u        Bit5:重要性。0表示是关键项,为1表示为非关键项。
    u        Bit4~bit0:标识码。
    每个目录项的结构大小为32个字节,第1个字节为目录项类型值,有以下几种:
    u        0x03:卷标目录项保留项
    u        0x83:卷标目录项
    u        0x81:簇位图目录项
    u        0x82:大写转换表目录项
    u        0x85:文件属性目录项1
    u        0xC0:文件属性目录项2
    u        0xC1:文件名目录项
    u        0x05:被删除文件的原0x85类型目录项
    u        0x40:被删除文件的原0xC0类型目录项
    u        0x41:被删除文件的原0xC1类型目录项
    u        0xA0:卷GUID目录项
    8.7.1        卷标目录项
    卷标目录项即0x83类型目录项。
    卷标目录项占用根目录下的第一个目录项位置,格式化是如果没有设置卷标,该目录项除第一个字节为“03”外,其他31个字节全部为零,这时这个目录项称为“卷标目录项保留项”。
    如果格式化时设置了卷标,则第一个目录项是一个以卷标目录项标志“83”开头的目录项,其结构见表8.4。
    表8.4 卷标目录项结构
    偏移字节(十六进 )        字节数        含义
    00~00        1        目录项类型值0x83
    01~01        1        卷标长度字符数
    02~17        22        卷标
    18~1F        8        保留
    (1) 0x00~0x00:1个字节,目录项类型值,对于卷标目录项,该类型值为0x83。
    (2) 0x01~0x01:1个字节,卷标长度字符数,卷标最长不能超过11个字符,所以此处的值最大为0x0B。
    (3) 0x02~0x17:22个字节,卷标,使用Unicode字符,每个字符占用两个字节,卷标最多不能超过11个字符。不足11个字符时,未使用的部分用0填充。
    (4) 0x18~0x1F:8个字节,保留,用0填充。
    现在我们来看一个实际的卷标,如图8.9所示。
    8.9.JPG
    图8.9
    (1) 0x00~0x00:1个字节,“83”,表示这是一个卷标目录项。
    (2) 0x01~0x01:1个字节,“07”,表示卷标长度为7个字符。
    (3) 0x02~0x17:22个字节的卷标,由于当前卷标为7个字符“Ex-TEST”,使用Unicode字符,每个字符占用两个字节,共占用14个字节,所以后8个字节用“00”填充。
    (4) 0x18~0x1F:8个字节,保留,用0填充。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2012-4-26 09:23
  • 签到天数: 2 天

    [LV.1]布衣百姓

     楼主| 发表于 2011-1-6 09:22:55 | 显示全部楼层
    -------------------------------------占位------------------------------------
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2012-4-26 09:23
  • 签到天数: 2 天

    [LV.1]布衣百姓

     楼主| 发表于 2011-1-6 09:22:59 | 显示全部楼层
    ExFAT文件系统数据恢复技术 第八章 8.7.2--8.7.7
    http://bbs.intohard.com/thread-89710-1-1.html
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2012-4-26 09:23
  • 签到天数: 2 天

    [LV.1]布衣百姓

     楼主| 发表于 2011-1-6 09:23:01 | 显示全部楼层
    -------------------------------------占位------------------------------------
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2012-4-26 09:23
  • 签到天数: 2 天

    [LV.1]布衣百姓

     楼主| 发表于 2011-1-6 09:23:03 | 显示全部楼层
    -------------------------------------占位------------------------------------
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2012-4-26 09:23
  • 签到天数: 2 天

    [LV.1]布衣百姓

     楼主| 发表于 2011-1-6 09:23:11 | 显示全部楼层
    -------------------------------------占位------------------------------------
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2011-1-6 09:35:43 | 显示全部楼层
    支持一下,呵呵~~~~~~~~~~~~~~~~~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2011-1-6 09:50:47 | 显示全部楼层
    真的谢谢您了
    回复 支持 反对

    使用道具 举报

    发表回复

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

    本版积分规则

    北京数据恢复培训 北京华客数据恢复培训
    快速回复 返回顶部 返回列表