首页
论坛
课程
招聘
[原创]#30天写作挑战#数据恢复手册_初识
2020-9-19 13:02 988

[原创]#30天写作挑战#数据恢复手册_初识

2020-9-19 13:02
988

备注

成功会带给你喜悦,失败会带给你思考,分享那些经验,记录学习途中的点点滴滴

概述

Winhex模拟实战学习

数据恢复是从现有存储环境中提取客观存在的数据,下面开始使用Winhex这一工具进行数据恢复学习

Windows系统的MBR磁盘分区

MBR磁盘分区是使用最为广泛的一种分区结构,它也被称为DOS分区,但它并不是一个仅仅应用于微软的操作系统平台中的分区结构。例如:Linux系统、基于 x86架构的UNIX系统都能够支持MBR磁盘分区。

  • 主引导记录MBR的结构和作用
    MBR磁盘分区都有一个引导扇区,称为主引导记录,英文简称为MBR
    1.MBR的结构
    MBR扇区位于整个硬盘的第一个扇区:按照C/H/S地址描述,即0柱面0磁头1扇区;按照LBA地址描述即0扇区。它是一个特殊而重要的扇区。
    在总共512字节的MBR扇区中,由四部分结构组成:
    注意:下述的H代表十六进制
    (1)引导程序
    占用其中的前440字节,其地址在偏移0~偏移1B7H处。
    (2)Windows磁盘标签
    占用引导程序后的4字节,其地址在偏移1B8H~偏移1BBH处,是Windows系统对硬盘初始化时写入的一个磁盘标签也可称为Windows磁盘签名。Windows系统依靠它来识别硬盘,如果磁盘签名丢失,Windows系统就会认为该硬盘没有初始化,Windows会自动产生一个磁盘签名。
    (3)分区表
    偏移1BEH~偏移1FDH的64字节为DPT(Disk Partition Table,硬盘分区表),这是MBR中非常重要的一个结构。
    一共可以描述4个分区表项,每一个分区表项可以描述主分区或一个扩展分区
    参考各字段解析
    (4)结束标志
    扇区最后的两个字节“55 AA”(偏移1FEH~偏移1FFH)是MBR的结束标志。
    硬盘进行初始化”操作,就是将硬盘0号扇区的MBR分区表删除,只要将扇区最后两个字节的值修改为“55 AA”即可恢复。
    实战:分析一块硬盘
  • 选择要打开磁盘
    菜单:工具-打开磁盘
    注意:因为查看的是MBR信息,故需选择物理存储介质,若看不到物理磁盘,管理员运行Winhex(权限问题)
  • 界面解析

    上方是文件夹和文件情况(目录浏览器);
    下边是打开磁盘的10进制数值。
    注意:在Offset区域鼠标左键可点击进行切换进制,以灵活面对各种场景
    可在Offset第2行信息或右侧的偏移地址查看当前进制信息,也可点击底部的偏移地址-新位置显示的可输入进制信息查看
进制 Offset第2行信息 右侧的偏移地址 底部的偏移地址
10进制: 0000000016 decimal 十进制
16进制: 000000010 十六进制 十六进制
 

