首页
社区
课程
招聘
[原创][破]fonge's crackme 10.1
发表于: 2007-2-15 03:14 6668

[原创][破]fonge's crackme 10.1

2007-2-15 03:14
6668
【破文作者】   hbqjxhw[pyg]

【文章题目】   [破]fonge's crackme 10.1

【下载地址】   http://bbs.pediy.com/showthread.php?s=&threadid=39590&perpage=10&highlight=&pagenumber=1

----------------------------------------------------------------------------------------------
【破解工具】   OD、DEDE

【破解平台】   WinXP SP2

----------------------------------------------------------------------------------------------
【破解过程】

用DEDE很快就可以找到004548A0(具体步骤就略了,主要是看算法)

004548A0   .  55            PUSH EBP
004548A1   .  8BEC          MOV EBP,ESP
004548A3   .  B9 13000000   MOV ECX,13
004548A8   /6A 00           PUSH 0
004548AA   |6A 00           PUSH 0
004548AC   |49              DEC ECX
004548AD  ^\75 F9           JNZ SHORT fonge's_.004548A8
004548AF    53              PUSH EBX
004548B0    56              PUSH ESI
004548B1    57              PUSH EDI
004548B2    8BD8            MOV EBX,EAX
004548B4    33C0            XOR EAX,EAX
004548B6    55              PUSH EBP
004548B7    68 B8514500     PUSH fonge's_.004551B8
004548BC    64:FF30         PUSH DWORD PTR FS:[EAX]
004548BF    64:8920         MOV DWORD PTR FS:[EAX],ESP
004548C2    8D55 E0         LEA EDX,DWORD PTR SS:[EBP-20]
004548C5    8B83 04030000   MOV EAX,DWORD PTR DS:[EBX+304]
004548CB    E8 ACF0FDFF     CALL fonge's_.0043397C
004548D0    8D55 BC         LEA EDX,DWORD PTR SS:[EBP-44]
004548D3    8B83 08030000   MOV EAX,DWORD PTR DS:[EBX+308]
004548D9    E8 9EF0FDFF     CALL fonge's_.0043397C
004548DE    8D45 D4         LEA EAX,DWORD PTR SS:[EBP-2C]
004548E1    BA D0514500     MOV EDX,fonge's_.004551D0                ; ASCII "abcdefghijklmnopqrstuvwxyz "
004548E6    E8 35F6FAFF     CALL fonge's_.00403F20
004548EB    C645 AF 01      MOV BYTE PTR SS:[EBP-51],1
004548EF    33C0            XOR EAX,EAX
004548F1    8945 F8         MOV DWORD PTR SS:[EBP-8],EAX
004548F4    33C0            XOR EAX,EAX
004548F6    8945 F4         MOV DWORD PTR SS:[EBP-C],EAX
004548F9    33C0            XOR EAX,EAX
004548FB    8945 F0         MOV DWORD PTR SS:[EBP-10],EAX
004548FE    8B45 BC         MOV EAX,DWORD PTR SS:[EBP-44]
00454901    E8 42F8FAFF     CALL fonge's_.00404148                   ; 计算SN位数
00454906    83F8 05         CMP EAX,5                                ; 比较SN位数是否大于等于5
00454909    0F8C 76080000   JL fonge's_.00455185
0045490F    8B45 E0         MOV EAX,DWORD PTR SS:[EBP-20]
00454912    E8 31F8FAFF     CALL fonge's_.00404148                   ; 计算Name位数
00454917    83F8 06         CMP EAX,6                                ; 比较Name位数是否大于等于6
0045491A    0F8C 21030000   JL fonge's_.00454C41
00454920    FF45 F4         INC DWORD PTR SS:[EBP-C]
00454923    8B45 E0         MOV EAX,DWORD PTR SS:[EBP-20]
00454926    E8 1DF8FAFF     CALL fonge's_.00404148                   ; 计算Name位数
0045492B    83F8 0A         CMP EAX,0A                               ; 比较Name位数是否小于等于0xA
0045492E    0F8F 0D030000   JG fonge's_.00454C41
00454934    8B45 E0         MOV EAX,DWORD PTR SS:[EBP-20]
00454937    0FB678 03       MOVZX EDI,BYTE PTR DS:[EAX+3]             ; 取Name的第4位的HEX值给EDI
0045493B    8B45 E0         MOV EAX,DWORD PTR SS:[EBP-20]
0045493E    E8 05F8FAFF     CALL fonge's_.00404148                   ; 计算Name位数
00454943    85C0            TEST EAX,EAX                             ; 再次判断Name是否为空
00454945    7E 64           JLE SHORT fonge's_.004549AB
00454947    8945 A8         MOV DWORD PTR SS:[EBP-58],EAX            
0045494A    C745 FC 0100000>MOV DWORD PTR SS:[EBP-4],1               ; 把循环值1给SS:[EBP-4]for(i=0;i<strlen(name);i++)
00454951    8B45 E0         MOV EAX,DWORD PTR SS:[EBP-20]
00454954    E8 EFF7FAFF     CALL fonge's_.00404148                  
00454959    8BD8            MOV EBX,EAX                              
0045495B    85DB            TEST EBX,EBX                           
0045495D    7E 2B           JLE SHORT fonge's_.0045498A
0045495F    BE 01000000     MOV ESI,1                                ; 循环值1给ESI   for (m=0;m<strlen(name);m++)
00454964    8B45 E0         MOV EAX,DWORD PTR SS:[EBP-20]
00454967    E8 DCF7FAFF     CALL fonge's_.00404148
0045496C    2B45 FC         SUB EAX,DWORD PTR SS:[EBP-4]             ; Name位数减去循环值SS:[EBP-4]
0045496F    8B55 E0         MOV EDX,DWORD PTR SS:[EBP-20]
00454972    0FB64402 FF     MOVZX EAX,BYTE PTR DS:[EDX+EAX-1]        ; 取Name的(strlen(name)-i-2)位的HEX值给EAX
00454977    8B55 E0         MOV EDX,DWORD PTR SS:[EBP-20]
0045497A    0FB65432 FF     MOVZX EDX,BYTE PTR DS:[EDX+ESI-1]        ; 取Name的m位的HEX值给EDX
0045497F    F7EA            IMUL EDX                                 ; 两个HEX值相乘
00454981    C1E8 06         SHR EAX,6                                ; 右移6
00454984    03F8            ADD EDI,EAX                              ; 相加
00454986    46              INC ESI                                  ; 循环值ESI加1
00454987    4B              DEC EBX                                  ; 循环值EBX减1
00454988  ^ 75 DA           JNZ SHORT fonge's_.00454964
0045498A    017D F8         ADD DWORD PTR SS:[EBP-8],EDI             ;累加
0045498D    8D55 A4         LEA EDX,DWORD PTR SS:[EBP-5C]
00454990    8B45 F8         MOV EAX,DWORD PTR SS:[EBP-8]
00454993    E8 8C33FBFF     CALL fonge's_.00407D24                   ; 十六进制转换为十进制
00454998    8B55 A4         MOV EDX,DWORD PTR SS:[EBP-5C]
0045499B    8D45 DC         LEA EAX,DWORD PTR SS:[EBP-24]
0045499E    E8 ADF7FAFF     CALL fonge's_.00404150
004549A3    FF45 FC         INC DWORD PTR SS:[EBP-4]                 ; 循环值SS:[EBP-4]加1
004549A6    FF4D A8         DEC DWORD PTR SS:[EBP-58]                ; 循环值SS:[EBP-58]减1
004549A9  ^ 75 A6           JNZ SHORT fonge's_.00454951
004549AB    33C0            XOR EAX,EAX
004549AD    8945 E4         MOV DWORD PTR SS:[EBP-1C],EAX
004549B0    33C0            XOR EAX,EAX
004549B2    8945 E8         MOV DWORD PTR SS:[EBP-18],EAX
004549B5    C745 EC 0100000>MOV DWORD PTR SS:[EBP-14],1
004549BC    837D EC 02      CMP DWORD PTR SS:[EBP-14],2
004549C0    7D 23           JGE SHORT fonge's_.004549E5
004549C2    B8 01000000     MOV EAX,1
004549C7    8B55 DC         MOV EDX,DWORD PTR SS:[EBP-24]
004549CA    0FB65402 FF     MOVZX EDX,BYTE PTR DS:[EDX+EAX-1]
004549CF    0155 E8         ADD DWORD PTR SS:[EBP-18],EDX
004549D2    8B55 BC         MOV EDX,DWORD PTR SS:[EBP-44]
004549D5    0FB65402 FF     MOVZX EDX,BYTE PTR DS:[EDX+EAX-1]
004549DA    0155 E4         ADD DWORD PTR SS:[EBP-1C],EDX
004549DD    40              INC EAX
004549DE    83F8 06         CMP EAX,6
004549E1  ^ 75 E4           JNZ SHORT fonge's_.004549C7
004549E3    EB 63           JMP SHORT fonge's_.00454A48
004549E5    837D EC 02      CMP DWORD PTR SS:[EBP-14],2
004549E9    75 2B           JNZ SHORT fonge's_.00454A16
004549EB    B8 06000000     MOV EAX,6
004549F0    8B55 DC         MOV EDX,DWORD PTR SS:[EBP-24]
004549F3    0FB65402 FF     MOVZX EDX,BYTE PTR DS:[EDX+EAX-1]
004549F8    0355 E8         ADD EDX,DWORD PTR SS:[EBP-18]
004549FB    42              INC EDX
004549FC    8955 E8         MOV DWORD PTR SS:[EBP-18],EDX
004549FF    8B55 BC         MOV EDX,DWORD PTR SS:[EBP-44]
00454A02    0FB65402 FF     MOVZX EDX,BYTE PTR DS:[EDX+EAX-1]
00454A07    0155 E4         ADD DWORD PTR SS:[EBP-1C],EDX
00454A0A    40              INC EAX
00454A0B    83F8 0D         CMP EAX,0D
00454A0E  ^ 75 E0           JNZ SHORT fonge's_.004549F0
00454A10    8345 E4 07      ADD DWORD PTR SS:[EBP-1C],7
00454A14    EB 32           JMP SHORT fonge's_.00454A48
00454A16    8B45 DC         MOV EAX,DWORD PTR SS:[EBP-24]
00454A19    E8 2AF7FAFF     CALL fonge's_.00404148
00454A1E    83E8 10         SUB EAX,10
00454A21    7C 25           JL SHORT fonge's_.00454A48
00454A23    40              INC EAX
00454A24    8945 A8         MOV DWORD PTR SS:[EBP-58],EAX
00454A27    B8 10000000     MOV EAX,10
00454A2C    8B55 DC         MOV EDX,DWORD PTR SS:[EBP-24]
00454A2F    0FB65402 FF     MOVZX EDX,BYTE PTR DS:[EDX+EAX-1]
00454A34    0155 E8         ADD DWORD PTR SS:[EBP-18],EDX
00454A37    8B55 BC         MOV EDX,DWORD PTR SS:[EBP-44]
00454A3A    0FB65402 FF     MOVZX EDX,BYTE PTR DS:[EDX+EAX-1]
00454A3F    0155 E4         ADD DWORD PTR SS:[EBP-1C],EDX
00454A42    40              INC EAX
00454A43    FF4D A8         DEC DWORD PTR SS:[EBP-58]
00454A46  ^ 75 E4           JNZ SHORT fonge's_.00454A2C
00454A48    33C0            XOR EAX,EAX
00454A4A    55              PUSH EBP
00454A4B    68 764A4500     PUSH fonge's_.00454A76
00454A50    64:FF30         PUSH DWORD PTR FS:[EAX]
00454A53    64:8920         MOV DWORD PTR FS:[EAX],ESP
00454A56    8B45 E8         MOV EAX,DWORD PTR SS:[EBP-18]
00454A59    3345 E4         XOR EAX,DWORD PTR SS:[EBP-1C]
00454A5C    50              PUSH EAX
00454A5D    8B45 F4         MOV EAX,DWORD PTR SS:[EBP-C]
00454A60    5A              POP EDX
00454A61    8BCA            MOV ECX,EDX
00454A63    99              CDQ
00454A64    F7F9            IDIV ECX
00454A66    8945 F0         MOV DWORD PTR SS:[EBP-10],EAX
00454A69    FF45 F0         INC DWORD PTR SS:[EBP-10]
00454A6C    33C0            XOR EAX,EAX
00454A6E    5A              POP EDX
00454A6F    59              POP ECX
00454A70    59              POP ECX
00454A71    64:8910         MOV DWORD PTR FS:[EAX],EDX
00454A74    EB 19           JMP SHORT fonge's_.00454A8F
00454A76  ^ E9 89ECFAFF     JMP fonge's_.00403704
00454A7B    0100            ADD DWORD PTR DS:[EAX],EAX
00454A7D    0000            ADD BYTE PTR DS:[EAX],AL
00454A7F    FC              CLD
00454A80    6F              OUTS DX,DWORD PTR ES:[EDI]               ; I/O 命令
00454A81    40              INC EAX
00454A82    0087 4A4500FF   ADD BYTE PTR DS:[EDI+FF00454A],AL
00454A88    45              INC EBP
00454A89    F4              HLT                                      ; 特权命令
00454A8A    E8 B1EEFAFF     CALL fonge's_.00403940
00454A8F    FF45 EC         INC DWORD PTR SS:[EBP-14]                ; SS:[EBP-C]内的数下面将要用到
00454A92    837D EC 04      CMP DWORD PTR SS:[EBP-14],4
00454A96  ^ 0F85 20FFFFFF   JNZ fonge's_.004549BC
00454A9C    EB 03           JMP SHORT fonge's_.00454AA1

