前言:

   很久没有来看雪了^_^!!,也很久没有写破文了!上网闲逛随便找个简单软件来练习温习一下破解知道,很久都没有学习破解知识了!关于怎么找到下断就不再多提了。。言
归正转吧!!这个软件很好找下断处,没有加壳。暗喜了。。适合我这个菜鸟。。!!好就在00402BF0下断吧


00402BF0       .  6A FF           PUSH    -1
00402BF2       .  68 E8344200     PUSH    QQ聊天~1.004234E8                       ;  SE 处理程序安装
00402BF7       .  64:A1 00000000  MOV     EAX,DWORD PTR FS:[0]
00402BFD       .  50              PUSH    EAX
00402BFE       .  64:8925 0000000>MOV     DWORD PTR FS:[0],ESP
00402C05       .  83EC 08         SUB     ESP,8
00402C08       .  56              PUSH    ESI
00402C09       .  8BF1            MOV     ESI,ECX
00402C0B       .  6A 01           PUSH    1
00402C0D       .  E8 96720100     CALL    QQ聊天~1.00419EA8
00402C12       .  A1 5CF64200     MOV     EAX,DWORD PTR DS:[42F65C]
00402C17       .  894424 04       MOV     DWORD PTR SS:[ESP+4],EAX
00402C1B       .  8D8E 1C010000   LEA     ECX,DWORD PTR DS:[ESI+11C]
00402C21       .  C74424 14 00000>MOV     DWORD PTR SS:[ESP+14],0
00402C29       .  51              PUSH    ECX
00402C2A       .  8D4C24 08       LEA     ECX,DWORD PTR SS:[ESP+8]
00402C2E       .  E8 34870100     CALL    QQ聊天~1.0041B367
00402C33       .  51              PUSH    ECX
00402C34       .  8D5424 08       LEA     EDX,DWORD PTR SS:[ESP+8]
00402C38       .  8BCC            MOV     ECX,ESP
00402C3A       .  896424 0C       MOV     DWORD PTR SS:[ESP+C],ESP
00402C3E       .  52              PUSH    EDX
00402C3F       .  E8 A3830100     CALL    QQ聊天~1.0041AFE7
00402C44       .  E8 57FEFFFF     CALL    QQ聊天~1.00402AA0                       ;  ★★★★★关键CALL!跟进。。。★★★★★
00402C49       .  83C4 04         ADD     ESP,4
00402C4C       .  85C0            TEST    EAX,EAX                               ;  测试EAX是否相等!
00402C4E       .  74 1C           JE      SHORT QQ聊天~1.00402C6C                 ;  不相等则注册成功!!
00402C50       .  6A 00           PUSH    0
00402C52       .  68 C4F24200     PUSH    QQ聊天~1.0042F2C4                       ;  ngnsss
00402C57       .  68 E0F24200     PUSH    QQ聊天~1.0042F2E0                       ;  注册成功
00402C5C       .  8BCE            MOV     ECX,ESI
00402C5E       .  E8 E96A0100     CALL    QQ聊天~1.0041974C
00402C63       .  8BCE            MOV     ECX,ESI
00402C65       .  E8 089A0100     CALL    QQ聊天~1.0041C672
00402C6A       .  EB 44           JMP     SHORT QQ聊天~1.00402CB0
00402C6C       >  6A 08           PUSH    8
00402C6E       .  68 CCF24200     PUSH    QQ聊天~1.0042F2CC                       ;  1163659294813585
00402C73       .  6A 08           PUSH    8
00402C75       .  8D4C24 10       LEA     ECX,DWORD PTR SS:[ESP+10]
00402C79       .  E8 B3890100     CALL    QQ聊天~1.0041B631
00402C7E       .  50              PUSH    EAX
00402C7F       .  E8 CC800000     CALL    QQ聊天~1.0040AD50
00402C84       .  83C4 0C         ADD     ESP,0C
00402C87       .  85C0            TEST    EAX,EAX
00402C89       .  75 12           JNZ     SHORT QQ聊天~1.00402C9D
00402C8B       .  50              PUSH    EAX
00402C8C       .  68 C4F24200     PUSH    QQ聊天~1.0042F2C4                       ;  ngnsss
00402C91       .  68 A0F24200     PUSH    QQ聊天~1.0042F2A0                       ;  这是个盗版的注册号,请注册正式版本
00402C96       .  8BCE            MOV     ECX,ESI
00402C98       .  E8 AF6A0100     CALL    QQ聊天~1.0041974C
00402C9D       >  6A 00           PUSH    0
00402C9F       .  68 C4F24200     PUSH    QQ聊天~1.0042F2C4                       ;  ngnsss
00402CA4       .  68 94F24200     PUSH    QQ聊天~1.0042F294                       ;  注册号无效
00402CA9       .  8BCE            MOV     ECX,ESI
00402CAB       .  E8 9C6A0100     CALL    QQ聊天~1.0041974C
00402CB0       >  8D4C24 04       LEA     ECX,DWORD PTR SS:[ESP+4]
00402CB4       .  C74424 14 FFFFF>MOV     DWORD PTR SS:[ESP+14],-1
00402CBC       .  E8 B1850100     CALL    QQ聊天~1.0041B272
00402CC1       .  8B4C24 0C       MOV     ECX,DWORD PTR SS:[ESP+C]
00402CC5       .  5E              POP     ESI
00402CC6       .  64:890D 0000000>MOV     DWORD PTR FS:[0],ECX
00402CCD       .  83C4 14         ADD     ESP,14
00402CD0       .  C3              RETN