注意:显示内容根据Winhex当前所用的语言会存在差异
演示:切换进制与查询进制

  • 查找起始扇区的MBR的结束标志
    MBR占1个扇区,512字节(二进制),结束标志是55AA
    注意:不同进制显示不同
    可通过Winhex直接启动Windows自带的计算器,10进制的512转换为十六进制是200

    找到偏移00000200,,每一个扇区结束有一个横线标志;偏移从00000000開始,那么第二个扇区的起始偏移是00000200,可点击底部的偏移地址输入00000200进行快速跳转,或手动点击跳转到0号扇区寻找也也可以(注意扇区结束的横线标准方便寻找)

    Offset列值为000001F0所相应行的最后2个字节,为55 AA,正是MBR的结束标志。这样就找到了MBR所在区域;
    注意:系统会对MBR扇区的最后两个字节进行判断是否为“55 AA”
    如果不是则报错,在屏幕上会列出错误信息。(硬盘逻辑锁现象)
    如果是“55 AA”,接下来引导程序会到分区表中查找是否有活动分区,若有活动分区,则判断活动分区的引导扇区在磁盘中的地址,并将该引导扇区读入内存及判断其合法性,如果是一个合法的引导扇区,随后的引导权就交给这个引导扇区去引导操作系统了,MBR引导程序的使命也就完成了。
  • 查看起始扇区的分区表
    寻找方法:
    1.分区表位于结束标志之前的64个字节,每行16字节,4*16=64,那么第一扇区倒数第五行,倒数的第2个字节,就是分区表的起始。

    2.偏移1BEH(Winhex:1BE)〜偏移1FDH(Winhex:1FD)的64字节为DPT (Disk Partition Table,硬盘分区表),这是MBR中非常重要的一个结构。

    备注:1BE(分区表第一字节)对应引导标志,上述的H代表十六进制
    00——表示非活动分区
    80——表示活动分区
    分区标志说明表(十六进制)

    解析:
    起始扇区
    第一字节为00,非活动分区;
    第五字节为EE,分区的系统类型是EFI GPT
  • 查看起始扇区的磁盘签名
    Windows磁盘签名是Windows系统在对硬盘做初始化时写入的一个标签,它是MBR扇区不可或缺的一个组成部分。
    Windows系统依靠这个签名来识别硬盘,如果硬盘的签名丢失,Windows系统就会认为该硬盘没有初始化。
    占用引导程序后的4字节,其地址在偏移1B8H~偏移1BBH处
    实战查找:

    因环境为虚拟机并且winhex是在虚拟机内进行查看,故磁盘签名为00 00 00 000
    正常的实体机磁盘签名如下所示:

    实战:简单的数据恢复
    Winhex-工具-磁盘工具-通过文件类型恢复

    简单来说就是根据文件的固有特征来进行数据的查找和恢复,在默认类型中找不到的需要自己手动在配置文件添加(文件签名按钮)

    注意:搜索的时候Winhex根据不同的搜索规则会达到不同的效果
    此方法可恢复强制删除格盘的文件,但注意的时恢复磁盘过大,数据重写过多会影响恢复速度,并且恢复的文件名称已改变
    进入要恢复的分区,查看到要恢复的文件,右键点击恢复

    根据文件名进行恢复
  • 右键点击“$MFT”,然后点击“打开,文本搜索文件名
    文件名:FreshSetup2_7_0.exe
    注意编码选择Unicode,有大小写的话选择匹配,以提升精确度

    解析:

    粉丝开头的80是数据属性的标识,在偏移8H的位置,是01,看偏移30H的地方EC DE 25这个便是文件的大小,再看偏移40H的地方22 5E 02 D4 07 00 00
    22表示后面的数据中,前两个是族数,这里为5E个族,后四个是族号的开始位置
    出大小:5E转16进制为606
    起始处:D4转16进制为2004
    跳转到起始处

    选择起始位置,快捷键Alt+1或鼠标右键选择
    计算尾部大小:2004+606=2610
    跳转到尾部,并选择尾部快捷键Alt+2或鼠标右键选择
    之后右键点击编辑复制到新文件,新文件即是恢复的文件
    演示:

    运行测试,正常运行恢复成功

 

实战篇到此告一段落,未深入理解学习,可选学下面的基础知识

理解学习,知识储备

基础知识掌握扎实了,才能更有效地领会深层的技术。

数据

