- UID
 - 12795
 
 注册时间2006-5-10
阅读权限20
最后登录1970-1-1
以武会友 
   
 
 
 
该用户从未签到  
 | 
 
标 题: 【原创】三六七超市管理系统2007日用品版v3.5.2.0算法分析 
作 者: KuNgBiM 
时 间: 2007-03-13,19:50 
链 接: http://bbs.pediy.com/showthread.php?threadid=40987 
 
【文章标题】: 三六七超市管理系统2007日用品版v3.5.2.0算法分析 
【文章作者】: KuNgBiM 
【作者邮箱】: [email protected] 
【作者主页】: http://www.crkcn.com 
【软件名称】: 三六七超市管理系统2007日用品版v3.5.2.0 
【软件大小】: 7.10MB 
【下载地址】: 自己搜索下载 
【加壳方式】: ASPack 2.12 
【保护方式】: 序列号+功能限制 
【编写语言】: Borland Delphi 4.0 - 5.0 
【使用工具】: OD 
【操作平台】: 盗版XPsp2 
【软件介绍】: (略) 
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教! 
-------------------------------------------------------------------------------- 
【详细过程】 
  试炼信息: 
     
  用户名:KuNgBiM 
  试炼码:99999999999999999999999999 
     
  程序ASPack 2.12加壳,脱之~~OD装载程序,利用字符插件搜索来到: 
   
  006D10FC  |> \8D55 F0        lea     edx, dword ptr [ebp-10]    ;  查找后来到这里设断,F9运行 
  006D10FF  |.  8B83 DC020000  mov     eax, dword ptr [ebx+2DC] 
  006D1105  |.  E8 2E71D6FF    call    00438238                   ;  获取用户名 
  006D110A  |.  8B45 F0        mov     eax, dword ptr [ebp-10]    ;  ASCII "KuNgBiM" 
  006D110D  |.  8D55 FC        lea     edx, dword ptr [ebp-4] 
  006D1110  |.  E8 038CD3FF    call    00409D18 
  006D1115  |.  8D55 EC        lea     edx, dword ptr [ebp-14] 
  006D1118  |.  8B83 E0020000  mov     eax, dword ptr [ebx+2E0] 
  006D111E  |.  E8 1571D6FF    call    00438238                   ;  获取试炼码 
  006D1123  |.  8B45 EC        mov     eax, dword ptr [ebp-14]    ;  ASCII "99999999999999999999999999" 
  006D1126  |.  8D55 F8        lea     edx, dword ptr [ebp-8] 
  006D1129  |.  E8 EA8BD3FF    call    00409D18 
  006D112E  |.  837D FC 00     cmp     dword ptr [ebp-4], 0       ;  用户名是否为0 
  006D1132  |.  0F84 B5000000  je      006D11ED                   ;  跳则GAME OVER 
  006D1138  |.  837D F8 00     cmp     dword ptr [ebp-8], 0       ;  试炼码是否为0 
  006D113C  |.  74 7C          je      short 006D11BA             ;  跳则GAME OVER 
  006D113E  |.  8B4D F8        mov     ecx, dword ptr [ebp-8] 
  006D1141  |.  8B55 FC        mov     edx, dword ptr [ebp-4] 
  006D1144  |.  8BC3           mov     eax, ebx 
  006D1146  |.  E8 05020000    call    006D1350                   ;  ★算法CALL,跟进★ 
  006D114B  |.  84C0           test    al, al 
  006D114D  |.  74 38          je      short 006D1187             ;  跳则GAME OVER 
  006D114F  |.  8B83 EC020000  mov     eax, dword ptr [ebx+2EC] 
  006D1155  |.  8B40 58        mov     eax, dword ptr [eax+58] 
  006D1158  |.  BA 00800000    mov     edx, 8000 
  006D115D  |.  E8 BABFD4FF    call    0041D11C 
  006D1162  |.  BA 7C126D00    mov     edx, 006D127C              ;  注册成功,我们将为您提供更多的专业服务 
  006D1167  |.  8B83 EC020000  mov     eax, dword ptr [ebx+2EC] 
  006D116D  |.  E8 F670D6FF    call    00438268 
  006D1172  |.  BA 5C126D00    mov     edx, 006D125C              ;  关闭 
  006D1177  |.  8B83 E4020000  mov     eax, dword ptr [ebx+2E4] 
  006D117D  |.  E8 E670D6FF    call    00438268 
  006D1182  |.  E9 97000000    jmp     006D121E 
  006D1187  |>  8B83 EC020000  mov     eax, dword ptr [ebx+2EC] 
  006D118D  |.  8B40 58        mov     eax, dword ptr [eax+58] 
  006D1190  |.  BA FF000000    mov     edx, 0FF 
  006D1195  |.  E8 82BFD4FF    call    0041D11C 
  006D119A  |.  BA AC126D00    mov     edx, 006D12AC              ;  注册码验证失败 
  006D119F  |.  8B83 EC020000  mov     eax, dword ptr [ebx+2EC] 
  006D11A5  |.  E8 BE70D6FF    call    00438268 
  006D11AA  |.  8B83 E0020000  mov     eax, dword ptr [ebx+2E0] 
  006D11B0  |.  8B10           mov     edx, dword ptr [eax] 
  006D11B2  |.  FF92 B0000000  call    dword ptr [edx+B0] 
  006D11B8  |.  EB 64          jmp     short 006D121E 
  006D11BA  |>  8B83 EC020000  mov     eax, dword ptr [ebx+2EC] 
  006D11C0  |.  8B40 58        mov     eax, dword ptr [eax+58] 
  006D11C3  |.  BA FF000000    mov     edx, 0FF 
  006D11C8  |.  E8 4FBFD4FF    call    0041D11C 
  006D11CD  |.  BA C4126D00    mov     edx, 006D12C4              ;  注册码必须填写 
  006D11D2  |.  8B83 EC020000  mov     eax, dword ptr [ebx+2EC] 
  006D11D8  |.  E8 8B70D6FF    call    00438268 
  006D11DD  |.  8B83 E0020000  mov     eax, dword ptr [ebx+2E0] 
  006D11E3  |.  8B10           mov     edx, dword ptr [eax] 
  006D11E5  |.  FF92 B0000000  call    dword ptr [edx+B0] 
  006D11EB  |.  EB 31          jmp     short 006D121E 
  006D11ED  |>  8B83 EC020000  mov     eax, dword ptr [ebx+2EC] 
  006D11F3  |.  8B40 58        mov     eax, dword ptr [eax+58] 
  006D11F6  |.  BA FF000000    mov     edx, 0FF 
  006D11FB  |.  E8 1CBFD4FF    call    0041D11C 
  006D1200  |.  BA DC126D00    mov     edx, 006D12DC              ;  公司名称必须填写 
  006D1205  |.  8B83 EC020000  mov     eax, dword ptr [ebx+2EC] 
  006D120B  |.  E8 5870D6FF    call    00438268 
  006D1210  |.  8B83 DC020000  mov     eax, dword ptr [ebx+2DC] 
  006D1216  |.  8B10           mov     edx, dword ptr [eax] 
  006D1218  |.  FF92 B0000000  call    dword ptr [edx+B0] 
  006D121E  |>  33C0           xor     eax, eax 
  006D1220  |.  5A             pop     edx 
  006D1221  |.  59             pop     ecx 
  006D1222  |.  59             pop     ecx 
  006D1223  |.  64:8910        mov     dword ptr fs:[eax], edx 
  006D1226  |.  68 4D126D00    push    006D124D 
  006D122B  |>  8D45 EC        lea     eax, dword ptr [ebp-14] 
  006D122E  |.  BA 03000000    mov     edx, 3 
  006D1233  |.  E8 102CD3FF    call    00403E48 
  006D1238  |.  8D45 F8        lea     eax, dword ptr [ebp-8] 
  006D123B  |.  BA 02000000    mov     edx, 2 
  006D1240  |.  E8 032CD3FF    call    00403E48 
  006D1245  \.  C3             retn 
  006D1246   .^ E9 3926D3FF    jmp     00403884 
  006D124B   .^ EB DE          jmp     short 006D122B 
  006D124D   .  5B             pop     ebx 
  006D124E   .  8BE5           mov     esp, ebp 
  006D1250   .  5D             pop     ebp 
  006D1251   .  C3             retn                               ;  挂掉! 
   
  跟进:006D1146 
   
  006D1350   $  55             push    ebp                        ;  跟进来到 
  006D1351   .  8BEC           mov     ebp, esp 
  006D1353   .  51             push    ecx 
  006D1354   .  B9 08000000    mov     ecx, 8 
  006D1359   >  6A 00          push    0 
  006D135B   .  6A 00          push    0 
  006D135D   .  49             dec     ecx 
  006D135E   .^ 75 F9          jnz     short 006D1359 
  006D1360   .  51             push    ecx 
  006D1361   .  874D FC        xchg    dword ptr [ebp-4], ecx 
  006D1364   .  53             push    ebx 
  006D1365   .  56             push    esi 
  006D1366   .  57             push    edi 
  006D1367   .  894D F4        mov     dword ptr [ebp-C], ecx 
  006D136A   .  8955 F8        mov     dword ptr [ebp-8], edx 
  006D136D   .  8945 FC        mov     dword ptr [ebp-4], eax 
  006D1370   .  8B45 F8        mov     eax, dword ptr [ebp-8] 
  006D1373   .  E8 F02ED3FF    call    00404268 
  006D1378   .  8B45 F4        mov     eax, dword ptr [ebp-C] 
  006D137B   .  E8 E82ED3FF    call    00404268 
  006D1380   .  33C0           xor     eax, eax 
  006D1382   .  55             push    ebp 
  006D1383   .  68 72156D00    push    006D1572 
  006D1388   .  64:FF30        push    dword ptr fs:[eax] 
  006D138B   .  64:8920        mov     dword ptr fs:[eax], esp 
  006D138E   .  33C0           xor     eax, eax 
  006D1390   .  55             push    ebp 
  006D1391   .  68 F9146D00    push    006D14F9 
  006D1396   .  64:FF30        push    dword ptr fs:[eax] 
  006D1399   .  64:8920        mov     dword ptr fs:[eax], esp 
  006D139C   .  A1 34EB7700    mov     eax, dword ptr [77EB34] 
  006D13A1   .  8B00           mov     eax, dword ptr [eax] 
  006D13A3   .  05 6C030000    add     eax, 36C 
  006D13A8   .  8B55 F8        mov     edx, dword ptr [ebp-8] 
  006D13AB   .  E8 C82AD3FF    call    00403E78                   ;  获取固定字符串 
  006D13B0   .  8D45 DC        lea     eax, dword ptr [ebp-24] 
  006D13B3   .  B9 8C156D00    mov     ecx, 006D158C              ;  spadger 
  006D13B8   .  8B55 F8        mov     edx, dword ptr [ebp-8] 
  006D13BB   .  E8 402DD3FF    call    00404100                   ;  用户名+固定字符串 
  006D13C0   .  8B55 DC        mov     edx, dword ptr [ebp-24] 
  006D13C3   .  8D45 E0        lea     eax, dword ptr [ebp-20] 
  006D13C6   .  E8 3932D3FF    call    00404604                   ;  验证是否组合成功(算法CALL) 
  006D13CB   .  8B45 E0        mov     eax, dword ptr [ebp-20]    ;  UNICODE "KuNgBiMspadger" 
  006D13CE   .  8D55 E4        lea     edx, dword ptr [ebp-1C] 
  006D13D1   .  E8 2E56FFFF    call    006C6A04                   ;  算法结果A=LCase(MD5(用户名+固定字符串)) 
  006D13D6   .  8B45 E4        mov     eax, dword ptr [ebp-1C]    ;  UNICODE "a3e0585a9dabdd33d619dd0c19744feb" 
  006D13D9   .  8D55 E8        lea     edx, dword ptr [ebp-18] 
  006D13DC   .  E8 2356FFFF    call    006C6A04                   ;  算法结果B=LCase(MD5(算法结果A)) 
  006D13E1   .  8B55 E8        mov     edx, dword ptr [ebp-18]    ;  ASCII "c74b4952dec5b0c61a77a2754beacd87" 
  006D13E4   .  8D45 F0        lea     eax, dword ptr [ebp-10] 
  006D13E7   .  E8 902CD3FF    call    0040407C                   ;  从算法结果B中开始重新组合注册码 
  006D13EC   .  8D45 D8        lea     eax, dword ptr [ebp-28] 
  006D13EF   .  50             push    eax 
  006D13F0   .  B9 05000000    mov     ecx, 5                     ;  取5位 
  006D13F5   .  33D2           xor     edx, edx                   ;  从首位取 
  006D13F7   .  8B45 F0        mov     eax, dword ptr [ebp-10]    ;  ASCII "c74b4952dec5b0c61a77a2754beacd87" 
  006D13FA   .  E8 BD2ED3FF    call    004042BC                   ;  取位作为★注册码A段★ 
  006D13FF   .  FF75 D8        push    dword ptr [ebp-28]         ;  ASCII "c74b4" 
  006D1402   .  68 9C156D00    push    006D159C                   ;  取“-”并连接 
  006D1407   .  8D45 D4        lea     eax, dword ptr [ebp-2C] 
  006D140A   .  50             push    eax 
  006D140B   .  B9 05000000    mov     ecx, 5                     ;  取5位 
  006D1410   .  BA 05000000    mov     edx, 5                     ;  从第5位取 
  006D1415   .  8B45 F0        mov     eax, dword ptr [ebp-10]    ;  ASCII "c74b4952dec5b0c61a77a2754beacd87" 
  006D1418   .  E8 9F2ED3FF    call    004042BC                   ;  取位作为★注册码B段★ 
  006D141D   .  FF75 D4        push    dword ptr [ebp-2C]         ;  ASCII "4952d" 
  006D1420   .  68 9C156D00    push    006D159C                   ;  取“-”并连接 
  006D1425   .  8D45 D0        lea     eax, dword ptr [ebp-30] 
  006D1428   .  50             push    eax 
  006D1429   .  B9 05000000    mov     ecx, 5                     ;  取5位 
  006D142E   .  BA 0A000000    mov     edx, 0A                    ;  从第10位取 
  006D1433   .  8B45 F0        mov     eax, dword ptr [ebp-10]    ;  ASCII "c74b4952dec5b0c61a77a2754beacd87" 
  006D1436   .  E8 812ED3FF    call    004042BC                   ;  取位作为★注册码C段★ 
  006D143B   .  FF75 D0        push    dword ptr [ebp-30]         ;  ASCII "ec5b0" 
  006D143E   .  68 9C156D00    push    006D159C                   ;  取“-”并连接 
  006D1443   .  8D45 CC        lea     eax, dword ptr [ebp-34] 
  006D1446   .  50             push    eax 
  006D1447   .  B9 05000000    mov     ecx, 5                     ;  取5位 
  006D144C   .  BA 0F000000    mov     edx, 0F                    ;  从第15位取 
  006D1451   .  8B45 F0        mov     eax, dword ptr [ebp-10]    ;  ASCII "c74b4952dec5b0c61a77a2754beacd87" 
  006D1454   .  E8 632ED3FF    call    004042BC                   ;  取位作为★注册码D段★ 
  006D1459   .  FF75 CC        push    dword ptr [ebp-34]         ;  ASCII "c61a7" 
  006D145C   .  8D45 EC        lea     eax, dword ptr [ebp-14] 
  006D145F   .  BA 07000000    mov     edx, 7 
  006D1464   .  E8 0B2DD3FF    call    00404174 
  006D1469   .  8D45 C4        lea     eax, dword ptr [ebp-3C] 
  006D146C   .  8B55 F4        mov     edx, dword ptr [ebp-C] 
  006D146F   .  E8 9031D3FF    call    00404604 
  006D1474   .  8B45 C4        mov     eax, dword ptr [ebp-3C] 
  006D1477   .  8D55 C8        lea     edx, dword ptr [ebp-38] 
  006D147A   .  E8 8555FFFF    call    006C6A04 
  006D147F   .  8B45 C8        mov     eax, dword ptr [ebp-38] 
  006D1482   .  50             push    eax 
  006D1483   .  8D45 BC        lea     eax, dword ptr [ebp-44] 
  006D1486   .  8B55 EC        mov     edx, dword ptr [ebp-14] 
  006D1489   .  E8 7631D3FF    call    00404604                   ;  重新组合后的注册码(真码) 
  006D148E   .  8B45 BC        mov     eax, dword ptr [ebp-44]    ;  UNICODE "c74b4-4952d-ec5b0-c61a7" 
  006D1491   .  8D55 C0        lea     edx, dword ptr [ebp-40] 
  006D1494   .  E8 6B55FFFF    call    006C6A04                   ;  LCase(MD5(真码)) 
  006D1499   .  8B55 C0        mov     edx, dword ptr [ebp-40]    ;  UNICODE "b8eb02c9081b4b60a410bb9ebf41e1f2" 
  006D149C   .  58             pop     eax                        ;  UNICODE "c220732ec07b22455c4761dcc7f924f9" 
  006D149D   .  E8 3632D3FF    call    004046D8                   ;  验证不等则挂 
  006D14A2   .  75 3F          jnz     short 006D14E3             ;  跳则GAME OVER 
  006D14A4   .  68 A8156D00    push    006D15A8                   ;  update info_shop set s_usetimes=88,s_regname=" 
  006D14A9   .  FF75 F8        push    dword ptr [ebp-8] 
  006D14AC   .  68 E0156D00    push    006D15E0                   ;  ",s_regno=" 
  006D14B1   .  FF75 F4        push    dword ptr [ebp-C] 
  006D14B4   .  68 F4156D00    push    006D15F4                   ;  " 
  006D14B9   .  8D45 B8        lea     eax, dword ptr [ebp-48] 
  006D14BC   .  BA 05000000    mov     edx, 5 
  006D14C1   .  E8 AE2CD3FF    call    00404174 
  006D14C6   .  8B55 B8        mov     edx, dword ptr [ebp-48] 
  006D14C9   .  A1 34EB7700    mov     eax, dword ptr [77EB34] 
  006D14CE   .  8B00           mov     eax, dword ptr [eax] 
  006D14D0   .  E8 23660800    call    00757AF8 
  006D14D5   .  8B45 FC        mov     eax, dword ptr [ebp-4] 
  006D14D8   .  C680 F4020000 >mov     byte ptr [eax+2F4], 1 
  006D14DF   .  B3 01          mov     bl, 1 
  006D14E1   .  EB 0C          jmp     short 006D14EF 
  006D14E3   >  8B45 FC        mov     eax, dword ptr [ebp-4] 
  006D14E6   .  C680 F4020000 >mov     byte ptr [eax+2F4], 0 
  006D14ED   .  33DB           xor     ebx, ebx 
  006D14EF   >  33C0           xor     eax, eax 
  006D14F1   .  5A             pop     edx 
  006D14F2   .  59             pop     ecx 
  006D14F3   .  59             pop     ecx 
  006D14F4   .  64:8910        mov     dword ptr fs:[eax], edx 
  006D14F7   .  EB 2F          jmp     short 006D1528 
  006D14F9   .^ E9 D220D3FF    jmp     004035D0 
  006D14FE   .  E8 8DBDD3FF    call    0040D290 
  006D1503   .  8B50 04        mov     edx, dword ptr [eax+4] 
  006D1506   .  A1 34EB7700    mov     eax, dword ptr [77EB34] 
  006D150B   .  8B00           mov     eax, dword ptr [eax] 
  006D150D   .  B9 00166D00    mov     ecx, 006D1600              ;  请输入用户名和密码,点击登录 
  006D1512   .  E8 89630800    call    007578A0 
  006D1517   .  8B45 FC        mov     eax, dword ptr [ebp-4] 
  006D151A   .  C680 F4020000 >mov     byte ptr [eax+2F4], 0 
  006D1521   .  33DB           xor     ebx, ebx 
  006D1523   .  E8 0424D3FF    call    0040392C 
  006D1528   >  33C0           xor     eax, eax 
  006D152A   .  5A             pop     edx 
  006D152B   .  59             pop     ecx 
  006D152C   .  59             pop     ecx 
  006D152D   .  64:8910        mov     dword ptr fs:[eax], edx 
  006D1530   .  68 79156D00    push    006D1579 
  006D1535   >  8D45 B8        lea     eax, dword ptr [ebp-48] 
  006D1538   .  E8 E728D3FF    call    00403E24 
  006D153D   .  8D45 BC        lea     eax, dword ptr [ebp-44] 
  006D1540   .  BA 04000000    mov     edx, 4 
  006D1545   .  E8 5E2FD3FF    call    004044A8 
  006D154A   .  8D45 CC        lea     eax, dword ptr [ebp-34] 
  006D154D   .  BA 05000000    mov     edx, 5 
  006D1552   .  E8 F128D3FF    call    00403E48 
  006D1557   .  8D45 E0        lea     eax, dword ptr [ebp-20] 
  006D155A   .  BA 03000000    mov     edx, 3 
  006D155F   .  E8 442FD3FF    call    004044A8 
  006D1564   .  8D45 EC        lea     eax, dword ptr [ebp-14] 
  006D1567   .  BA 04000000    mov     edx, 4 
  006D156C   .  E8 D728D3FF    call    00403E48 
  006D1571   .  C3             retn 
  006D1572   .^ E9 0D23D3FF    jmp     00403884 
  006D1577   .^ EB BC          jmp     short 006D1535 
  006D1579   .  8BC3           mov     eax, ebx 
  006D157B   .  5F             pop     edi 
  006D157C   .  5E             pop     esi 
  006D157D   .  5B             pop     ebx 
  006D157E   .  8BE5           mov     esp, ebp 
  006D1580   .  5D             pop     ebp 
  006D1581   .  C3             retn                               ;  返回验证信息 
   
  跟进“call    00404604” 
   
  006C6A04  /$  55             push    ebp                        ;  算法模块库 
  006C6A05  |.  8BEC           mov     ebp, esp 
  006C6A07  |.  83C4 E4        add     esp, -1C 
  006C6A0A  |.  53             push    ebx 
  006C6A0B  |.  33C9           xor     ecx, ecx 
  006C6A0D  |.  894D F8        mov     dword ptr [ebp-8], ecx 
  006C6A10  |.  894D E4        mov     dword ptr [ebp-1C], ecx 
  006C6A13  |.  8BDA           mov     ebx, edx 
  006C6A15  |.  8945 FC        mov     dword ptr [ebp-4], eax 
  006C6A18  |.  8D45 FC        lea     eax, dword ptr [ebp-4] 
  006C6A1B  |.  E8 34DED3FF    call    00404854 
  006C6A20  |.  33C0           xor     eax, eax 
  006C6A22  |.  55             push    ebp 
  006C6A23  |.  68 836A6C00    push    006C6A83 
  006C6A28  |.  64:FF30        push    dword ptr fs:[eax] 
  006C6A2B  |.  64:8920        mov     dword ptr fs:[eax], esp 
  006C6A2E  |.  8D45 E4        lea     eax, dword ptr [ebp-1C] 
  006C6A31  |.  8B55 FC        mov     edx, dword ptr [ebp-4] 
  006C6A34  |.  E8 43D6D3FF    call    0040407C 
  006C6A39  |.  8B45 E4        mov     eax, dword ptr [ebp-1C] 
  006C6A3C  |.  50             push    eax 
  006C6A3D  |.  8D45 E8        lea     eax, dword ptr [ebp-18] 
  006C6A40  |.  50             push    eax 
  006C6A41  |.  E8 9EFEFFFF    call    006C68E4 
  006C6A46  |.  8D45 E8        lea     eax, dword ptr [ebp-18] 
  006C6A49  |.  50             push    eax 
  006C6A4A  |.  8D45 F8        lea     eax, dword ptr [ebp-8] 
  006C6A4D  |.  50             push    eax 
  006C6A4E  |.  E8 01FFFFFF    call    006C6954                   ;  ★调用算法模块,跟进★ 
  006C6A53  |.  8B55 F8        mov     edx, dword ptr [ebp-8]     ;  计算结果 
  006C6A56  |.  8BC3           mov     eax, ebx 
  006C6A58  |.  E8 A7DBD3FF    call    00404604 
  006C6A5D  |.  33C0           xor     eax, eax 
  006C6A5F  |.  5A             pop     edx 
  006C6A60  |.  59             pop     ecx 
  006C6A61  |.  59             pop     ecx 
  006C6A62  |.  64:8910        mov     dword ptr fs:[eax], edx 
  006C6A65  |.  68 8A6A6C00    push    006C6A8A 
  006C6A6A  |>  8D45 E4        lea     eax, dword ptr [ebp-1C] 
  006C6A6D  |.  E8 B2D3D3FF    call    00403E24 
  006C6A72  |.  8D45 F8        lea     eax, dword ptr [ebp-8] 
  006C6A75  |.  E8 AAD3D3FF    call    00403E24 
  006C6A7A  |.  8D45 FC        lea     eax, dword ptr [ebp-4] 
  006C6A7D  |.  E8 0EDAD3FF    call    00404490 
  006C6A82  \.  C3             retn 
  006C6A83   .^ E9 FCCDD3FF    jmp     00403884 
  006C6A88   .^ EB E0          jmp     short 006C6A6A 
  006C6A8A   .  5B             pop     ebx 
  006C6A8B   .  8BE5           mov     esp, ebp 
  006C6A8D   .  5D             pop     ebp 
  006C6A8E   .  C3             retn                               ;  计算结果返回上一级 
   
  跟进:006C6A4E 
   
  006C6954  /$  55             push    ebp                        ;  调用MD5算法模块 
  006C6955  |.  8BEC           mov     ebp, esp 
  006C6957  |.  83C4 E8        add     esp, -18 
  006C695A  |.  53             push    ebx 
  006C695B  |.  56             push    esi 
  006C695C  |.  57             push    edi 
  006C695D  |.  33C0           xor     eax, eax 
  006C695F  |.  8945 EC        mov     dword ptr [ebp-14], eax 
  006C6962  |.  8945 E8        mov     dword ptr [ebp-18], eax 
  006C6965  |.  8B75 0C        mov     esi, dword ptr [ebp+C] 
  006C6968  |.  8D7D F0        lea     edi, dword ptr [ebp-10] 
  006C696B  |.  B9 04000000    mov     ecx, 4 
  006C6970  |.  F3:A5          rep     movs dword ptr es:[edi], d> 
  006C6972  |.  8B7D 08        mov     edi, dword ptr [ebp+8] 
  006C6975  |.  33C0           xor     eax, eax 
  006C6977  |.  55             push    ebp 
  006C6978  |.  68 F4696C00    push    006C69F4 
  006C697D  |.  64:FF30        push    dword ptr fs:[eax] 
  006C6980  |.  64:8920        mov     dword ptr fs:[eax], esp 
  006C6983  |.  8BC7           mov     eax, edi 
  006C6985  |.  E8 9AD4D3FF    call    00403E24 
  006C698A  |.  B3 10          mov     bl, 10 
  006C698C  |.  8D75 F0        lea     esi, dword ptr [ebp-10] 
  006C698F  |>  FF37           /push    dword ptr [edi] 
  006C6991  |.  8D45 EC        |lea     eax, dword ptr [ebp-14] 
  006C6994  |.  33D2           |xor     edx, edx 
  006C6996  |.  8A16           |mov     dl, byte ptr [esi] 
  006C6998  |.  C1EA 04        |shr     edx, 4 
  006C699B  |.  83E2 0F        |and     edx, 0F 
  006C699E  |.  8A92 B0E57700  |mov     dl, byte ptr [edx+77E5B0] 
  006C69A4  |.  E8 23D6D3FF    |call    00403FCC 
  006C69A9  |.  FF75 EC        |push    dword ptr [ebp-14] 
  006C69AC  |.  8D45 E8        |lea     eax, dword ptr [ebp-18] 
  006C69AF  |.  8A16           |mov     dl, byte ptr [esi] 
  006C69B1  |.  80E2 0F        |and     dl, 0F 
  006C69B4  |.  81E2 FF000000  |and     edx, 0FF 
  006C69BA  |.  8A92 B0E57700  |mov     dl, byte ptr [edx+77E5B0] 
  006C69C0  |.  E8 07D6D3FF    |call    00403FCC 
  006C69C5  |.  FF75 E8        |push    dword ptr [ebp-18] 
  006C69C8  |.  8BC7           |mov     eax, edi 
  006C69CA  |.  BA 03000000    |mov     edx, 3 
  006C69CF  |.  E8 A0D7D3FF    |call    00404174 
  006C69D4  |.  46             |inc     esi 
  006C69D5  |.  FECB           |dec     bl 
  006C69D7  |.^ 75 B6          \jnz     short 006C698F 
  006C69D9  |.  33C0           xor     eax, eax 
  006C69DB  |.  5A             pop     edx 
  006C69DC  |.  59             pop     ecx 
  006C69DD  |.  59             pop     ecx 
  006C69DE  |.  64:8910        mov     dword ptr fs:[eax], edx 
  006C69E1  |.  68 FB696C00    push    006C69FB 
  006C69E6  |>  8D45 E8        lea     eax, dword ptr [ebp-18] 
  006C69E9  |.  BA 02000000    mov     edx, 2 
  006C69EE  |.  E8 55D4D3FF    call    00403E48 
  006C69F3  \.  C3             retn 
  006C69F4   .^ E9 8BCED3FF    jmp     00403884 
  006C69F9   .^ EB EB          jmp     short 006C69E6 
  006C69FB   .  5F             pop     edi 
  006C69FC   .  5E             pop     esi 
  006C69FD   .  5B             pop     ebx 
  006C69FE   .  8BE5           mov     esp, ebp 
  006C6A00   .  5D             pop     ebp 
  006C6A01   .  C2 0800        retn    8                          ;  计算完毕返回 
   
  【算法总结】 
   
  密码表计算式: 
   
  LCase(MD5(LCase(MD5(用户名+“spadger”)))) 
   
  注册码段计算式: 
   
  A:Mid(密码表,5) 
  B:Mid(密码表,5,5) 
  C:Mid(密码表,10,5) 
  D:Mid(密码表,15,5) 
   
  注册码组合方式:A-B-C-D 
   
---------------------------------------------------------------------------------------------- 
【经验总结】 
   
  不总结了。。。上面都能看懂吧`````这次注册机就不写了`````需要的自己写吧````` 
   
  感谢qIwEiXuE、loveboom、闪电狼、AvAtEr{RES}、逐浪、夜凉如水及所有D.C.Team朋友们陪我闲聊!! 
   
---------------------------------------------------------------------------------------------- 
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢! 
 
                                                       2007年03月13日 PM 07:37:57 |   
 
 
 
 |