首页
社区
课程
招聘
关于crackme_7.exe中serial的算法分析
发表于: 2006-6-12 12:39 8916

关于crackme_7.exe中serial的算法分析

2006-6-12 12:39
8916

1、crackme_7.exe无法上传,在论坛上有(我已经忘记原来的链接了)!
2、Serial部分我不懂的该如何下断才好,我是在参考文本中看到提示:
You have found the correct Serial :)进入代码分析后再跟踪下断的了。
3、相关图


0044C648  /.  55            push    ebp
0044C649  |.  8BEC          mov     ebp, esp
0044C64B  |.  83C4 F8       add     esp, -8
0044C64E  |.  53            push    ebx
0044C64F  |.  56            push    esi
0044C650  |.  33C9          xor     ecx, ecx
0044C652  |.  894D F8       mov     [ebp-8], ecx
0044C655  |.  8BF0          mov     esi, eax
0044C657  |.  33C0          xor     eax, eax
0044C659  |.  55            push    ebp
0044C65A  |.  68 83C74400   push    0044C783
0044C65F  |.  64:FF30       push    dword ptr fs:[eax]
0044C662  |.  64:8920       mov     fs:[eax], esp
0044C665  |.  33C0          xor     eax, eax
0044C667  |.  8945 FC       mov     [ebp-4], eax
0044C66A  |.  A1 80F84400   mov     eax, [44F880]                    ;  用户名应大于6位
0044C66F  |.  E8 0074FBFF   call    00403A74                         ;  取位数mov eax, [eax-4]
0044C674  |.  83F8 06       cmp     eax, 6
0044C677  |.  0F8E F0000000 jle     0044C76D                         ;  位数限制
0044C67D  |.  A1 80F84400   mov     eax, [44F880]
0044C682  |.  E8 ED73FBFF   call    00403A74
0044C687  |.  83F8 14       cmp     eax, 14                          ;  用户名小于14位
0044C68A  |.  0F8D DD000000 jge     0044C76D
0044C690  |.  A1 80F84400   mov     eax, [44F880]
0044C695  |.  E8 DA73FBFF   call    00403A74
0044C69A  |.  85C0          test    eax, eax
0044C69C  |.  7E 17         jle     short 0044C6B5
0044C69E  |.  BA 01000000   mov     edx, 1
0044C6A3  |>  8B0D 80F84400 /mov     ecx, [44F880]                   ;  用户名算法
0044C6A9  |.  0FB64C11 FF   |movzx   ecx, byte ptr [ecx+edx-1]
0044C6AE  |.  014D FC       |add     [ebp-4], ecx                    ;  把用户名的各字符值相加
0044C6B1  |.  42            |inc     edx                             ;  edx为用户名字符指针
0044C6B2  |.  48            |dec     eax                             ;  把值2FE保存到堆栈BF8参数
0044C6B3  |.^ 75 EE         \jnz     short 0044C6A3
0044C6B5  |>  A1 84F84400   mov     eax, [44F884]                    ;  取公司名称
0044C6BA  |.  E8 B573FBFF   call    00403A74
0044C6BF  |.  83F8 02       cmp     eax, 2                           ;  不小于2位,不大于8位
0044C6C2  |.  7E 18         jle     short 0044C6DC
0044C6C4  |.  A1 84F84400   mov     eax, [44F884]
0044C6C9  |.  E8 A673FBFF   call    00403A74
0044C6CE  |.  83F8 08       cmp     eax, 8
0044C6D1  |.  7D 09         jge     short 0044C6DC
0044C6D3  |.  8B45 FC       mov     eax, [ebp-4]                     ;  用户名值
0044C6D6  |.  6BC0 02       imul    eax, eax, 2                      ;  乘2后的值为5FC
0044C6D9  |.  8945 FC       mov     [ebp-4], eax
0044C6DC  |>  68 98C74400   push    0044C798                         ;  ASCII "I Love Cracking and "
0044C6E1  |.  8D55 F8       lea     edx, [ebp-8]                     ;  原值为0
0044C6E4  |.  8B45 FC       mov     eax, [ebp-4]                     ;  堆栈基址,用户名5FCH
0044C6E7  |.  E8 68B0FBFF   call    00407754
0044C6EC  |.  FF75 F8       push    dword ptr [ebp-8]                ;  字符串为1532=5FCH
0044C6EF  |.  68 B8C74400   push    0044C7B8                         ;  ASCII " Girls ;)"
0044C6F4  |.  B8 8CF84400   mov     eax, 0044F88C
0044C6F9  |.  BA 03000000   mov     edx, 3
0044C6FE  |.  E8 3174FBFF   call    00403B34
0044C703  |.  33C0          xor     eax, eax
0044C705  |.  8945 FC       mov     [ebp-4], eax                     ;  密值被改0
0044C708  |.  A1 88F84400   mov     eax, [44F888]                    ;  假序列号
0044C70D  |.  E8 6273FBFF   call    00403A74                         ;  取位数mov eax, [eax-4]
0044C712  |.  8BD8          mov     ebx, eax                         ;  假号长度
0044C714  |.  A1 8CF84400   mov     eax, [44F88C]                    ;  上述字符串
0044C719  |.  E8 5673FBFF   call    00403A74                         ;  取位数mov eax, [eax-4]
0044C71E  |.  3BD8          cmp     ebx, eax                         ;  值为21H
0044C720  |.  75 4B         jnz     short 0044C76D                   ;  算出的值跟序列号值相等
0044C722  |.  A1 88F84400   mov     eax, [44F888]
0044C727  |.  E8 4873FBFF   call    00403A74                         ;  假序列号
0044C72C  |.  85C0          test    eax, eax
0044C72E  |.  7E 27         jle     short 0044C757
0044C730  |.  BA 01000000   mov     edx, 1
0044C735  |>  8B0D 88F84400 /mov     ecx, [44F888]                   ;  假序列号
0044C73B  |.  0FB64C11 FF   |movzx   ecx, byte ptr [ecx+edx-1]
0044C740  |.  034D FC       |add     ecx, [ebp-4]                    ;  字符值加上差值
0044C743  |.  8B1D 8CF84400 |mov     ebx, [44F88C]                   ;  原算出的字符串
0044C749  |.  0FB65C13 FF   |movzx   ebx, byte ptr [ebx+edx-1]
0044C74E  |.  2BCB          |sub     ecx, ebx                        ;  两值相减
0044C750  |.  894D FC       |mov     [ebp-4], ecx
0044C753  |.  42            |inc     edx
0044C754  |.  48            |dec     eax
0044C755  |.^ 75 DE         \jnz     short 0044C735
0044C757  |>  837D FC 00    cmp     dword ptr [ebp-4], 0             ;  检查两串是否一样
0044C75B  |.  75 10         jnz     short 0044C76D
0044C75D  |.  8B86 14030000 mov     eax, [esi+314]                   ;  序列号成功提示
0044C763  |.  BA CCC74400   mov     edx, 0044C7CC                    ;  ASCII "You have found the correct Serial :)"
0044C768  |.  E8 E790FDFF   call    00425854
0044C76D  |>  33C0          xor     eax, eax
0044C76F  |.  5A            pop     edx
0044C770  |.  59            pop     ecx
0044C771  |.  59            pop     ecx
0044C772  |.  64:8910       mov     fs:[eax], edx
0044C775  |.  68 8AC74400   push    0044C78A
0044C77A  |>  8D45 F8       lea     eax, [ebp-8]
0044C77D  |.  E8 7670FBFF   call    004037F8
0044C782  \.  C3            retn
0044C783   .^ E9 306BFBFF   jmp     004032B8
0044C788   .^ EB F0         jmp     short 0044C77A
0044C78A   .  5E            pop     esi
0044C78B   .  5B            pop     ebx
0044C78C   .  59            pop     ecx
0044C78D   .  59            pop     ecx
0044C78E   .  5D            pop     ebp
0044C78F   .  C3            retn


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 7
支持
分享
最新回复 (11)
雪    币: 207
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
破解感悟:
  这个crackme做了一定的技术处理,中断的方法可以采用:输入name/company/serial后在数据区搜索数据的输入的内容,如cnstars(用户名),然后采用内存访问(选中数据区的内容)中断。