=====================================跟进关键CALL..00402AA0=============================================

00402AA0      /$  6A FF           PUSH    -1
00402AA2      |.  68 C8344200     PUSH    QQ聊天~1.004234C8                       ;  SE 处理程序安装
00402AA7      |.  64:A1 00000000  MOV     EAX,DWORD PTR FS:[0]
00402AAD      |.  50              PUSH    EAX
00402AAE      |.  64:8925 0000000>MOV     DWORD PTR FS:[0],ESP
00402AB5      |.  83EC 18         SUB     ESP,18
00402AB8      |.  53              PUSH    EBX
00402AB9      |.  6A 08           PUSH    8
00402ABB      |.  33DB            XOR     EBX,EBX
00402ABD      |.  68 CCF24200     PUSH    QQ聊天~1.0042F2CC                       ;  1163659294813585
00402AC2      |.  6A 08           PUSH    8
00402AC4      |.  8D4C24 38       LEA     ECX,DWORD PTR SS:[ESP+38]
00402AC8      |.  895C24 30       MOV     DWORD PTR SS:[ESP+30],EBX
00402ACC      |.  E8 608B0100     CALL    QQ聊天~1.0041B631                       ;  取假码,并送入EAX!
00402AD1      |.  50              PUSH    EAX                                   ;  假码进棧!
00402AD2      |.  E8 79820000     CALL    QQ聊天~1.0040AD50
00402AD7      |.  83C4 0C         ADD     ESP,0C
00402ADA      |.  85C0            TEST    EAX,EAX
00402ADC      |.  0F84 E3000000   JE      QQ聊天~1.00402BC5
00402AE2      |.  8B4C24 2C       MOV     ECX,DWORD PTR SS:[ESP+2C]
00402AE6      |.  33C0            XOR     EAX,EAX
00402AE8      |.  894424 05       MOV     DWORD PTR SS:[ESP+5],EAX
00402AEC      |.  885C24 04       MOV     BYTE PTR SS:[ESP+4],BL
00402AF0      |.  66:894424 09    MOV     WORD PTR SS:[ESP+9],AX
00402AF5      |.  884424 0B       MOV     BYTE PTR SS:[ESP+B],AL
00402AF9      |.  8B41 F8         MOV     EAX,DWORD PTR DS:[ECX-8]
00402AFC      |.  83F8 10         CMP     EAX,10                                ;  比较假码是否小于10HEX(16位字符)
00402AFF      |.  0F8C C0000000   JL      QQ聊天~1.00402BC5                       ;  小于则跳走失败!!
00402B05      |.  56              PUSH    ESI
00402B06      |.  68 04010000     PUSH    104
00402B0B      |.  8D4C24 34       LEA     ECX,DWORD PTR SS:[ESP+34]
00402B0F      |.  E8 1D8B0100     CALL    QQ聊天~1.0041B631                       ;  将假码转成ASIIC码,保存到00A44FA8
00402B14      |.  8B10            MOV     EDX,DWORD PTR DS:[EAX]
00402B16      |.  33F6            XOR     ESI,ESI                               ;  ESI清0
00402B18      |.  895424 10       MOV     DWORD PTR SS:[ESP+10],EDX             ;  \
00402B1C      |.  8B48 04         MOV     ECX,DWORD PTR DS:[EAX+4]              ;  |
00402B1F      |.  894C24 14       MOV     DWORD PTR SS:[ESP+14],ECX             ;  |分段转存到0012EE48
00402B23      |.  8B50 08         MOV     EDX,DWORD PTR DS:[EAX+8]              ;  |
00402B26      |.  895424 18       MOV     DWORD PTR SS:[ESP+18],EDX             ;  |
00402B2A      |.  8B40 0C         MOV     EAX,DWORD PTR DS:[EAX+C]              ;  /
00402B2D      |.  894424 1C       MOV     DWORD PTR SS:[ESP+1C],EAX
00402B31      |>  8A4C34 10       /MOV     CL,BYTE PTR SS:[ESP+ESI+10]          ;  依次取出假码送和CL
00402B35      |.  51              |PUSH    ECX
00402B36      |.  E8 45FFFFFF     |CALL    QQ聊天~1.00402A80                      ;  这个CALL是转换数字和字母
00402B3B      |.  83C4 04         |ADD     ESP,4
00402B3E      |.  884434 10       |MOV     BYTE PTR SS:[ESP+ESI+10],AL
00402B42      |.  46              |INC     ESI
00402B43      |.  83FE 10         |CMP     ESI,10
00402B46      |.^ 7C E9           \JL      SHORT QQ聊天~1.00402B31
00402B48      |.  33C0            XOR     EAX,EAX                               ;  EAX清0
00402B4A      |.  8D4C24 10       LEA     ECX,DWORD PTR SS:[ESP+10]
00402B4E      |.  5E              POP     ESI
00402B4F      |>  8A51 01         /MOV     DL,BYTE PTR DS:[ECX+1]               ;  依取出偶数的假码字符!送入到DL
00402B52      |.  8A19            |MOV     BL,BYTE PTR DS:[ECX]                 ;  依取出奇数的假码字符!送入到BL
00402B54      |.  C0E2 04         |SHL     DL,4                                 ;  左移,乘2^4(十六进制10)(十进制为16)
00402B57      |.  02D3            |ADD     DL,BL                                ;  DL=左移4位的DL+BL
00402B59      |.  83C1 02         |ADD     ECX,2                                ;  ECX+2做好准备取下一位偶数假码字符!
00402B5C      |.  885404 04       |MOV     BYTE PTR SS:[ESP+EAX+4],DL           ;  累加后保存到0012EE40(21436587A9CBEDFF)
00402B60      |.  40              |INC     EAX                                  ;  EAX加1为计数器器
00402B61      |.  83F8 08         |CMP     EAX,8                                ;  比较EAX是否小于8
00402B64      |.^ 7C E9           \JL      SHORT QQ聊天~1.00402B4F
00402B66      |.  8A4424 07       MOV     AL,BYTE PTR SS:[ESP+7]                ;  AL=等于计算后的4位
00402B6A      |.  8A5C24 04       MOV     BL,BYTE PTR SS:[ESP+4]                ;  BL=等于计算后的1位
00402B6E      |.  8A4C24 0B       MOV     CL,BYTE PTR SS:[ESP+B]                ;  CL=等于计算后的8位
00402B72      |.  8A5424 05       MOV     DL,BYTE PTR SS:[ESP+5]                ;  DL==等于计算后的2位
00402B76      |.  32C3            XOR     AL,BL
00402B78      |.  8A5C24 06       MOV     BL,BYTE PTR SS:[ESP+6]                ;  BL=等于计算后的3位
00402B7C      |.  32CA            XOR     CL,DL
00402B7E      |.  8A5424 09       MOV     DL,BYTE PTR SS:[ESP+9]                ;  DL=等于计算后的6位
00402B82      |.  32D3            XOR     DL,BL
00402B84      |.  8A5C24 08       MOV     BL,BYTE PTR SS:[ESP+8]                ;  BL==等于计算后的5位
00402B88      |.  325C24 0A       XOR     BL,BYTE PTR SS:[ESP+A]                ;  BL和=等于计算后的7位
00402B8C      |.  3C 38           CMP     AL,38                                 ;  比较1 XOR 4是否等于38
00402B8E      |.  75 35           JNZ     SHORT QQ聊天~1.00402BC5                 ;  不满足则跳走失败!!
00402B90      |.  80F9 6E         CMP     CL,6E                                 ;  比较2 XOR 8是否等于6E
00402B93      |.  75 30           JNZ     SHORT QQ聊天~1.00402BC5                 ;  不满足则跳走失败!!
00402B95      |.  80FA 4E         CMP     DL,4E                                 ;  比较6 XOR 3是否等于4E
00402B98      |.  75 2B           JNZ     SHORT QQ聊天~1.00402BC5                 ;  不满足则跳走失败!!
00402B9A      |.  80FB 1A         CMP     BL,1A                                 ;  比较5 XOR 7是否等于1A
00402B9D      |.  75 26           JNZ     SHORT QQ聊天~1.00402BC5                 ;  不满足则跳走失败!!
00402B9F      |.  8D4C24 2C       LEA     ECX,DWORD PTR SS:[ESP+2C]
00402BA3      |.  C74424 24 FFFFF>MOV     DWORD PTR SS:[ESP+24],-1
00402BAB      |.  E8 C2860100     CALL    QQ聊天~1.0041B272
00402BB0      |.  B8 01000000     MOV     EAX,1                                 ;  EAX置1(注册成功标志,这个标志也全局变量)爆破记得这里哦!
00402BB5      |.  5B              POP     EBX
00402BB6      |.  8B4C24 18       MOV     ECX,DWORD PTR SS:[ESP+18]
00402BBA      |.  64:890D 0000000>MOV     DWORD PTR FS:[0],ECX
00402BC1      |.  83C4 24         ADD     ESP,24
00402BC4      |.  C3              RETN
00402BC5      |>  8D4C24 2C       LEA     ECX,DWORD PTR SS:[ESP+2C]
00402BC9      |.  C74424 24 FFFFF>MOV     DWORD PTR SS:[ESP+24],-1
00402BD1      |.  E8 9C860100     CALL    QQ聊天~1.0041B272
00402BD6      |.  8B4C24 1C       MOV     ECX,DWORD PTR SS:[ESP+1C]
00402BDA      |.  33C0            XOR     EAX,EAX
00402BDC      |.  5B              POP     EBX
00402BDD      |.  64:890D 0000000>MOV     DWORD PTR FS:[0],ECX
00402BE4      |.  83C4 24         ADD     ESP,24
00402BE7      \.  C3              RETN


