首页
社区
课程
招聘
[原创]@@进销存管理软件 V3.85 企业版最新版算法分析.
发表于: 2007-9-25 10:39 9558

[原创]@@进销存管理软件 V3.85 企业版最新版算法分析.

2007-9-25 10:39
9558

【文章标题】: **进销存管理软件 V3.85 企业版最新版算法分析
【文章作者】: CCDeath
【作者邮箱】: CCDeath@163.com
【软件名称】: **进销存管理软件 V3.85 企业版
【软件大小】: 4195 KB
【下载地址】: http://cnc.skycn.com/soft/14336.html
【保护方式】: 45天限制+注册码+启动NAG
【编写语言】: Borland Delphi 6.0 - 7.0
【使用工具】: OD+PEid
【操作平台】: 盗版中的最低版本XP
【作者声明】: 如果有人觉得好用,请支持共享..希望多多批评和建议...CCDeath再此感激不尽
--------------------------------------------------------------------------------
【详细过程】
  第二篇破文,高手飘过.....我尽量把每个步骤写的清晰点...分析将近十个经典模式...下次,基础性东西会少提了...
  好了。先热热身:
  一.热身的部分我都在代码后面贴着,我自己温习旧知识
  
  来,我们来干掉她:                          
  二.破解过程:无壳
  伪装码:=====用户名:CCDeath====
          =====注册码:123456789==
  查找字符串,断在这里
  
  005E7688   .  55            push    ebp                 ;  经典断点模式,可以先找到这断下来,分析到下面
  有疑问的地方,把这个位置断点取消,断在那个有疑问的地方
  005E7689   .  8BEC          mov     ebp, esp            ;  先push ebp值,接着ebp保存esp的值,通过ebp来读
  去参数和变量
  005E768B   .  B9 06000000   mov     ecx, 6
  005E7690   >  6A 00         push    0                   ;  ecx为计数器,一个循环,分配堆栈空间,可以直接
  跳过,在005E7690处,按F4
  005E7692   .  6A 00         push    0
  005E7694   .  49            dec     ecx
  005E7695   .^ 75 F9         jnz     short 005E7690
  005E7697   .  51            push    ecx                  ;  在堆栈要用到这些寄存器,但是又不想改变原来值,
  没办法只有压,记得要弹出
  005E7698   .  53            push    ebx
  005E7699   .  56            push    esi
  005E769A   .  57            push    edi
  005E769B   .  8945 FC       mov     dword ptr [ebp-4], eax
  005E769E   .  33C0          xor     eax, eax
  005E76A0   .  55            push    ebp
  005E76A1   .  68 06795E00   push    005E7906
  005E76A6   .  64:FF30       push    dword ptr fs:[eax]
  005E76A9   .  64:8920       mov     dword ptr fs:[eax], esp          ;  8086/80186没有fs段寄存器,太老了..
  005E76AC   .  8D55 F0       lea     edx, dword ptr [ebp-10]
  005E76AF   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  005E76B2   .  8B80 04030000 mov     eax, dword ptr [eax+304]
  005E76B8   .  E8 DB72E6FF   call    0044E998
  005E76BD   .  8B45 F0       mov     eax, dword ptr [ebp-10]          ;  取得用户名,又是经典模式,取出什么,
  接着判断她是否为空或者长度在哪个范围,接着进行复杂运算。
  005E76C0   .  8D55 F4       lea     edx, dword ptr [ebp-C]
  005E76C3   .  E8 B41FE2FF   call    0040967C
  005E76C8   .  837D F4 00    cmp     dword ptr [ebp-C], 0             ;  还真的是,不跳,就Death
  005E76CC   .  75 22         jnz     short 005E76F0
  005E76CE   .  6A 00         push    0
  005E76D0   .  68 14795E00   push    005E7914                         ;  请填写用户名称!
  005E76D5   .  E8 36FFFEFF   call    <jmp.&PunUnitLib.ShowMess>
  005E76DA   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  005E76DD   .  8B80 04030000 mov     eax, dword ptr [eax+304]
  005E76E3   .  8B10          mov     edx, dword ptr [eax]
  005E76E5   .  FF92 C0000000 call    dword ptr [edx+C0]
  005E76EB   .  E9 B1010000   jmp     005E78A1
  005E76F0   >  8D55 E8       lea     edx, dword ptr [ebp-18]
  005E76F3   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  005E76F6   .  8B80 FC020000 mov     eax, dword ptr [eax+2FC]
  005E76FC   .  E8 9772E6FF   call    0044E998
  005E7701   .  8B45 E8       mov     eax, dword ptr [ebp-18]          ;  跟上面经典模式一样,顺便提一下,比如
  我现在在这里,突然发现前面一句有很重要信息没看到,直接在上一句右键“此处为新的EIP”,控制EIP,CPU得跟我们走
  005E7704   .  8D55 EC       lea     edx, dword ptr [ebp-14]
  005E7707   .  E8 701FE2FF   call    0040967C
  005E770C   .  837D EC 00    cmp     dword ptr [ebp-14], 0
  005E7710   .  75 22         jnz     short 005E7734
  005E7712   .  6A 00         push    0
  005E7714   .  68 28795E00   push    005E7928                         ;  授权号不能为空,请填写授权号!
  005E7719   .  E8 F2FEFEFF   call    <jmp.&PunUnitLib.ShowMess>
  005E771E   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  005E7721   .  8B80 FC020000 mov     eax, dword ptr [eax+2FC]
  005E7727   .  8B10          mov     edx, dword ptr [eax]
  005E7729   .  FF92 C0000000 call    dword ptr [edx+C0]
  005E772F   .  E9 6D010000   jmp     005E78A1
  005E7734   >  A1 38077000   mov     eax, dword ptr [700738]
  005E7739   .  8B00          mov     eax, dword ptr [eax]             ;  取得固定字符串"C26P-Q618"
  005E773B   .  E8 FCD7E1FF   call    00404F3C
  005E7740   .  50            push    eax                              ;  保存这个字符串
  005E7741   .  8D55 E4       lea     edx, dword ptr [ebp-1C]          ;  看到下面5E7752了吗?
  也有dword ptr[ebp-1C] 又是个经典模式,中间的CALL,肯定干了什么坏事,一般是取得数据
  005E7744   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  005E7747   .  8B80 F4020000 mov     eax, dword ptr [eax+2F4]
  005E774D   .  E8 4672E6FF   call    0044E998
  005E7752   .  8B45 E4       mov     eax, dword ptr [ebp-1C]          ;  取得机器码
  005E7755   .  E8 E2D7E1FF   call    00404F3C
  005E775A   .  50            push    eax
  005E775B   .  E8 E0FEFEFF   call    <jmp.&PunUnitLib.GetRegPass>     ;  关键CALL
  005E7760   .  8BD0          mov     edx, eax                         ;  出来一串了,我们有理由相信她是真的
  005E7762   .  8D45 F8       lea     eax, dword ptr [ebp-8]
  005E7765   .  E8 12D5E1FF   call    00404C7C
  005E776A   .  8D55 DC       lea     edx, dword ptr [ebp-24]
  005E776D   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  005E7770   .  8B80 FC020000 mov     eax, dword ptr [eax+2FC]
  005E7776   .  E8 1D72E6FF   call    0044E998
  005E777B   .  8B45 DC       mov     eax, dword ptr [ebp-24]
  005E777E   .  8D55 E0       lea     edx, dword ptr [ebp-20]
  005E7781   .  E8 F61EE2FF   call    0040967C
  005E7786   .  8B45 E0       mov     eax, dword ptr [ebp-20]
  005E7789   .  8B55 F8       mov     edx, dword ptr [ebp-8]
  005E778C   .  E8 F7D6E1FF   call    00404E88                         ;  又是经典模式,爆破也可了...
  
  三.来分析关键CALL------------------------------------------------------------------------------------------
  
  003E9024 >  55              push    ebp
  003E9025    8BEC            mov     ebp, esp
  003E9027    B9 06000000     mov     ecx, 6
  ..............................
  003E9043    8D45 EC         lea     eax, dword ptr [ebp-14]
  003E9046    E8 65B5F8FF     call    003745B0
  003E904B    8D45 F0         lea     eax, dword ptr [ebp-10]
  003E904E    8B55 08         mov     edx, dword ptr [ebp+8]           ; 取出机器码
  003E9051    E8 4AB7F8FF     call    003747A0
  003E9056    8B45 F0         mov     eax, dword ptr [ebp-10]
  003E9059    E8 0AB8F8FF     call    00374868
  003E905E    8BF0            mov     esi, eax
  003E9060    85F6            test    esi, esi                         ; 判断机器码是否为空
  003E9062    7E 26           jle     short 003E908A
  003E9064    BB 01000000     mov     ebx, 1
  003E9069    8D4D E8         lea     ecx, dword ptr [ebp-18]          ; 这个把机器码转换为十六进制
  003E906C    8B45 F0         mov     eax, dword ptr [ebp-10]
  003E906F    0FB64418 FF     movzx   eax, byte ptr [eax+ebx-1]        ; 从头往尾一直逐取
  003E9074    33D2            xor     edx, edx
  003E9076    E8 F905F9FF     call    00379674
  003E907B    8B55 E8         mov     edx, dword ptr [ebp-18]
  003E907E    8D45 FC         lea     eax, dword ptr [ebp-4]
  003E9081    E8 EAB7F8FF     call    00374870
  003E9086    43              inc     ebx
  003E9087    4E              dec     esi
  003E9088  ^ 75 DF           jnz     short 003E9069
  003E908A    8B45 FC         mov     eax, dword ptr [ebp-4]           ; 得到转换后的机器码
  003E908D    E8 D6B7F8FF     call    00374868
  003E9092    8BF0            mov     esi, eax
  003E9094    85F6            test    esi, esi                         ; 转换后的机器码是否为空
  003E9096    7E 2C           jle     short 003E90C4
  003E9098    BB 01000000     mov     ebx, 1
  003E909D    8B45 FC         mov     eax, dword ptr [ebp-4]           ; 这个循环很明显是在倒序
  003E90A0    E8 C3B7F8FF     call    00374868
  003E90A5    2BC3            sub     eax, ebx
  003E90A7    8B55 FC         mov     edx, dword ptr [ebp-4]
  003E90AA    8A1402          mov     dl, byte ptr [edx+eax]           ; 从尾往头一个一个的取出
  003E90AD    8D45 E4         lea     eax, dword ptr [ebp-1C]
  003E90B0    E8 DBB6F8FF     call    00374790
  003E90B5    8B55 E4         mov     edx, dword ptr [ebp-1C]
  003E90B8    8D45 F8         lea     eax, dword ptr [ebp-8]
  003E90BB    E8 B0B7F8FF     call    00374870
  003E90C0    43              inc     ebx
  003E90C1    4E              dec     esi
  003E90C2  ^ 75 D9           jnz     short 003E909D
  003E90C4    8D45 FC         lea     eax, dword ptr [ebp-4]
  003E90C7    50              push    eax
  003E90C8    B9 04000000     mov     ecx, 4
  003E90CD    BA 01000000     mov     edx, 1
  003E90D2    8B45 F8         mov     eax, dword ptr [ebp-8]           ; 倒序后的机器码
  003E90D5    E8 E6B9F8FF     call    00374AC0
  003E90DA    8D45 F8         lea     eax, dword ptr [ebp-8]
  003E90DD    50              push    eax
  003E90DE    B9 04000000     mov     ecx, 4
  003E90E3    BA 05000000     mov     edx, 5
  003E90E8    8B45 F8         mov     eax, dword ptr [ebp-8]
  003E90EB    E8 D0B9F8FF     call    00374AC0
  003E90F0    8B45 FC         mov     eax, dword ptr [ebp-4]           ; 取出机器码前四位N1="3415"
  003E90F3    E8 70B7F8FF     call    00374868
  003E90F8    83F8 04         cmp     eax, 4                           ; 是不是四位,OK,跳
  003E90FB    7D 2F           jge     short 003E912C
  003E90FD    8B45 FC         mov     eax, dword ptr [ebp-4]
  003E9100    E8 63B7F8FF     call    00374868
  003E9105    8BD8            mov     ebx, eax
  003E9107    83FB 03         cmp     ebx, 3
  003E910A    7F 20           jg      short 003E912C
  003E910C    8D4D E0         lea     ecx, dword ptr [ebp-20]
  003E910F    8BC3            mov     eax, ebx
  003E9111    C1E0 02         shl     eax, 2
  003E9114    33D2            xor     edx, edx
  003E9116    E8 5905F9FF     call    00379674
  003E911B    8B55 E0         mov     edx, dword ptr [ebp-20]
  003E911E    8D45 FC         lea     eax, dword ptr [ebp-4]
  003E9121    E8 4AB7F8FF     call    00374870
  003E9126    43              inc     ebx
  003E9127    83FB 04         cmp     ebx, 4
  003E912A  ^ 75 E0           jnz     short 003E910C
  003E912C    8B45 F8         mov     eax, dword ptr [ebp-8]           ; 从第五位取出四位N2="7553"
  003E912F    E8 34B7F8FF     call    00374868
  003E9134    83F8 04         cmp     eax, 4                           ;是不是四位,Nice,跳
  003E9137    7D 2F           jge     short 003E9168
  003E9139    8B45 F8         mov     eax, dword ptr [ebp-8]
  003E913C    E8 27B7F8FF     call    00374868
  003E9141    8BD8            mov     ebx, eax
  003E9143    83FB 03         cmp     ebx, 3
  003E9146    7F 20           jg      short 003E9168
  003E9148    8D4D DC         lea     ecx, dword ptr [ebp-24]
  003E914B    8BC3            mov     eax, ebx
  003E914D    C1E0 02         shl     eax, 2
  003E9150    33D2            xor     edx, edx
  003E9152    E8 1D05F9FF     call    00379674
  003E9157    8B55 DC         mov     edx, dword ptr [ebp-24]
  003E915A    8D45 F8         lea     eax, dword ptr [ebp-8]
  003E915D    E8 0EB7F8FF     call    00374870
  003E9162    43              inc     ebx
  003E9163    83FB 04         cmp     ebx, 4
  003E9166  ^ 75 E0           jnz     short 003E9148
  003E9168    8D45 D8         lea     eax, dword ptr [ebp-28]          ;
  003E916B    8B55 0C         mov     edx, dword ptr [ebp+C]           ; 取出固定字符串,经典模式,肯定要组装字符串了,我们接着看她怎么装
  003E916E    E8 2DB6F8FF     call    003747A0
  003E9173    8B45 D8         mov     eax, dword ptr [ebp-28]
  003E9176    8D55 F4         lea     edx, dword ptr [ebp-C]
  003E9179    E8 DE03F9FF     call    0037955C
  003E917E    8D45 D4         lea     eax, dword ptr [ebp-2C]
  003E9181    50              push    eax
  003E9182    B9 04000000     mov     ecx, 4
  003E9187    BA 01000000     mov     edx, 1
  003E918C    8B45 F4         mov     eax, dword ptr [ebp-C]
  003E918F    E8 2CB9F8FF     call    00374AC0
  003E9194    FF75 D4         push    dword ptr [ebp-2C]               ; 取出固定字符串前四位为N3="C26P"
  003E9197    68 0C923E00     push    003E920C
  003E919C    FF75 FC         push    dword ptr [ebp-4]
  003E919F    8D45 D0         lea     eax, dword ptr [ebp-30]
  003E91A2    50              push    eax
  003E91A3    B9 05000000     mov     ecx, 5
  003E91A8    BA 05000000     mov     edx, 5
  003E91AD    8B45 F4         mov     eax, dword ptr [ebp-C]
  003E91B0    E8 0BB9F8FF     call    00374AC0
  003E91B5    FF75 D0         push    dword ptr [ebp-30]               ; 取出固定字符串后五位为N4="-Q618"
  
  003E91B8    68 0C923E00     push    003E920C
  003E91BD    FF75 F8         push    dword ptr [ebp-8]               
  003E91C0    8D45 EC         lea     eax, dword ptr [ebp-14]
  003E91C3    BA 06000000     mov     edx, 6
  003E91C8    E8 5BB7F8FF     call    00374928                         ;¥¥¥¥关键CALL2¥¥¥¥
  003E91CD    8B45 EC         mov     eax, dword ptr [ebp-14]          ;生成真的注册码  
  
  四分析一下关键¥¥¥¥CALL2¥¥¥¥-------------------------------------------------------------------------
  
  00374931    8B4C94 14       mov     ecx, dword ptr [esp+edx*4+14]
  00374935    85C9            test    ecx, ecx
  00374937    74 06           je      short 0037493F
  00374939    3908            cmp     dword ptr [eax], ecx
  0037493B    75 02           jnz     short 0037493F
  0037493D    89C7            mov     edi, eax
  0037493F    31C0            xor     eax, eax
  00374941    8B4C94 14       mov     ecx, dword ptr [esp+edx*4+14]
  00374945    85C9            test    ecx, ecx                           ; 下面循环要计算注册码的预留总长度
  00374947    74 09           je      short 00374952
  00374949    0341 FC         add     eax, dword ptr [ecx-4]             ; 4+1+4+5+1+4=19(13H)其中1为'-'占位 5为'-Q618'
  0037494C    39CF            cmp     edi, ecx
  0037494E    75 02           jnz     short 00374952
  00374950    31FF            xor     edi, edi
  00374952    4A              dec     edx
  00374953  ^ 75 EC           jnz     short 00374941
  00374955    85FF            test    edi, edi
  00374957    74 14           je      short 0037496D                     ; 计算是否完成了
  00374959    89C2            mov     edx, eax
  0037495B    89F8            mov     eax, edi
  0037495D    8B37            mov     esi, dword ptr [edi]
  0037495F    8B76 FC         mov     esi, dword ptr [esi-4]
  00374962    E8 85020000     call    00374BEC
  00374967    57              push    edi
  00374968    0337            add     esi, dword ptr [edi]
  0037496A    4B              dec     ebx
  0037496B    EB 08           jmp     short 00374975
  0037496D    E8 02FDFFFF     call    00374674
  00374972    50              push    eax                                ; 取出未倒序的机器码
  00374973    89C6            mov     esi, eax                           ; 接下来开始组装真的注册
  00374975    8B449C 18       mov     eax, dword ptr [esp+ebx*4+18]
  00374979    89F2            mov     edx, esi                           ; 不断填充未倒序的机器码
  0037497B    85C0            test    eax, eax
  0037497D    74 0A           je      short 00374989
  0037497F    8B48 FC         mov     ecx, dword ptr [eax-4]
  00374982    01CE            add     esi, ecx                           ; 当前指针指向机器码下一个字符
  00374984    E8 8FDFFFFF     call    00372918                           ; 用'-'来填充先前指针指向
  00374989    4B              dec     ebx
  0037498A  ^ 75 E9           jnz     short 00374975
  0037498C    5A              pop     edx                                ; //真的注册码组装完毕
  
  
  
  