----------------------------------------------------------------------------------------------
ASCII "abcdefghijklmnopqrstuvwxyz "这一段字符串下面将用到,主要是生成注册的信息。

00454AA1    8B45 BC         MOV EAX,DWORD PTR SS:[EBP-44]
00454AA4    33DB            XOR EBX,EBX
00454AA6    8A58 0C         MOV BL,BYTE PTR DS:[EAX+C]               ; 取Name的13位给BL
00454AA9    83EB 1F         SUB EBX,1F                               ; 减去0x1F(EBX的值一定为0X12,后面将要用到)
00454AAC    8B45 BC         MOV EAX,DWORD PTR SS:[EBP-44]
00454AAF    0FB670 0E       MOVZX ESI,BYTE PTR DS:[EAX+E]            ; 取Name的15位给ESI
00454AB3    83EE 24         SUB ESI,24                               ; 减去0x24(ESI的值一定为0X14,后面将要用到)
00454AB6    8B45 BC         MOV EAX,DWORD PTR SS:[EBP-44]
00454AB9    0FB678 0D       MOVZX EDI,BYTE PTR DS:[EAX+D]            ; 取Name的14位给EDI
00454ABD    83EF 31         SUB EDI,31                               ; 减去0x31(EDI的值一定为0X5,后面将要用到)
00454AC0    8D45 A0         LEA EAX,DWORD PTR SS:[EBP-60]
00454AC3    8B55 D4         MOV EDX,DWORD PTR SS:[EBP-2C]
00454AC6    8A541A FF       MOV DL,BYTE PTR DS:[EDX+EBX-1]           ; 这里将用到EBX
00454ACA    8850 01         MOV BYTE PTR DS:[EAX+1],DL
00454ACD    C600 01         MOV BYTE PTR DS:[EAX],1
00454AD0    8D55 A0         LEA EDX,DWORD PTR SS:[EBP-60]
00454AD3    8D45 9C         LEA EAX,DWORD PTR SS:[EBP-64]
00454AD6    E8 5DDFFAFF     CALL fonge's_.00402A38
00454ADB    8D45 98         LEA EAX,DWORD PTR SS:[EBP-68]
00454ADE    8B55 D4         MOV EDX,DWORD PTR SS:[EBP-2C]
00454AE1    8A52 04         MOV DL,BYTE PTR DS:[EDX+4]
00454AE4    8850 01         MOV BYTE PTR DS:[EAX+1],DL
00454AE7    C600 01         MOV BYTE PTR DS:[EAX],1
00454AEA    8D55 98         LEA EDX,DWORD PTR SS:[EBP-68]
00454AED    8D45 9C         LEA EAX,DWORD PTR SS:[EBP-64]
00454AF0    B1 02           MOV CL,2
00454AF2    E8 11DFFAFF     CALL fonge's_.00402A08
00454AF7    8D55 9C         LEA EDX,DWORD PTR SS:[EBP-64]
00454AFA    8D45 94         LEA EAX,DWORD PTR SS:[EBP-6C]
00454AFD    E8 36DFFAFF     CALL fonge's_.00402A38
00454B02    8D45 98         LEA EAX,DWORD PTR SS:[EBP-68]
00454B05    8B55 D4         MOV EDX,DWORD PTR SS:[EBP-2C]
00454B08    8A52 06         MOV DL,BYTE PTR DS:[EDX+6]
00454B0B    8850 01         MOV BYTE PTR DS:[EAX+1],DL
00454B0E    C600 01         MOV BYTE PTR DS:[EAX],1
00454B11    8D55 98         LEA EDX,DWORD PTR SS:[EBP-68]
00454B14    8D45 94         LEA EAX,DWORD PTR SS:[EBP-6C]
00454B17    B1 03           MOV CL,3
00454B19    E8 EADEFAFF     CALL fonge's_.00402A08
00454B1E    8D55 94         LEA EDX,DWORD PTR SS:[EBP-6C]
00454B21    8D45 8C         LEA EAX,DWORD PTR SS:[EBP-74]
00454B24    E8 0FDFFAFF     CALL fonge's_.00402A38
00454B29    8D45 98         LEA EAX,DWORD PTR SS:[EBP-68]
00454B2C    8B55 D4         MOV EDX,DWORD PTR SS:[EBP-2C]
00454B2F    8A52 08         MOV DL,BYTE PTR DS:[EDX+8]
00454B32    8850 01         MOV BYTE PTR DS:[EAX+1],DL
00454B35    C600 01         MOV BYTE PTR DS:[EAX],1
00454B38    8D55 98         LEA EDX,DWORD PTR SS:[EBP-68]
00454B3B    8D45 8C         LEA EAX,DWORD PTR SS:[EBP-74]
00454B3E    B1 04           MOV CL,4
00454B40    E8 C3DEFAFF     CALL fonge's_.00402A08
00454B45    8D55 8C         LEA EDX,DWORD PTR SS:[EBP-74]
00454B48    8D45 84         LEA EAX,DWORD PTR SS:[EBP-7C]
00454B4B    E8 E8DEFAFF     CALL fonge's_.00402A38
00454B50    8D45 98         LEA EAX,DWORD PTR SS:[EBP-68]
00454B53    8B55 D4         MOV EDX,DWORD PTR SS:[EBP-2C]
00454B56    8A52 12         MOV DL,BYTE PTR DS:[EDX+12]
00454B59    8850 01         MOV BYTE PTR DS:[EAX+1],DL
00454B5C    C600 01         MOV BYTE PTR DS:[EAX],1
00454B5F    8D55 98         LEA EDX,DWORD PTR SS:[EBP-68]
00454B62    8D45 84         LEA EAX,DWORD PTR SS:[EBP-7C]
00454B65    B1 05           MOV CL,5
00454B67    E8 9CDEFAFF     CALL fonge's_.00402A08
00454B6C    8D55 84         LEA EDX,DWORD PTR SS:[EBP-7C]
00454B6F    8D85 7CFFFFFF   LEA EAX,DWORD PTR SS:[EBP-84]
00454B75    E8 BEDEFAFF     CALL fonge's_.00402A38
00454B7A    8D45 98         LEA EAX,DWORD PTR SS:[EBP-68]
00454B7D    8B55 D4         MOV EDX,DWORD PTR SS:[EBP-2C]
00454B80    8A5432 FF       MOV DL,BYTE PTR DS:[EDX+ESI-1]           ; 这里将用到ESI
00454B84    8850 01         MOV BYTE PTR DS:[EAX+1],DL
00454B87    C600 01         MOV BYTE PTR DS:[EAX],1
00454B8A    8D55 98         LEA EDX,DWORD PTR SS:[EBP-68]
00454B8D    8D85 7CFFFFFF   LEA EAX,DWORD PTR SS:[EBP-84]
00454B93    B1 06           MOV CL,6
00454B95    E8 6EDEFAFF     CALL fonge's_.00402A08
00454B9A    8D95 7CFFFFFF   LEA EDX,DWORD PTR SS:[EBP-84]
00454BA0    8D45 B4         LEA EAX,DWORD PTR SS:[EBP-4C]
00454BA3    E8 44F5FAFF     CALL fonge's_.004040EC
00454BA8    8D45 A0         LEA EAX,DWORD PTR SS:[EBP-60]
00454BAB    8B55 D4         MOV EDX,DWORD PTR SS:[EBP-2C]
00454BAE    8A543A FF       MOV DL,BYTE PTR DS:[EDX+EDI-1]           ; 这里将用到EDI
00454BB2    8850 01         MOV BYTE PTR DS:[EAX+1],DL
00454BB5    C600 01         MOV BYTE PTR DS:[EAX],1
00454BB8    8D55 A0         LEA EDX,DWORD PTR SS:[EBP-60]
00454BBB    8D45 9C         LEA EAX,DWORD PTR SS:[EBP-64]
00454BBE    E8 75DEFAFF     CALL fonge's_.00402A38
00454BC3    8D45 98         LEA EAX,DWORD PTR SS:[EBP-68]
00454BC6    8B55 D4         MOV EDX,DWORD PTR SS:[EBP-2C]
00454BC9    8A541A FF       MOV DL,BYTE PTR DS:[EDX+EBX-1]           ; 这里将用到EBX
00454BCD    8850 01         MOV BYTE PTR DS:[EAX+1],DL
00454BD0    C600 01         MOV BYTE PTR DS:[EAX],1
00454BD3    8D55 98         LEA EDX,DWORD PTR SS:[EBP-68]
00454BD6    8D45 9C         LEA EAX,DWORD PTR SS:[EBP-64]
00454BD9    B1 02           MOV CL,2
00454BDB    E8 28DEFAFF     CALL fonge's_.00402A08
00454BE0    8D55 9C         LEA EDX,DWORD PTR SS:[EBP-64]
00454BE3    8D45 94         LEA EAX,DWORD PTR SS:[EBP-6C]
00454BE6    E8 4DDEFAFF     CALL fonge's_.00402A38
00454BEB    8D45 98         LEA EAX,DWORD PTR SS:[EBP-68]
00454BEE    8B55 D4         MOV EDX,DWORD PTR SS:[EBP-2C]
00454BF1    8A52 04         MOV DL,BYTE PTR DS:[EDX+4]
00454BF4    8850 01         MOV BYTE PTR DS:[EAX+1],DL
00454BF7    C600 01         MOV BYTE PTR DS:[EAX],1
00454BFA    8D55 98         LEA EDX,DWORD PTR SS:[EBP-68]
00454BFD    8D45 94         LEA EAX,DWORD PTR SS:[EBP-6C]
00454C00    B1 03           MOV CL,3
00454C02    E8 01DEFAFF     CALL fonge's_.00402A08
00454C07    8D55 94         LEA EDX,DWORD PTR SS:[EBP-6C]
00454C0A    8D45 8C         LEA EAX,DWORD PTR SS:[EBP-74]
00454C0D    E8 26DEFAFF     CALL fonge's_.00402A38
00454C12    8D45 98         LEA EAX,DWORD PTR SS:[EBP-68]
00454C15    8B55 D4         MOV EDX,DWORD PTR SS:[EBP-2C]
00454C18    8B4D F4         MOV ECX,DWORD PTR SS:[EBP-C]
00454C1B    8A540A FF       MOV DL,BYTE PTR DS:[EDX+ECX-1]           ; 这里将用到ECX (SS:[EBP-C])
00454C1F    8850 01         MOV BYTE PTR DS:[EAX+1],DL
00454C22    C600 01         MOV BYTE PTR DS:[EAX],1
00454C25    8D55 98         LEA EDX,DWORD PTR SS:[EBP-68]
00454C28    8D45 8C         LEA EAX,DWORD PTR SS:[EBP-74]
00454C2B    B1 04           MOV CL,4
00454C2D    E8 D6DDFAFF     CALL fonge's_.00402A08
00454C32    8D55 8C         LEA EDX,DWORD PTR SS:[EBP-74]
00454C35    8D45 B0         LEA EAX,DWORD PTR SS:[EBP-50]
00454C38    E8 AFF4FAFF     CALL fonge's_.004040EC