哈,哈,分享一下成长经历

上传的附件:
2006-6-13 08:09
0
雪    币: 47147
活跃值: (20455)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
3
最初由 cnstars 发布
哈,哈,分享一下成长经历


谢谢你与大家分享, 这里你会认识许多朋友的。
另外,将你这个crackme_7传份本地或告诉链接。
2006-6-13 09:13
0
雪    币: 207
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
谢谢坛主的抬爱,这些天电脑键盘坏了(按一个键会出来两个字母),因此没有即时把最新的crackme的心得体会发布
2006-6-15 23:43
0
雪    币: 390
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
楼主可不可以把其他几种注册方式的破解方法也帖出来学习一下啊
谢谢了!
2006-6-16 11:04
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢..............

学习之中.............
2006-6-20 06:11
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
跟了半天终于大概知道注册码的计算方法了,呵呵。

00407F3A  |$  B9 0A000000   MOV ECX,0A                               ;  第一次到这时eax数值为用户名ascii码值相加乘2
00407F3F  |>  8D75 9F       LEA ESI,DWORD PTR SS:[EBP-61]
00407F42  |>  31D2          /XOR EDX,EDX
00407F44  |.  F7F1          |DIV ECX                                 ;  0A
00407F46  |.  80C2 30       |ADD DL,30
00407F49  |.  80FA 3A       |CMP DL,3A
00407F4C  |.  72 03         |JB SHORT CrackMe_.00407F51
00407F4E  |.  80C2 07       |ADD DL,7
00407F51  |>  4E            |DEC ESI
00407F52  |.  8816          |MOV BYTE PTR DS:[ESI],DL
00407F54  |.  09C0          |OR EAX,EAX
00407F56  |.^ 75 EA         \JNZ SHORT CrackMe_.00407F42