--------------------------------------------------------------------------------
【经验总结】
  一.取得机器码8位,接着把机器码转化为16进制字符(共16个),接着把这16个字符倒序。取出此时机器码前四位为N1,接
  着从第五位取出四个字符为N2.
  固定字符出场了,取出其前四位为N3,取出其后五位为N4.
  开始组合为: N3+'-'+N1+N4+'-'+N2  OK
  
  这个软件是2007.9月22号更新,昨晚看到了。
  希望多多批评和建议...CCDeath再此感激不尽
  
  
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2007年09月25日 10:40:13


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 7
支持
分享
最新回复 (20)
雪    币: 188
活跃值: (32)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
分析的很好!支持!
2007-9-25 10:57
0
雪    币: 191
活跃值: (345)
能力值: ( LV9,RANK:450 )
在线值:
发帖
回帖
粉丝
3
够详细,支持楼主。
2007-9-25 13:25
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
拿回家再看!
2007-9-25 16:49
0
雪    币: 243
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
看天书。。对于我们菜鸟来说。实在是难啊。。。。。。。
2007-9-25 19:28
0
雪    币: 243
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
如果做个可视化教程那就好了。
2007-9-25 19:29
0
雪    币: 177
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
真的不错的分析的很详尽~~
支持LZ的东西~
2007-9-25 20:06
0
雪    币: 207
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
尽管解说详细,还是如看天书!
2007-9-25 21:22
0
雪    币: 16
活跃值: (430)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
支持下.不错
2007-9-25 22:11
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
谢谢楼主的引导..
2007-9-26 00:39
0
雪    币: 180
活跃值: (56)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
看机器码可以直接算出 序列号