----------------------------------------------------------------------------------------------

【破解总结】
注册码部分源码:
#include <stdio.h>
#include <string.h>
main()
{
    long int sum,i,temp=0,m;
    char name[11];
        printf("请输入Name:");
    gets(name);
    int len=strlen(name);
    sum=name[3];
        printf("Serial:");
                for(i=0;i<len;i++)
                        {
                                for(m=0;m<len;m++)
                                        sum+=(name[len-i-2]*name[m])>>0x6;
                                printf("%d",sum+temp);
                                temp+=sum;
                        }
printf("\n");
}

把上面生成的注册码的第13、14、15改为"一路发"即168就OK了。

例如:
Name:PEDIY.COM
Serial:8682411441571681095015269202832610431925

详细的讨论在http://bbs.pediy.com/showthread.php?s=&threadid=39590&perpage=10&highlight=&pagenumber=1

----------------------------------------------------------------------------------------------
【破解声明】   我是一只小菜鸟,偶得一点心得,愿与大家分享:)

【版权声明】   本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
----------------------------------------------------------------------------------------------
                                                                                 文章写于2007-2-16 2:58:27

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (16)
雪    币: 220
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
不错,支持一下
2007-2-15 10:43
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
3
delphi注册机源码
直接dump下来的

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
b:=ord(name[4]) ;
for i:=1 to length(name) do
begin
for j:=1 to length(name) do b:=b+ord(name[length(name)-i])*ord(name[j]) shr 6;
n:=n+b;
sn:=sn+inttostr(n);
end;
for k:=1 to 12 do
begin
sn1:=sn1+sn[k];
end;
for h:=16 to length(sn) do
begin
sn2:=sn2+sn[h];
end;
edit2.Text:=sn1+'168'+sn2;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