分析总结:


好了这个软件的算很简单,说得简单点这个注册方式就一定要16位字符(0~~F)了,

打比方我输入的假码:

第一步:(输入的假码)

  01 23 45 67 89 AB CD EF

第二步:(假码字符排列)

  10 32 54 76 98 BA DC FE

我们来分一下假码排列吧!把假码分为8组!

    10 32 54 76 98 BA DC FE
  --------------
      1 2 3 4 5 6 7 8

第三步:注册码算法就是做一个XOR运算了!!!^_^!!

  1(10) XOR 4(32) = 38 

  2(54) XOR 8(76) = 6E

  6(98) XOR 3(BA) = 4E

  5(DC) XOR 7(FE) = 1A


满足以上等于号的条件就可以注册成功了。。!!直下来就是为真注册码排列注册方式!


第四步:这个是一个真注册码1274749121908092



           21 47  47 19  12  09 08  29       
        ----------------------------------------------
           1  2   3  4  5   6  7  8    


然后排列为1274749121908092这个就是真注册码了!!



后话:
   这个软件算法超简单了合适菜鸟们学习了。。感觉谢你看完这篇破文希望能给刚入门菜哥们能带来一点点的启发!时间比较伧促(难免错漏)写得不好请DX位不要拍砖哦!(我不坐砖机哦!)^_^!!

22:22 2006-6-6