用户名ascii码值相加乘2得到数字A
  A % 0AH + 30
将每次得到的数字倒序排出,得到字符串 B

然后注册码就是

I Love Cracking and +B+ Girls ;)
2006-6-21 00:44
0
雪    币: 207
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
请kanxue大哥,给出这个crackme中的checkbox和trackbar两个模块的中断方法

算法代码我是找到了,可程序我不知道该如何通过api函数或消息下断

其中checkbox根据算法特点,当全选时,即是正确的,然后逐个排除即可!
2006-6-22 08:12
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
发现cnstars只写关于crackme_7.exe中serial的算法分析,故献上自己的TrackBar的算法分析。cnstars的原文链接为:http://bbs.pediy.com/showthread.php?t=27259。可以去那边下载附件,十分感谢提供资源让我们这些菜鸟学习。

--------------------------------------------------------------------------------------------------------
言归正传...
我们在0044C14C下断点。。。
0044C14C  /$  55            push    ebp
0044C14D  |.  8BEC          mov     ebp, esp
0044C14F  |.  83C4 98       add     esp, -68
0044C152  |.  53            push    ebx
0044C153  |.  33D2          xor     edx, edx
0044C155  |.  8955 C4       mov     dword ptr [ebp-3C], edx
0044C158  |.  8955 FC       mov     dword ptr [ebp-4], edx
0044C15B  |.  8955 F8       mov     dword ptr [ebp-8], edx
0044C15E  |.  8BD8          mov     ebx, eax
0044C160  |.  33C0          xor     eax, eax
0044C162  |.  55            push    ebp
0044C163  |.  68 44C34400   push    0044C344
0044C168  |.  64:FF30       push    dword ptr fs:[eax]
0044C16B  |.  64:8920       mov     dword ptr fs:[eax], esp
0044C16E  |.  8D55 C4       lea     edx, dword ptr [ebp-3C]
0044C171  |.  8B83 80030000 mov     eax, dword ptr [ebx+380]
0044C177  |.  E8 A896FDFF   call    00425824
0044C17C  |.  8B45 C4       mov     eax, dword ptr [ebp-3C]
0044C17F  |.  E8 B0C0FBFF   call    00408234
0044C184  |.  DD5D E8       fstp    qword ptr [ebp-18]               ;  保存第一位x1
0044C187  |.  9B            wait
0044C188  |.  8D55 C4       lea     edx, dword ptr [ebp-3C]
0044C18B  |.  8B83 98030000 mov     eax, dword ptr [ebx+398]
0044C191  |.  E8 8E96FDFF   call    00425824
0044C196  |.  8B45 C4       mov     eax, dword ptr [ebp-3C]
0044C199  |.  E8 96C0FBFF   call    00408234
0044C19E  |.  DD5D E0       fstp    qword ptr [ebp-20]               ;  保存第二位x2
0044C1A1  |.  9B            wait
0044C1A2  |.  8D55 C4       lea     edx, dword ptr [ebp-3C]
0044C1A5  |.  8B83 9C030000 mov     eax, dword ptr [ebx+39C]
0044C1AB  |.  E8 7496FDFF   call    00425824
0044C1B0  |.  8B45 C4       mov     eax, dword ptr [ebp-3C]
0044C1B3  |.  E8 7CC0FBFF   call    00408234
0044C1B8  |.  DD5D D8       fstp    qword ptr [ebp-28]               ;  保存第三位x3
0044C1BB  |.  9B            wait
0044C1BC  |.  8D55 C4       lea     edx, dword ptr [ebp-3C]
0044C1BF  |.  8B83 A0030000 mov     eax, dword ptr [ebx+3A0]
0044C1C5  |.  E8 5A96FDFF   call    00425824
0044C1CA  |.  8B45 C4       mov     eax, dword ptr [ebp-3C]
0044C1CD  |.  E8 62C0FBFF   call    00408234
0044C1D2  |.  DD5D D0       fstp    qword ptr [ebp-30]               ;  保存第四位x4
0044C1D5  |.  9B            wait
0044C1D6  |.  8D55 C4       lea     edx, dword ptr [ebp-3C]
0044C1D9  |.  8B83 A4030000 mov     eax, dword ptr [ebx+3A4]
0044C1DF  |.  E8 4096FDFF   call    00425824
0044C1E4  |.  8B45 C4       mov     eax, dword ptr [ebp-3C]
0044C1E7  |.  E8 48C0FBFF   call    00408234
0044C1EC  |.  DD5D C8       fstp    qword ptr [ebp-38]               ;  保存第五位x5
0044C1EF  |.  9B            wait
0044C1F0  |.  DD45 E0       fld     qword ptr [ebp-20]               ;  取出第二位x2
0044C1F3  |.  83C4 F4       add     esp, -0C
0044C1F6  |.  DB3C24        fstp    tbyte ptr [esp]
0044C1F9  |.  9B            wait
0044C1FA  |.  B8 03000000   mov     eax, 3                            ;算法开始
0044C1FF  |.  E8 ECF6FCFF   call    0041B8F0                         ;  x2^3
0044C204  |.  D805 50C34400 fadd    dword ptr [44C350]               ;  x2^3+5.000000
0044C20A  |.  D9FA          fsqrt                                    ;  sqrt(x2^3+5)
0044C20C  |.  E8 F365FBFF   call    00402804                         ;  cos(sqrt(x2^3+5))
0044C211  |.  DB7D B8       fstp    tbyte ptr [ebp-48]               ;  保存结果,记为res1
0044C214  |.  9B            wait
0044C215  |.  D905 54C34400 fld     dword ptr [44C354]               ;  1.000000
0044C21B  |.  DC45 E8       fadd    qword ptr [ebp-18]               ;  x1+1
0044C21E  |.  D9FA          fsqrt                                    ;  sqrt(x1+1)
0044C220  |.  D9E0          fchs                                     ;  -sqrt(x1+1)
0044C222  |.  DB6D B8       fld     tbyte ptr [ebp-48]
0044C225  |.  DEC1          faddp   st(1), st                        ;  res1 - sqrt(x1+1)
0044C227  |.  DB7D AC       fstp    tbyte ptr [ebp-54]               ;  保存结果,记为res2
0044C22A  |.  9B            wait
0044C22B  |.  D905 58C34400 fld     dword ptr [44C358]               ;  3.000000
0044C231  |.  DC4D D8       fmul    qword ptr [ebp-28]               ;  3*x3
0044C234  |.  D805 54C34400 fadd    dword ptr [44C354]               ;  3*x3 + 1.000000
0044C23A  |.  D9ED          fldln2                                   ;  ln2
0044C23C  |.  D9C9          fxch    st(1)
0044C23E  |.  D9F1          fyl2x                                    ;  log(3*x3+1)*ln2
0044C240  |.  DB6D AC       fld     tbyte ptr [ebp-54]
0044C243  |.  DEC1          faddp   st(1), st                        ;  res2 + log(3*x3+1)*ln2
0044C245  |.  DB7D A0       fstp    tbyte ptr [ebp-60]               ;  保存结果,记为res3
0044C248  |.  9B            wait
0044C249  |.  D905 5CC34400 fld     dword ptr [44C35C]               ;  2.000000
0044C24F  |.  DC45 D0       fadd    qword ptr [ebp-30]               ;  x4 + 2
0044C252  |.  D9FA          fsqrt                                    ;  sqrt(x4+2)
0044C254  |.  DB6D A0       fld     tbyte ptr [ebp-60]
0044C257  |.  DEE1          fsubrp  st(1), st                        ;  res4 = res3 - sqrt(x4+2)
0044C259  |.  D905 58C34400 fld     dword ptr [44C358]               ;  3.000000
0044C25F  |.  DC4D C8       fmul    qword ptr [ebp-38]               ;  3.000000*x5
0044C262  |.  D835 5CC34400 fdiv    dword ptr [44C35C]               ;  3.000000*x5/2.000000
0044C268  |.  DEC1          faddp   st(1), st                        ;  res5 = res4 + 3.000000*x5/2.000000
0044C26A  |.  DB2D 60C34400 fld     tbyte ptr [44C360]               ;  0.37
0044C270  |.  DEC1          faddp   st(1), st                        ;  res5 + 0.37
0044C272  |.  D80D 6CC34400 fmul    dword ptr [44C36C]               ;  (res5 + 0.37) * 1000
0044C278  |.  DD5D F0       fstp    qword ptr [ebp-10]               ;  保存结果,记为res6
0044C27B  |.  9B            wait
0044C27C  |.  DD45 F0       fld     qword ptr [ebp-10]
0044C27F  |.  E8 9065FBFF   call    00402814
0044C284  |.  8945 98       mov     dword ptr [ebp-68], eax
0044C287  |.  8955 9C       mov     dword ptr [ebp-64], edx
0044C28A  |.  DF6D 98       fild    qword ptr [ebp-68]               ;  舍弃res6小数点后的有效数字
0044C28D  |.  83C4 F4       add     esp, -0C
0044C290  |.  DB3C24        fstp    tbyte ptr [esp]
0044C293  |.  9B            wait
0044C294  |.  8D45 FC       lea     eax, dword ptr [ebp-4]
0044C297  |.  E8 68BFFBFF   call    00408204                         ;  化为整数,记为res
0044C29C  |.  8D45 FC       lea     eax, dword ptr [ebp-4]
0044C29F  |.  E8 5CFCFFFF   call    0044BF00                         ;  关键判断,按f7进入
0044C2A4  |.  8B45 FC       mov     eax, dword ptr [ebp-4]
0044C2A7  |.  BA 78C34400   mov     edx, 0044C378
0044C2AC  |.  E8 D378FBFF   call    00403B84                         ;  判断结果是不是bab2bab5,如果是就大功告成了!!!