想知道一个问题
00454A9C    EB 03           JMP SHORT fonge's_.00454AA1
这个你是怎么得到的?
2007-2-15 13:38
0
雪    币: 313
活跃值: (250)
能力值: ( LV9,RANK:650 )
在线值:
发帖
回帖
粉丝
4
最初由 fonge 发布
delphi注册机源码
直接dump下来的

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
b:=ord(name[4]) ;
........

OD载入,运行软件一下就可以看到了。
2007-2-15 13:51
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
5
00454A9C    EB 03           JMP SHORT fonge's_.00454AA1
这个一下就可以看到吗!
不想信
你用的是哪种OD?
2007-2-15 14:11
0
雪    币: 313
活跃值: (250)
能力值: ( LV9,RANK:650 )
在线值:
发帖
回帖
粉丝
6
最初由 fonge 发布
00454A9C EB 03 JMP SHORT fonge's_.00454AA1
这个一下就可以看到吗!
不想信
你用的是哪种OD?
上传的附件:
2007-2-15 15:07
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
7

大概知道是怎么回事了
谢谢

――――――――――――――――――――
近期将会把源码分析报告发上来
在里面会有我问这个问题的答案

2007-2-15 16:04
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
8
#include<stdio.h>
#include<string.h>
main()
{
    printf("请输入7位的用户名\n");
    int sum=0,i,temp,v=0,b=0,s=0;
    char name[7];
    gets(name);
    int len=strlen(name);
    sum=name[3];
    for(i=0;i<len;i++)
    {
        for(int j=0;j<len;j++)
        {
            temp=name[5-i];
            v=name[j];
            temp*=v;
            temp/=64;
            sum+=temp;
            s+=temp;
        }

        printf("%d",sum+b);
        b+=sum;
        
    }
    printf("\n");
}

