飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 8144|回复: 24

[已解决] 超级XXXX专家 v1.10 算法分析

  [复制链接]
  • TA的每日心情
    开心
    2023-6-28 17:31
  • 签到天数: 34 天

    [LV.5]常住居民I

    发表于 2014-2-12 13:21:38 | 显示全部楼层 |阅读模式
    本帖最后由 cxj98 于 2014-3-9 18:16 编辑

    【破文标题】超级XXXX专家 v1.10 算法分析
    【破文作者】cxj98
    【作者邮箱】
    【作者主页】
    破解工具】OD 1.10 飘云修改版
    【破解平台】Win 7 x64 Ultimate
    【软件名称】超级xxxx专家 v1.10
    【软件大小】自己看
    【原版下载】自行搜索下载
    【保护方式】无
    【软件简介】自己查百度

    【破解声明】本文仅供研究学习,本人对因这篇文章而导致的一切后果,不承担任何法律责任。本文中的不足之处
    ------------------------------------------------------------------------
    【破解过程】载入OD后,没看到任何的壳提示,目测标准的Delphi程序入口,F9直接跑起来,输入用户名:cxj98,假码:1234567890,点击 "确定"按扭,弹出提示:注册码不正确,请检查注册码是否输错!

    对于有消息提示的,可以下 bp MessageboxA 断点,再次点确定,程序果断断下来,堆栈中右键选择反汇编窗口中跟随,来到

    1. 00588364  |.  E8 8FF3E7FF   CALL    <JMP.&user32.MessageBoxA>        ; \MessageBoxA
    2. 00588369  |.  8B83 4C040000 MOV     EAX, DWORD PTR DS:[EBX+0x44C]
    复制代码



    往上看,

    1. 0058833C  |.  E8 EFCDFEFF   CALL    ScreenCa.00575130
    2. 00588341  |.  8B83 EC040000 MOV     EAX, DWORD PTR DS:[EBX+0x4EC]
    3. 00588347  |.  E8 84CDFEFF   CALL    ScreenCa.005750D0                ;  // 关键 call,这里F7进入看看
    4. 0058834C  |.  84C0          TEST    AL, AL                           ;  // 决定 al 是否要跳转
    5. 0058834E  |.  75 29         JNZ     SHORT ScreenCa.00588379
    6. 00588350  |.  6A 40         PUSH    0x40                             ;  // 注册成功提示
    7. 00588352  |.  68 DC835800   PUSH    ScreenCa.005883DC
    8. 00588357  |.  68 1C845800   PUSH    ScreenCa.0058841C
    9. 0058835C  |.  8BC3          MOV     EAX, EBX
    10. 0058835E  |.  E8 E1F9EDFF   CALL    ScreenCa.00467D44
    11. 00588363  |.  50            PUSH    EAX                              ; |hOwner
    12. 00588364  |.  E8 8FF3E7FF   CALL    <JMP.&user32.MessageBoxA>        ; \MessageBoxA
    13. 00588369  |.  8B83 4C040000 MOV     EAX, DWORD PTR DS:[EBX+0x44C]
    14. 0058836F  |.  8B10          MOV     EDX, DWORD PTR DS:[EAX]
    15. 00588371  |.  FF92 C4000000 CALL    NEAR DWORD PTR DS:[EDX+0xC4]
    16. 00588377  |.  EB 19         JMP     SHORT ScreenCa.00588392
    17. 00588379  |>  6A 40         PUSH    0x40                             ;  // 注册失败提示
    18. 0058837B  |.  68 DC835800   PUSH    ScreenCa.005883DC
    19. 00588380  |.  68 40845800   PUSH    ScreenCa.00588440
    20. 00588385  |.  8BC3          MOV     EAX, EBX
    21. 00588387  |.  E8 B8F9EDFF   CALL    ScreenCa.00467D44
    22. 0058838C  |.  50            PUSH    EAX                              ; |hOwner
    23. 0058838D  |.  E8 66F3E7FF   CALL    <JMP.&user32.MessageBoxA>        ; \MessageBoxA
    24. 00588392  |>  33C0          XOR     EAX, EAX
    复制代码



    F7 进入关键 Call 去看一看:

    1. 005750D0  /[        DISCUZ_CODE_24        ]nbsp; 55            PUSH    EBP
    2. 005750D1  |.  8BEC          MOV     EBP, ESP
    3. 005750D3  |.  6A 00         PUSH    0x0
    4. 005750D5  |.  53            PUSH    EBX
    5. 005750D6  |.  8BD8          MOV     EBX, EAX
    6. 005750D8  |.  33C0          XOR     EAX, EAX
    7. 005750DA  |.  55            PUSH    EBP
    8. 005750DB  |.  68 22515700   PUSH    ScreenCa.00575122
    9. 005750E0  |.  64:FF30       PUSH    DWORD PTR FS:[EAX]
    10. 005750E3  |.  64:8920       MOV     DWORD PTR FS:[EAX], ESP
    11. 005750E6  |.  8BC3          MOV     EAX, EBX
    12. 005750E8  |.  E8 73FEFFFF   CALL    ScreenCa.00574F60
    13. 005750ED  |.  DDD8          FSTP    ST(0)
    14. 005750EF  |.  8D55 FC       LEA     EDX, DWORD PTR SS:[EBP-0x4]
    15. 005750F2  |.  8BC3          MOV     EAX, EBX
    16. 005750F4  |.  E8 8FFCFFFF   CALL    ScreenCa.00574D88                ;  // 核心算法,F7 进去瞧瞧
    17. 005750F9  |.  8B55 FC       MOV     EDX, DWORD PTR SS:[EBP-0x4]      ;  // 真码,此处可内存注册机
    18. 005750FC  |.  8B43 14       MOV     EAX, DWORD PTR DS:[EBX+0x14]
    19. 005750FF  |.  E8 A0F6E8FF   CALL    ScreenCa.004047A4
    20. 00575104  |.  75 04         JNZ     SHORT ScreenCa.0057510A
    21. 00575106  |.  B3 01         MOV     BL, 0x1
    22. 00575108  |.  EB 02         JMP     SHORT ScreenCa.0057510C
    23. 0057510A  |>  33DB          XOR     EBX, EBX
    24. 0057510C  |>  33C0          XOR     EAX, EAX
    25. 0057510E  |.  5A            POP     EDX
    26. 0057510F  |.  59            POP     ECX
    27. 00575110  |.  59            POP     ECX
    28. 00575111  |.  64:8910       MOV     DWORD PTR FS:[EAX], EDX
    29. 00575114  |.  68 29515700   PUSH    ScreenCa.00575129
    30. 00575119  |>  8D45 FC       LEA     EAX, DWORD PTR SS:[EBP-0x4]
    31. 0057511C  |.  E8 77F2E8FF   CALL    ScreenCa.00404398
    32. 00575121  \.  C3            RETN
    复制代码



    F7 进核心算法瞧瞧:

    1. 00574D88  /[        DISCUZ_CODE_25        ]nbsp; 55            PUSH    EBP
    2. 00574D89  |.  8BEC          MOV     EBP, ESP
    3. 00574D8B  |.  B9 05000000   MOV     ECX, 0x5
    4. 00574D90  |>  6A 00         /PUSH    0x0
    5. 00574D92  |.  6A 00         |PUSH    0x0
    6. 00574D94  |.  49            |DEC     ECX
    7. 00574D95  |.^ 75 F9         \JNZ     SHORT ScreenCa.00574D90
    8. 00574D97  |.  51            PUSH    ECX
    9. 00574D98  |.  53            PUSH    EBX
    10. 00574D99  |.  56            PUSH    ESI
    11. 00574D9A  |.  57            PUSH    EDI
    12. 00574D9B  |.  8955 FC       MOV     DWORD PTR SS:[EBP-0x4], EDX
    13. 00574D9E  |.  8BF8          MOV     EDI, EAX
    14. 00574DA0  |.  33C0          XOR     EAX, EAX
    15. 00574DA2  |.  55            PUSH    EBP
    16. 00574DA3  |.  68 464F5700   PUSH    ScreenCa.00574F46
    17. 00574DA8  |.  64:FF30       PUSH    DWORD PTR FS:[EAX]
    18. 00574DAB  |.  64:8920       MOV     DWORD PTR FS:[EAX], ESP
    19. 00574DAE  |.  8B45 FC       MOV     EAX, DWORD PTR SS:[EBP-0x4]
    20. 00574DB1  |.  E8 E2F5E8FF   CALL    ScreenCa.00404398
    21. 00574DB6  |.  8D55 F0       LEA     EDX, DWORD PTR SS:[EBP-0x10]
    22. 00574DB9  |.  8BC7          MOV     EAX, EDI
    23. 00574DBB  |.  E8 60FFFFFF   CALL    ScreenCa.00574D20
    24. 00574DC0  |.  8B45 F0       MOV     EAX, DWORD PTR SS:[EBP-0x10]     ;  // 用户名
    25. 00574DC3  |.  E8 90F8E8FF   CALL    ScreenCa.00404658
    26. 00574DC8  |.  8BF0          MOV     ESI, EAX                         ;  // 用户名长度给 ESI
    27. 00574DCA  |.  85F6          TEST    ESI, ESI                         ;  // 测试用户名是否为空
    28. 00574DCC  |.  7E 30         JLE     SHORT ScreenCa.00574DFE
    29. 00574DCE  |.  BB 01000000   MOV     EBX, 0x1
    30. 00574DD3  |>  8D55 E8       /LEA     EDX, DWORD PTR SS:[EBP-0x18]
    31. 00574DD6  |.  8BC7          |MOV     EAX, EDI
    32. 00574DD8  |.  E8 43FFFFFF   |CALL    ScreenCa.00574D20
    33. 00574DDD  |.  8B45 E8       |MOV     EAX, DWORD PTR SS:[EBP-0x18]
    34. 00574DE0  |.  0FB64418 FF   |MOVZX   EAX, BYTE PTR DS:[EAX+EBX-0x1]  ;  // 取用户名 ASCII 码
    35. 00574DE5  |.  8D4D EC       |LEA     ECX, DWORD PTR SS:[EBP-0x14]
    36. 00574DE8  |.  33D2          |XOR     EDX, EDX
    37. 00574DEA  |.  E8 3145E9FF   |CALL    ScreenCa.00409320
    38. 00574DEF  |.  8B55 EC       |MOV     EDX, DWORD PTR SS:[EBP-0x14]    ;  // 用户名 ASCII 给 EDX
    39. 00574DF2  |.  8D45 F8       |LEA     EAX, DWORD PTR SS:[EBP-0x8]
    40. 00574DF5  |.  E8 66F8E8FF   |CALL    ScreenCa.00404660
    41. 00574DFA  |.  43            |INC     EBX
    42. 00574DFB  |.  4E            |DEC     ESI
    43. 00574DFC  |.^ 75 D5         \JNZ     SHORT ScreenCa.00574DD3
    44. 00574DFE  |>  8B45 F8       MOV     EAX, DWORD PTR SS:[EBP-0x8]      ;  // 算出来的用户名ASCII码给EAX
    45. 00574E01  |.  E8 52F8E8FF   CALL    ScreenCa.00404658
    46. 00574E06  |.  8BF0          MOV     ESI, EAX                         ;  // ASCII 长度给 ESI
    47. 00574E08  |.  85F6          TEST    ESI, ESI                         ;  // ASCII 长度测试
    48. 00574E0A  |.  7E 2C         JLE     SHORT ScreenCa.00574E38
    49. 00574E0C  |.  BB 01000000   MOV     EBX, 0x1
    50. 00574E11  |>  8B45 F8       /MOV     EAX, DWORD PTR SS:[EBP-0x8]     ;  // 用户名ASCII码给EAX
    51. 00574E14  |.  E8 3FF8E8FF   |CALL    ScreenCa.00404658
    52. 00574E19  |.  2BC3          |SUB     EAX, EBX                        ;  EAX=EAX-EBX
    53. 00574E1B  |.  8B55 F8       |MOV     EDX, DWORD PTR SS:[EBP-0x8]     ;  // 用户名 ASCII 给 EDX
    54. 00574E1E  |.  8A1402        |MOV     DL, BYTE PTR DS:[EDX+EAX]       ;  // 从右到左依次获取 用户名ASCII最后一个字符的 ASCII
    55. 00574E21  |.  8D45 E4       |LEA     EAX, DWORD PTR SS:[EBP-0x1C]
    56. 00574E24  |.  E8 57F7E8FF   |CALL    ScreenCa.00404580
    57. 00574E29  |.  8B55 E4       |MOV     EDX, DWORD PTR SS:[EBP-0x1C]
    58. 00574E2C  |.  8D45 F4       |LEA     EAX, DWORD PTR SS:[EBP-0xC]
    59. 00574E2F  |.  E8 2CF8E8FF   |CALL    ScreenCa.00404660
    60. 00574E34  |.  43            |INC     EBX
    61. 00574E35  |.  4E            |DEC     ESI
    62. 00574E36  |.^ 75 D9         \JNZ     SHORT ScreenCa.00574E11
    63. 00574E38  |>  8D45 F8       LEA     EAX, DWORD PTR SS:[EBP-0x8]
    64. 00574E3B  |.  50            PUSH    EAX
    65. 00574E3C  |.  B9 04000000   MOV     ECX, 0x4
    66. 00574E41  |.  BA 01000000   MOV     EDX, 0x1
    67. 00574E46  |.  8B45 F4       MOV     EAX, DWORD PTR SS:[EBP-0xC]
    68. 00574E49  |.  E8 6AFAE8FF   CALL    ScreenCa.004048B8
    69. 00574E4E  |.  8D45 F4       LEA     EAX, DWORD PTR SS:[EBP-0xC]
    70. 00574E51  |.  50            PUSH    EAX
    71. 00574E52  |.  B9 04000000   MOV     ECX, 0x4
    72. 00574E57  |.  BA 05000000   MOV     EDX, 0x5
    73. 00574E5C  |.  8B45 F4       MOV     EAX, DWORD PTR SS:[EBP-0xC]
    74. 00574E5F  |.  E8 54FAE8FF   CALL    ScreenCa.004048B8
    75. 00574E64  |.  8B45 F8       MOV     EAX, DWORD PTR SS:[EBP-0x8]      ;  // 用户名 ascii 依次从右往左从第1位开始取4位,即:abcd 变成 dcba
    76. 00574E67  |.  E8 ECF7E8FF   CALL    ScreenCa.00404658
    77. 00574E6C  |.  83F8 04       CMP     EAX, 0x4
    78. 00574E6F  |.  7D 2F         JGE     SHORT ScreenCa.00574EA0
    79. 00574E71  |.  8B45 F8       MOV     EAX, DWORD PTR SS:[EBP-0x8]
    80. 00574E74  |.  E8 DFF7E8FF   CALL    ScreenCa.00404658
    81. 00574E79  |.  8BD8          MOV     EBX, EAX
    82. 00574E7B  |.  83FB 03       CMP     EBX, 0x3
    83. 00574E7E  |.  7F 20         JG      SHORT ScreenCa.00574EA0
    84. 00574E80  |>  8D4D E0       /LEA     ECX, DWORD PTR SS:[EBP-0x20]
    85. 00574E83  |.  8BC3          |MOV     EAX, EBX
    86. 00574E85  |.  C1E0 02       |SHL     EAX, 0x2
    87. 00574E88  |.  33D2          |XOR     EDX, EDX
    88. 00574E8A  |.  E8 9144E9FF   |CALL    ScreenCa.00409320
    89. 00574E8F  |.  8B55 E0       |MOV     EDX, DWORD PTR SS:[EBP-0x20]
    90. 00574E92  |.  8D45 F8       |LEA     EAX, DWORD PTR SS:[EBP-0x8]
    91. 00574E95  |.  E8 C6F7E8FF   |CALL    ScreenCa.00404660
    92. 00574E9A  |.  43            |INC     EBX
    93. 00574E9B  |.  83FB 04       |CMP     EBX, 0x4
    94. 00574E9E  |.^ 75 E0         \JNZ     SHORT ScreenCa.00574E80
    95. 00574EA0  |>  8B45 F4       MOV     EAX, DWORD PTR SS:[EBP-0xC]      ;  // 用户名 ascii 依次从右往左从第5位开始取4位,即:abcd 变成 dcba
    96. 00574EA3  |.  E8 B0F7E8FF   CALL    ScreenCa.00404658
    97. 00574EA8  |.  83F8 04       CMP     EAX, 0x4
    98. 00574EAB  |.  7D 2F         JGE     SHORT ScreenCa.00574EDC
    99. 00574EAD  |.  8B45 F4       MOV     EAX, DWORD PTR SS:[EBP-0xC]
    100. 00574EB0  |.  E8 A3F7E8FF   CALL    ScreenCa.00404658
    101. 00574EB5  |.  8BD8          MOV     EBX, EAX
    102. 00574EB7  |.  83FB 03       CMP     EBX, 0x3
    103. 00574EBA  |.  7F 20         JG      SHORT ScreenCa.00574EDC
    104. 00574EBC  |>  8D4D DC       /LEA     ECX, DWORD PTR SS:[EBP-0x24]
    105. 00574EBF  |.  8BC3          |MOV     EAX, EBX
    106. 00574EC1  |.  C1E0 02       |SHL     EAX, 0x2
    107. 00574EC4  |.  33D2          |XOR     EDX, EDX
    108. 00574EC6  |.  E8 5544E9FF   |CALL    ScreenCa.00409320
    109. 00574ECB  |.  8B55 DC       |MOV     EDX, DWORD PTR SS:[EBP-0x24]
    110. 00574ECE  |.  8D45 F4       |LEA     EAX, DWORD PTR SS:[EBP-0xC]
    111. 00574ED1  |.  E8 8AF7E8FF   |CALL    ScreenCa.00404660
    112. 00574ED6  |.  43            |INC     EBX
    113. 00574ED7  |.  83FB 04       |CMP     EBX, 0x4
    114. 00574EDA  |.^ 75 E0         \JNZ     SHORT ScreenCa.00574EBC
    115. 00574EDC  |>  8D45 D8       LEA     EAX, DWORD PTR SS:[EBP-0x28]
    116. 00574EDF  |.  50            PUSH    EAX
    117. 00574EE0  |.  8B47 04       MOV     EAX, DWORD PTR DS:[EDI+0x4]      ;  // 取固定字符串“PictureRecording86v2013”中的前4个字符,即:Pict给EAX
    118. 00574EE3  |.  B9 04000000   MOV     ECX, 0x4
    119. 00574EE8  |.  BA 01000000   MOV     EDX, 0x1
    120. 00574EED  |.  E8 C6F9E8FF   CALL    ScreenCa.004048B8
    121. 00574EF2  |.  FF75 D8       PUSH    DWORD PTR SS:[EBP-0x28]          ;  // 已经获取到的 Pict 与下面的- 连接,注册码的组合
    122. 00574EF5  |.  68 5C4F5700   PUSH    ScreenCa.00574F5C                ;  UNICODE "-"
    123. 00574EFA  |.  FF75 F8       PUSH    DWORD PTR SS:[EBP-0x8]           ;  // 用户名ascii从右往左从第一位开始获取的4位与上面的注册码连接
    124. 00574EFD  |.  8D45 D4       LEA     EAX, DWORD PTR SS:[EBP-0x2C]
    125. 00574F00  |.  50            PUSH    EAX
    126. 00574F01  |.  8B47 04       MOV     EAX, DWORD PTR DS:[EDI+0x4]
    127. 00574F04  |.  B9 05000000   MOV     ECX, 0x5
    128. 00574F09  |.  BA 05000000   MOV     EDX, 0x5
    129. 00574F0E  |.  E8 A5F9E8FF   CALL    ScreenCa.004048B8
    130. 00574F13  |.  FF75 D4       PUSH    DWORD PTR SS:[EBP-0x2C]          ;  // 取固定字符串“PictureRecording86v2013”中的字符串 ureRe
    131. 00574F16  |.  68 5C4F5700   PUSH    ScreenCa.00574F5C                ;  UNICODE "-"
    132. 00574F1B  |.  FF75 F4       PUSH    DWORD PTR SS:[EBP-0xC]           ;  // 用户名ascii从右往左第5位开始获取的4位与上面的注册码连接
    133. 00574F1E  |.  8B45 FC       MOV     EAX, DWORD PTR SS:[EBP-0x4]
    134. 00574F21  |.  BA 06000000   MOV     EDX, 0x6
    135. 00574F26  |.  E8 EDF7E8FF   CALL    ScreenCa.00404718
    136. 00574F2B  |.  33C0          XOR     EAX, EAX
    137. 00574F2D  |.  5A            POP     EDX
    138. 00574F2E  |.  59            POP     ECX
    139. 00574F2F  |.  59            POP     ECX
    140. 00574F30  |.  64:8910       MOV     DWORD PTR FS:[EAX], EDX
    141. 00574F33  |.  68 4D4F5700   PUSH    ScreenCa.00574F4D
    142. 00574F38  |>  8D45 D4       LEA     EAX, DWORD PTR SS:[EBP-0x2C]
    143. 00574F3B  |.  BA 0A000000   MOV     EDX, 0xA
    144. 00574F40  |.  E8 77F4E8FF   CALL    ScreenCa.004043BC
    145. 00574F45  \.  C3            RETN
    复制代码


    一路 F8 后,走出核心算法。

    经过分析,cxj98 的 ascii 码为:63 78 6A 39 38
    最终计算出来的注册码为:Pict-8393ureRe-A687

    输入最终计算出来的注册码,消息提示:注册成功,程序重新打开后生效。

    算法总结:固定字符串 PictureRe 中取 Pict 为注册码的第一组, 用户名最后两个字符的 ASCII 码的倒序与 ureRe 连接形成注册码的第2组,取用户名减去最后两位的之前两位字符的 ASCII 码的倒序,形注册码的第3组,中间用 - 符号连接。由于本人不懂编程,所以这里的算法注册机直接忽略。

    本文由 cxj98 原创发表,转载时请保留完整的文章内容等信息,谢谢。同时为了尊重国产软件,固将软件的名称以xxxx代替了。







    评分

    参与人数 4威望 +48 飘云币 +88 收起 理由
    xuhw + 4 + 4 很给力!
    飞天 + 4 + 4 很给力!大牛呀。
    GGLHY + 20 + 40 我是来膜拜大牛的!
    yyjpcx + 20 + 40 很给力! 谢谢分享

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    4 天前
  • 签到天数: 2556 天

    [LV.Master]伴坛终老

    发表于 2014-2-12 13:26:34 | 显示全部楼层
    除了注释,其他的就看不懂了。
    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    12 小时前
  • 签到天数: 2288 天

    [LV.Master]伴坛终老

    发表于 2014-2-12 13:31:24 | 显示全部楼层
    纯支持,下次自己照着试一下
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2019-3-25 06:30
  • 签到天数: 1096 天

    [LV.10]以坛为家III

    发表于 2014-2-12 13:42:47 | 显示全部楼层
    大概知道这是什么软件了,因为我曾经也分析过
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2023-1-1 10:07
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    发表于 2014-2-12 15:00:55 | 显示全部楼层
    本帖最后由 montana 于 2014-2-12 15:02 编辑

    明码;这个软件的录制效果还是不错滴,一直在用。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2021-9-9 20:17
  • 签到天数: 53 天

    [LV.5]常住居民I

    发表于 2014-2-12 15:28:47 | 显示全部楼层
    我得顶一下,牛人的作品,我幼儿水平虽然看不懂,得支持。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-3-25 15:21
  • 签到天数: 487 天

    [LV.9]以坛为家II

    发表于 2014-2-12 16:16:50 | 显示全部楼层
    很好 支持一下 PYG有你更精彩
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2014-2-12 16:56:08 | 显示全部楼层
    这个得支持一下!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-2-26 11:14
  • 签到天数: 459 天

    [LV.9]以坛为家II

    发表于 2014-2-12 17:34:40 | 显示全部楼层
    来晚了,支持一下
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2020-8-30 21:28
  • 签到天数: 238 天

    [LV.7]常住居民III

    发表于 2014-2-12 17:52:43 | 显示全部楼层
    谢谢分享,学习了
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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