0044C29F处的关键调用...
------------------------------------------------------------------------------------------------------
0044BF00  /$  53            push    ebx
0044BF01  |.  56            push    esi
0044BF02  |.  57            push    edi
0044BF03  |.  51            push    ecx
0044BF04  |.  8BF0          mov     esi, eax
0044BF06  |.  8B06          mov     eax, dword ptr [esi]
0044BF08  |.  E8 677BFBFF   call    00403A74
0044BF0D  |.  8B15 98EE4400 mov     edx, dword ptr [44EE98]          ;  cnstars_.0044F040
0044BF13  |.  8902          mov     dword ptr [edx], eax
0044BF15  |.  8B06          mov     eax, dword ptr [esi]
0044BF17  |.  E8 587BFBFF   call    00403A74
0044BF1C  |.  84C0          test    al, al
0044BF1E  |.  76 38         jbe     short 0044BF58
0044BF20  |.  880424        mov     byte ptr [esp], al
0044BF23  |.  B3 01         mov     bl, 1
0044BF25  |>  B8 1C000000   /mov     eax, 1C
0044BF2A  |.  E8 516AFBFF   |call    00402980                        ;  调用四次,分别为3,9,6,d
0044BF2F  |.  0D 80000000   |or      eax, 80                         ;  即eax分别为83,89,86,8d
0044BF34  |.  8BFB          |mov     edi, ebx
0044BF36  |.  81E7 FF000000 |and     edi, 0FF
0044BF3C  |.  8B16          |mov     edx, dword ptr [esi]            ;  [esi]为res
0044BF3E  |.  0FB6543A FF   |movzx   edx, byte ptr [edx+edi-1]
0044BF43  |.  33C2          |xor     eax, edx                        ;  由0044C2AC处的调用可知,当eax分别为b5,ba,b2,ba时正确
0044BF45  |.  50            |push    eax                             ;  即我们算出来的res应为6347
0044BF46  |.  8BC6          |mov     eax, esi
0044BF48  |.  E8 F77CFBFF   |call    00403C44
0044BF4D  |.  5A            |pop     edx
0044BF4E  |.  885438 FF     |mov     byte ptr [eax+edi-1], dl
0044BF52  |.  43            |inc     ebx
0044BF53  |.  FE0C24        |dec     byte ptr [esp]
0044BF56  |.^ 75 CD         \jnz     short 0044BF25
0044BF58  |>  5A            pop     edx
0044BF59  |.  5F            pop     edi
0044BF5A  |.  5E            pop     esi
0044BF5B  |.  5B            pop     ebx
0044BF5C  \.  C3            retn