以我的机器码为例    3JV7HFV2

序列号的通用格式为  C26P-X1-Q618-X2

序列号的第一位和第二位都是固定不变的,序列号和用户名没有关系,只和我们的机器码有关系
起作用的机器码是后四位: HFV2  取它的ASCII码就是 48465632 把它取反 23656484
X1=2365  X2=6484

所以我的序列号就是  C26P-2365-Q618-6484
  大家只要根据机器码的后四位就可以算出自己的序列号.....
感谢 CCDeath 做的详细教程!
2007-9-27 07:50
0
雪    币: 180
活跃值: (56)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
我发现,这个虽然是注册上了,但是软件有些功能 还是说 你没有注册.....对不起,此功能只有注册用户才具有...哎,45天后数据就没有....
2007-9-27 10:34
0
雪    币: 180
活跃值: (56)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
不查不知道,一查下一跳 原来这篇文章两年前就有人写过,而且很详细....

标 题: 【原创】佳宜进销存管理软件--简单注册分析
发帖人:liyangsj
时 间: 2005-05-10 08:05
原文链接:http://bbs.pediy.com/showthread.php?threadid=13557
2007-9-28 18:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
呵呵 谢谢 楼上的提醒....她放在推荐软件首页,我没查,直接就分析了,分析完就贴出来了....我在另外一个帖子还给出这篇的用VC++写的漂亮界面注册机.......


http://bbs.pediy.com/showthread.php?t=52509
2007-9-29 07:28
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
分析很精辟谢谢分享
2007-9-29 09:54
0
雪    币: 269
活跃值: (51)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
16
我怎么睢着采用这种算法的软件很多呢
2007-9-29 11:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
支持。写的VERY GOOD。
2007-9-29 15:32
0
雪    币: 9
活跃值: (142)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
18
反正不是佳宜就是里诺
2007-9-29 17:27
0
雪    币: 347
活跃值: (30)
能力值: ( LV9,RANK:420 )
在线值:
发帖
回帖
粉丝
19
应该是前边那个
2007-9-29 17:47
0
雪    币: 1925
活跃值: (906)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
20
支持一把~~~
2007-9-30 23:39
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
怎么不出个视频教程...哪样看得清楚些啊...
2007-10-4 22:09
0
游客
登录 | 注册 方可回帖
返回
// // 统计代码