数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的的原始素材。
数据是信息的表现形式和载体,可以是符号、文字、数字、语音、图像、视频等。数据和信息是不可分离的,数据是信息的表达,信息是数据的内涵。数据本身没有意义,数据只有对实体行为产生影响时才成为信息。
在计算机系统中,各种字母、数字符号的组合、语音、图形、图像等统称为数据,数据经过加工后就成为信息。

  • 分类
    数值数据:表示数量的多少
    就是常说的“数”(如整数、实数等),在计算机中是以二进制形式存放
    非数值数据:表示字符、汉字、图形、图像、声音等,又称符号数据。
    通常不表示数值的大小,而只表示字符或图形等,通常不表示数值的大小,而只表示字符或图形等
  • 单位
    计算机中数据的常用单位有位、字节和字。
    位(Bit):计算机中最小的数据单位是二进制的一个数位,简称为位(英文名称为Bit,读音为比特)。计算机中最直接、最基本的操作就是对二进制位的操作。
    字节(Byte):20世纪60年代中期,随着IBM的360系统的发展,字节这个词专门用来表示8位二进制数,是计算机中的基本信息单位。
    换算:
    1
    2
    3
    4
    5
    6
    7
    1B=8bit
    1KB=1024B=210B
    1MB=1024KB=2¹⁰KB=2²⁰B
    1GB=1024MB=2¹⁰MB=2³⁰B
    1TB=1024GB=2¹⁰GB=2⁴⁰B
    1PB=1024TB=2¹⁰TB=2⁵⁰B
    1EB=1024PB=2¹⁰PB=2⁶⁰B
    字(Word):在计算机中作为一个整体被存取、传送、处理的二进制数字符串叫作一个“字”或“单元”。每个字中二进制位数的长度,称为字长。
    一个字由若干个字节组成,不同的计算机系统的字长是不同的,常见的有8位、16位、32位、64位等。
    字长越长,计算机一次处理的信息位就越多,精度就越高。
    字长是计算机性能的一个重要指标。目前大部分计算机都是32位的。
    1
    2
    在汇编语言程序中,字为16位二进制数,即1Word=2Byte=16bit
    32位二进制数,即两个字称为双字(Double Word)。

    字符数据

    非数值型数据与一般的“数”不同,通常不表示数值的大小,而只表示字符或图形等信息,但这些信息在计算机中也是以二进制形式来表示的。为方便理解在此详细解析下
  • 编码
    目前,国际上通用的且使用最广泛的字符有十进制数字符号0~9,大小写的英文字母,各种运算符、标点符号等,这些字符的个数不超过128个。
    为了便于计算机识别与处理,这些字符在计算机中是用二进制形式来表示的,通常称为字符的二进制编码。
    由于需要编码的字符不超过128个,因此,用7位二进制数就可以对这些字符进行编码。
    但为了方便,字符的二进制编码一般占8个二进制位,它正好占计算机存储器的一个字节。
    目前国际上通用的是美国国家信息交换标准代码(American Standard Code for Information Interchange),简称为ASCII码
    ASCII 规范于 1967 年第一次发布,最后一次更新是在 1986 年,它包含了 33 个控制字符(具有某些特殊功能但是无法显示的字符)和 95 个可显示字符,共收录了 128 个字符,用一个字节就可以存储,它等同于国际标准 ISO/IEC 646。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    ASCII控制字符:
    二进制    十进制    十六进制    缩写    可以显示的表示法    名称/意义
    0000 0000    0    00    NUL    ␀    空字符(Null)
    0000 0001    1    01    SOH    ␁    标题开始
    0000 0010    2    02    STX    ␂    本文开始
    0000 0011    3    03    ETX    ␃    本文结束
    0000 0100    4    04    EOT    ␄    传输结束
    0000 0101    5    05    ENQ    ␅    请求
    0000 0110    6    06    ACK    ␆    确认回应
    0000 0111    7    07    BEL    ␇    响铃
    0000 1000    8    08    BS    ␈    退格
    0000 1001    9    09    HT    ␉    水平定位符号
    0000 1010    10    0A    LF    ␊    换行键
    0000 1011    11    0B    VT    ␋    垂直定位符号
    0000 1100    12    0C    FF    ␌    换页键
    0000 1101    13    0D    CR    ␍    归位键
    0000 1110    14    0E    SO    ␎    取消变换(Shift out)
    0000 1111    15    0F    SI    ␏    启用变换(Shift in
    0001 0000    16    10    DLE    ␐    跳出数据通讯
    0001 0001    17    11    DC1    ␑    设备控制一(XON 启用软件速度控制)
    0001 0010    18    12    DC2    ␒    设备控制二
    0001 0011    19    13    DC3    ␓    设备控制三(XOFF 停用软件速度控制)
    0001 0100    20    14    DC4    ␔    设备控制四
    0001 0101    21    15    NAK    ␕    确认失败回应
    0001 0110    22    16    SYN    ␖    同步用暂停
    0001 0111    23    17    ETB    ␗    区块传输结束
    0001 1000    24    18    CAN    ␘    取消
    0001 1001    25    19    EM    ␙    连接介质中断
    0001 1010    26    1A    SUB    ␚    替换
    0001 1011    27    1B    ESC    ␛    跳出
    0001 1100    28    1C    FS    ␜    文件分割符
    0001 1101    29    1D    GS    ␝    组群分隔符
    0001 1110    30    1E    RS    ␞    记录分隔符
    0001 1111    31    1F    US    ␟    单元分隔符
    0111 1111    127    7F    DEL    ␡    删除
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    ASCII可显示字符
    二进制     十进制 十六进制 图形
    0010 0000    32    20    (空格)(␠)
    0010 0001    33    21    !
    0010 0010    34    22    "
    0010 0011    35    23    #
    0010 0100    36    24    $
    0010 0101    37    25     %
    0010 0110    38    26    &
    0010 0111    39    27    '
    0010 1000    40    28    (
    0010 1001    41    29    )
    0010 1010    42    2A    *
    0010 1011    43    2B    +
    0010 1100    44    2C    ,
    0010 1101    45    2D    -
    0010 1110    46    2E    .
    0010 1111    47    2F    /
    0011 0000    48    30    0
    0011 0001    49    31    1
    0011 0010    50    32    2
    0011 0011    51    33    3
    0011 0100    52    34    4
    0011 0101    53    35    5
    0011 0110    54    36    6
    0011 0111    55    37    7
    0011 1000    56    38    8
    0011 1001    57    39    9
    0011 1010    58    3A    :
    0011 1011    59    3B    ;
    0011 1100    60    3C    <
    0011 1101    61    3D    =
    0011 1110    62    3E    >
    0011 1111    63    3F    ?
    0100 0000    64    40    @
    0100 0001    65    41    A
    0100 0010    66    42    B
    0100 0011    67    43    C
    0100 0100    68    44    D
    0100 0101    69    45    E
    0100 0110    70    46    F
    0100 0111    71    47    G
    0100 1000    72    48    H
    0100 1001    73    49    I
    0100 1010    74    4A    J
    0100 1011    75    4B    K
    0100 1100    76    4C    L
    0100 1101    77    4D    M
    0100 1110    78    4E    N
    0100 1111    79    4F    O
    0101 0000    80    50    P
    0101 0001    81    51    Q
    0101 0010    82    52    R
    0101 0011    83    53    S
    0101 0100    84    54    T
    0101 0101    85    55    U
    0101 0110    86    56    V
    0101 0111    87    57    W
    0101 1000    88    58    X
    0101 1001    89    59    Y
    0101 1010    90    5A    Z
    0101 1011    91    5B    [
    0101 1100    92    5C    \
    0101 1101    93    5D    ]
    0101 1110    94    5E    ^
    0101 1111    95    5F    _        
    0110 0000    96    60    `
    0110 0001    97    61    a
    0110 0010    98    62    b
    0110 0011    99    63    c
    0110 0100    100    64    d
    0110 0101    101    65    e
    0110 0110    102    66    f
    0110 0111    103    67    g
    0110 1000    104    68    h
    0110 1001    105    69    i
    0110 1010    106    6A    j
    0110 1011    107    6B    k
    0110 1100    108    6C    l
    0110 1101    109    6D    m
    0110 1110    110    6E    n
    0110 1111    111    6F    o
    0111 0000    112    70    p
    0111 0001    113    71    q
    0111 0010    114    72    r
    0111 0011    115    73    s
    0111 0100    116    74    t
    0111 0101    117    75    u
    0111 0110    118    76    v
    0111 0111    119    77    w
    0111 1000    120    78    x
    0111 1001    121    79    y
    0111 1010    122    7A    z
    0111 1011    123    7B    {
    0111 1100    124    7C    |
    0111 1101    125    7D    }
    0111 1110    126    7E    ~
    为了适应中文信息处理的需要,1981年国家标准局公布了GB2312—80《信息交换用汉字编码字符集——基本集》,收集了常用汉字67 763个,并给这些汉字分配了代码。
    但进行汉字信息处理,首先必须将汉字代码化,即对汉字进行编码,称为汉字输入码。汉字输入码送入计算机后还必须转换成汉字内部码,才能进行信息处理。处理完毕之后,再把汉字内部码转换成汉字字形码,才能在显示器或打印机输出。因此汉字的编码有输入码、内码、字形码三种。
  • 汉字的输入码
    目前,计算机一般是使用西文标准键盘输入的。为了能直接使用西文标准键盘输入汉字,必须给汉字设计相应的输入编码方法。其编码方案有很多种,主要的分为三类:
    1.数字编码
    常用的数字编码是国标区位码,规定全部国标汉字及符号组成94×94的矩阵。
    在这矩阵中,每一行称为一个“区”,每一列称为一个“位”。这样,就组成了94个区(01~94区),每个区内有94个位(01~94)的汉字字符集。
    区码和位码简单地组合在一起(即两位区码居高位,两位位码居低位)就形成了“区位码”。
    区位码可唯一确定某一个汉字或汉字符号;反之,一个汉字或汉字符号都对应唯一的区位码。例如,汉字“玻”的区位码为“1803”(即在18区的第3位)。
    所有汉字及符号的94个区划分成如下四个组:
    (1)1~15区为图形符号区,其中,1~9区为标准区,10~15区为自定义符号区。
    (2)16~55区为一级常用汉字区,共有3755个汉字,该区的汉字按拼音排序。
    (3)56~87区为二级非常用汉字区,共有3008个汉字,该区的汉字按部首排序。
    (4)88~94区为用户自定义汉字区。
    2.拼音码
    拼音码是以汉语拼音为基础的输入方法。凡掌握汉语拼音的人,不需训练和记忆,即可使用,但汉字同音字太多,输入重码率很高,因此按拼音输入后还必须进行同音字选择,影响了输入速度。
    3.字形编码
    字形编码是用汉字的形状来进行的编码。汉字总数虽多,但是由一笔一画组成,全部汉字的部件和各行其实是有限的。因此,把汉字的笔画部件用字母或数字进行编码,按笔画的顺序依次输入,就能表示一个汉字了。五笔字型编码就是最有影响的一种字形编码方法。
  • 汉字的内码
    出现原因:同一个汉字以不同输入方式进入计算机时,编码长度及0、1组合顺序差别很大,为使汉字信息进一步存取、使用、交流十分不方便,必须转换成长度一致、且与汉字唯一对应的能在各种计算机系统内通用,故就出现汉字的内码编码
    常用于:汉字信息的存储、交换检索等操作的机内代码,一般采用两个字节表示。英文字符的机内代码是7位的ASCII码,当用一个字节表示时,最高位为“0”。为了与英文字符能够区别,汉字机内代码中两个字节的最高位均规定为“1”。
    注意:因有些系统中字节的最高位用于奇偶校验位或采用扩展ASCII码,这种情况下需用三个字节表示汉字内码。
  • 汉字的字形码
    出现原因:存储中计算机内的汉字需要在屏幕上显示或在打印机上输出时,需要知道汉字的字形信息。汉字内码并不能直接反映汉字的字形,而要采用专门的字形码。
    目前的汉字处理系统中,字形信息的表示大体上有两类形式:
    1.用活字或文字版的母体字形形式
    2.点阵表示法、矢量表示法等形式
    其中最基本的,也是大多数字形库采用的是以点阵的形式存储汉字字形编码的方法。

    图形数据

    目前,图形在计算机中有两种数字化表示方法:
    1.几何图形或矢量图形,简称图形(Graphics)
    2.点阵图像或位图图像,简称图像(Image)。
    下面分别进行简单的介绍:
  • 图形(Graphics)
    根据画面或场景中包含的内容,分别用几何要素(如点、线、面、体)和物体表面的材料与性质及环境的光照条件、用户观察位置等来描述。
    计算机图形学的任务是先对处理对象进行描述(建模),然后对该模型进行必要的处理加工,最后再产生能正确反映该物体的或场景视觉图像的图形输出。
  • 图像
    把原始画面分离成M×N个像素(Pixel),组成一个矩阵,所以它又称为位图表示法或点阵表示法。黑白画面用一个二进制整数来表示每个像素的灰度值,彩色画面用多个二进制整数来表示每个彩色像素的3个分量(红色R、绿色G、蓝色B)的灰度值。
    图像表示法适合表现包含大量细节的类似于照片和绘画之类的画面。
    主要有以下参数:
    1.图像尺寸:指图像的大小,即水平方向包含的像素的个数。
    2.最大颜色(灰度)数:指图像中可能出现的不同颜色(灰度)的最大数目,它取决于组成该图像的所有平面中像素的位数之和,也叫图像深度。
    3.图像数据量:一幅图像的数据量以字节为单位,可以按下面的公式计算:
    图像数据量=图像宽度×图像高度×图像深度/8(B)

数据结构简介

因为在数据的存储和管理中处处离不开数据结构,故深入理解需学习下
数据结构的基本概念

  • 数据
    数据结构中的数据,是指所有能被输入到计算机中,且能被计算机处理的符号(数字、字符等)的集合,它是计算机操作对象的总称。
  • 数据元素
    数据元素是数据集合中的一个“个体”,在计算机中通常作为一个整体进行考虑和处理,是数据结构中讨论的基本单位。
    数据元素有两类:
    1.不可分割的“原子”型数据元素,如数值“6”,字符“B”等;
    2.由多个款项构成的数据元素,其中每个款项被称为一个“数据项”。
  • 关键字
    关键字是指能识别一个或多个数据元素的数据项。若能起唯一识别作用,则称为“主关键字”,否则称为“次关键字”。
  • 数据对象
    数据对象是具有相同特性的数据元素的集合,如整数、实数等。数据对象是数据的一个子集。
  • 数据结构
    若在特性相同的数据元素集合中的数据元素之间存在一种或多种特定的关系,则称该数据元素的集合为“数据结构”。也就是说,数据结构是带“结构”的数据元素的集合,“结构”即指数据元素之间存在的关系。
    数据结构的分类
  • 按照数据结构的关系分类
    分类有四种:
    1.线性结构
    数据结构中的元素存在一对一的相互关系
    2.树结构
    数据结构中的元素存在一对多的相互关系
    3.图结构
    数据结构中的元素存在多对多的相互关系
    4.集合结构
    数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系
  • 按照数据结构的层次分类
    分类有两种:
    1.数据的逻辑结构
    对数据元素之间存在的逻辑关系的描述,它可以用一个数据元素的集合来定义在此集合上的若干关系。
    2.数据的物理结构
    数据逻辑结构在计算机中的表示和实现,故又称数据“存储结构”。
    常用算法
    算法研究的目的是为了更有效的处理数据,提高数据运算效率。数据的运算是定义在数据的逻辑结构上,但运算的具体实现要在存储结构上进行。一般有以下几种常用运算:
    1.检索
    在数据结构里查找满足一定条件的节点。一般是给定一个某字段的值,找具有该字段值的节点。
    2.插入
    往数据结构中增加新的节点
    3.删除
    把指定的结点从数据结构中去掉
    4.更新
    改变指定节点的一个或多个字段的值
    5.排序
    把节点按某种指定的顺序重新排列,例如递增或递减。

数据恢复手册_初识到此告一段落

今天了解了数据恢复的基本概念、常用的软件,并实战利用Winhex工具进行了一些简单的数据恢复操作,以及进行了知识储备,以供深入理解学习

参考资料

  • 《数据恢复技术深度揭秘》
  • 《识数寻踪:WinHex应用与数据恢复开》
  • 《大话数据恢复》

未完待续

期待下次相见


[看雪官方]《安卓高级研修班》线下班,网课(12月)班开始同步招生!!

最后于 2020-9-19 15:26 被梦幻的彼岸编辑 ,原因:
收藏
点赞1
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回