------------------------------------------------------------------------------------------------------
最后附上求res的算法...
#include<cmath>
#include<stdlib.h>
#include <iostream>
using namespace std;

int main()
{
        const double e = 2.718281828;
        int i,j,k,l,m;
        double x;
        for(i=0; i<10; i++)
                for(j=0; j<10; j++)
                        for(k=0; k<10; k++)
                                for(l=0; l<10; l++)
                                        for(m=0; m<10; m++)
                                        {
                                                x = cos(sqrt(double(j*j*j) + 5))
                                                        - sqrt(double(i)+1)
                                                        + log(k * 3.0 + 1)/log(2.0) * log(2.0)/log(e)
                                                        - sqrt(l + 2.0)
                                                        + m*3.0 / 2.0
                                                        - 5.977;
                                                if (fabs(x) <= 0.001 && x > 0)
                                                        cout << i << j << k << l << m << endl;                       
                                        }
        return 0;
}

运算结果:
14435
15245
37245
44405
55205
57225
60157
2010-5-14 15:27
0
雪    币: 269
活跃值: (906)
能力值: ( LV12,RANK:345 )
在线值:
发帖
回帖
粉丝
10
为什么这篇贴子没人顶呢!楼主多郁闷啊,难道说难度太高?那也不会没人吧顶!!
2011-11-26 17:36
0
雪    币: 269
活跃值: (906)
能力值: ( LV12,RANK:345 )
在线值:
发帖
回帖
粉丝
11
顺便问下楼主,你是如何定位的,不会是猜吧,还有其中好些指令没见到过
faddp   st(1), st                        ;  res2 + log(3*x3+1)*ln2
fstp    tbyte ptr [ebp-60]               ;  保存结果,记为res3
wait
请教楼主如何定位,另外还有那个心形的追出了吗?很纠结求解释!谢谢
2011-11-26 17:39
0
雪    币: 67
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
我想求教一下checkbox的破解如何完成?我不知道该如何定位
2016-3-7 19:46
0
游客
登录 | 注册 方可回帖
返回
//