楼主跟我的注册机生成的计算结果没有不同啊,那他为什么说我错了,晕
2007-2-15 16:59
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
9
最初由 hbqjxhw 发布

把上面生成的注册码的第13、14、15改为"一路发"即168就OK了。


他有这一句,你没有!131415168  经典吧!
2007-2-15 17:08
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
10
需要吗,你没看懂我的程序吧,兄弟

这是两个注册机生成的注册码

//16374793946815662233753260741839  楼主的

//16374793946815662233753260741839  我的

拜托你找出不同的位置好吗?????????
2007-2-15 17:23
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
11

你会后悔的

2007-2-15 17:28
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
12
最初由 hbqjxhw 发布

把上面生成的注册码的第13、14、15改为"一路发"即168就OK了。

这一句就是经典啦!

注意3楼的注册机源码(It's mine)
2007-2-15 17:30
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
13
呵呵,我写注册机通常都不安程序写的,我的答案对就行了,你说呢
你可以把我的注册机和楼主的分别编译一下,输入用户名,你看看是否一样,我就试了M 个用户名全都是一样的
好像你的右移6次,我可以写除以64 ,条理是一样的
还有你没注意的地方,看清楚了

对了,我前天的确没写好是真的,如果输入 6位是会错误的
所以要加一句

printf("请输入 7 位用户名\n"); 主要是 CM 的问题,如果是软件我就会写全它,这点是我错了
2007-2-15 17:34
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
14
公正的说
你的注册机源码跟他的注册机源码的确是一样的
当然你们的源码算出来的结果也是一样的

但用在注册的时候就不一样了

他强调了第13.14.15位要改为168
所以他最终得到了真正参与注册比较的注册码

而我公布的注册机源码里面,(即使你不用delphi也是可以看出来的)
取总算法的前十一位+168+十六位以后的,
2007-2-15 17:55
0
雪    币: 313
活跃值: (250)
能力值: ( LV9,RANK:650 )
在线值:
发帖
回帖
粉丝
15
1.注册码部分源码:
2.把上面生成的注册码的第13、14、15改为"一路发"即168就OK了。
上面写的是部分,加上第二个修改之后才算正解。

“请输入7位的用户名”你说的7位好像有出入,应该是0XA位。
用你的计算PEDIY.COM结果为:459166936066129933613356173762139625416

我的计算结果为:
Name:PEDIY.COM
Serial:8682411441571681095015269202832610431925
2007-2-15 18:29
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
16
对,输入超过了 7 位以上的用户名是会错误的,这点是真
但当天我是用

lgjlgyl
15364285830813580200652782435583

的用户名注册,但 fonge 说我错了,我就不解的说
我可没说我的注册机是完美的,当天要出街,赶着写出来,看了结果
就跑了,但后面他没说清楚就说没破解完,我就郁闷了
如果说在计算位的上面,我的程序的确有漏洞,因为我破解 CM 一向都是破完
就删了,除非有特别的地方不明白,才继续下去,如果写发布到外面的注册机,我会有高级语言写完整的
2007-2-15 18:55
0
雪    币: 7309
活跃值: (3788)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
17
最初由 fonge 发布
00454A9C EB 03 JMP SHORT fonge's_.00454AA1
这个一下就可以看到吗!
不想信
你用的是哪种OD?


有hideod插件,并且自动运行的OD
2007-2-16 14:46
0
游客
登录 | 注册 方可回帖
返回
//