- UID
 - 28352
 
 注册时间2007-2-21
阅读权限40
最后登录1970-1-1
独步武林 
   
 
 
 
TA的每日心情  | 开心 2024-5-1 14:44 | 
|---|
 
  签到天数: 2 天 [LV.1]初来乍到  
 | 
 
【破文标题】Speed Video Converter 3.1.12 算法分析 
【破文作者】tianxj 
【作者邮箱】[email protected] 
【作者主页】WwW.ChiNaPYG.CoM 
【破解工具】PEiD,OD 
【破解平台】Windows XP 
【软件名称】Speed Video Converter 3.1.12 
【软件大小】2592KB 
【软件类别】国外软件/视频转换    
【软件语言】英文  
【更新时间】2008-9-8  
【原版下载】自己找一下 
【保护方式】注册码 
【软件简介】Speed Video Converter是一款小型视频转换工具。 快速的转换速度和易用的用户界面是其卖点。 Speed Video Converter支持各种视频格式,例如AVI(Divx,xDiv), MPEG-4, mpeg(vcd,svcd,dvd兼容), wmv, asf, QuickTime, VOB, DAT。 它支持批量文件转换可以一次点击转换多个文件。   
【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:) 
-------------------------------------------------------------- 
【破解内容】 
-------------------------------------------------------------- 
************************************************************** 
一、运行程序,进行注册,输入错误的注册信息进行检测,有提示信息 
"Invalid username or registration code" 
************************************************************** 
二、用PEiD对Speed Video Converter.exe查壳,为 Microsoft Visual C++ 6.0 
************************************************************** 
三、运行OD,打开Speed Video Converter.exe,右键—超级字串参考—查找ASCII. 
发现"Invalid username or registration code" 
==============================================================- 004030E0   .  6A FF          PUSH    -1
 
 - 004030E2   .  68 E8244100    PUSH    Speed_Vi.004124E8                       ;  SE 处理程序安装
 
 - 004030E7   .  64:A1 00000000 MOV     EAX, DWORD PTR FS:[0]
 
 - 004030ED   .  50             PUSH    EAX
 
 - 004030EE   .  64:8925 000000>MOV     DWORD PTR FS:[0], ESP
 
 - 004030F5   .  83EC 08        SUB     ESP, 8
 
 - 004030F8   .  56             PUSH    ESI
 
 - 004030F9   .  8BF1           MOV     ESI, ECX
 
 - 004030FB   .  8D4C24 04      LEA     ECX, DWORD PTR [ESP+4]
 
 - 004030FF   .  E8 DEE40000    CALL    <JMP.&MFC42.#540_CString::CString>
 
 - 00403104   .  6A 01          PUSH    1
 
 - 00403106   .  8BCE           MOV     ECX, ESI
 
 - 00403108   .  C74424 18 0000>MOV     DWORD PTR [ESP+18], 0
 
 - 00403110   .  E8 8FE60000    CALL    <JMP.&MFC42.#6334_CWnd::UpdateData>
 
 - 00403115   .  E8 14E70000    CALL    <JMP.&MFC42.#1168_AfxGetModuleState>
 
 - 0040311A   .  8B48 04        MOV     ECX, DWORD PTR [EAX+4]
 
 - 0040311D   .  E8 06E70000    CALL    <JMP.&MFC42.#1669_CCmdTarget::BeginWait>
 
 - 00403122   .  8B46 60        MOV     EAX, DWORD PTR [ESI+60]                 ;  //试练码
 
 - 00403125   .  8B4E 64        MOV     ECX, DWORD PTR [ESI+64]                 ;  //用户名
 
 - 00403128   .  50             PUSH    EAX
 
 - 00403129   .  51             PUSH    ECX
 
 - 0040312A   .  C64424 1C 01   MOV     BYTE PTR [ESP+1C], 1
 
 - 0040312F   .  E8 CCFDFFFF    CALL    Speed_Vi.00402F00                       ;  //关键CALL
 
 - 00403134   .  83C4 08        ADD     ESP, 8
 
 - 00403137   .  85C0           TEST    EAX, EAX
 
 - 00403139   .  0F95C0         SETNE   AL
 
 - 0040313C   .  84C0           TEST    AL, AL
 
 - 0040313E   .  A2 7CAF4100    MOV     BYTE PTR [41AF7C], AL
 
 - 00403143   .  0F84 93000000  JE      Speed_Vi.004031DC                       ;  //关键跳转
 
 - 00403149   .  8B46 64        MOV     EAX, DWORD PTR [ESI+64]
 
 - 0040314C   .  8D4C24 04      LEA     ECX, DWORD PTR [ESP+4]
 
 - 00403150   .  50             PUSH    EAX
 
 - 00403151   .  68 40A24100    PUSH    Speed_Vi.0041A240                       ;  ASCII "License To:%s             "
 
 - 00403156   .  51             PUSH    ECX
 
 - 00403157   .  E8 C6E60000    CALL    <JMP.&MFC42.#2818_CString::Format>
 
 - 0040315C   .  8B5424 10      MOV     EDX, DWORD PTR [ESP+10]
 
 - 00403160   .  83C4 0C        ADD     ESP, 0C
 
 - 00403163   .  8BCE           MOV     ECX, ESI
 
 - 00403165   .  6A 40          PUSH    40
 
 - 00403167   .  68 34A24100    PUSH    Speed_Vi.0041A234                       ;  ASCII "Thank you"
 
 - 0040316C   .  52             PUSH    EDX
 
 - 0040316D   .  E8 AAE60000    CALL    <JMP.&MFC42.#4224_CWnd::MessageBoxA>
 
 - 00403172   .  8B46 64        MOV     EAX, DWORD PTR [ESI+64]
 
 - 00403175   .  B9 88AE4100    MOV     ECX, Speed_Vi.0041AE88
 
 - 0040317A   .  50             PUSH    EAX
 
 - 0040317B   .  E8 90E8FFFF    CALL    Speed_Vi.00401A10
 
 - 00403180   .  8B46 60        MOV     EAX, DWORD PTR [ESI+60]
 
 - 00403183   .  B9 88AE4100    MOV     ECX, Speed_Vi.0041AE88
 
 - 00403188   .  50             PUSH    EAX
 
 - 00403189   .  E8 B2E8FFFF    CALL    Speed_Vi.00401A40
 
 - 0040318E   .  8D4424 04      LEA     EAX, DWORD PTR [ESP+4]
 
 - 00403192   .  8D4C24 08      LEA     ECX, DWORD PTR [ESP+8]
 
 - 00403196   .  50             PUSH    EAX
 
 - 00403197   .  68 1CA24100    PUSH    Speed_Vi.0041A21C                       ;  ASCII "Speed Video Converter "
 
 - 0040319C   .  51             PUSH    ECX
 
 - 0040319D   .  E8 74E60000    CALL    <JMP.&MFC42.#926_operator+>
 
 - 004031A2   .  50             PUSH    EAX
 
 - 004031A3   .  8D4C24 08      LEA     ECX, DWORD PTR [ESP+8]
 
 - 004031A7   .  C64424 18 02   MOV     BYTE PTR [ESP+18], 2
 
 - 004031AC   .  E8 4BE50000    CALL    <JMP.&MFC42.#858_CString::operator=>
 
 - 004031B1   .  8D4C24 08      LEA     ECX, DWORD PTR [ESP+8]
 
 - 004031B5   .  C64424 14 01   MOV     BYTE PTR [ESP+14], 1
 
 - 004031BA   .  E8 11E40000    CALL    <JMP.&MFC42.#800_CString::~CString>
 
 - 004031BF   .  E8 6AE60000    CALL    <JMP.&MFC42.#1168_AfxGetModuleState>
 
 - 004031C4   .  8B40 04        MOV     EAX, DWORD PTR [EAX+4]
 
 - 004031C7   .  8B5424 04      MOV     EDX, DWORD PTR [ESP+4]
 
 - 004031CB   .  52             PUSH    EDX
 
 - 004031CC   .  8BC8           MOV     ECX, EAX
 
 - 004031CE   .  8B10           MOV     EDX, DWORD PTR [EAX]
 
 - 004031D0   .  FF52 7C        CALL    DWORD PTR [EDX+7C]
 
 - 004031D3   .  8BC8           MOV     ECX, EAX
 
 - 004031D5   .  E8 36E60000    CALL    <JMP.&MFC42.#6199_CWnd::SetWindowTextA>
 
 - 004031DA   .  EB 13          JMP     SHORT Speed_Vi.004031EF
 
 - 004031DC   >  6A 40          PUSH    40
 
 - 004031DE   .  68 14A24100    PUSH    Speed_Vi.0041A214                       ;  ASCII "Sorry"
 
 - 004031E3   .  68 E8A14100    PUSH    Speed_Vi.0041A1E8                       ;  invalid username or registration code
 
 - 004031E8   .  8BCE           MOV     ECX, ESI
 
 - 004031EA   .  E8 2DE60000    CALL    <JMP.&MFC42.#4224_CWnd::MessageBoxA>
 
 - 004031EF   >  8BCE           MOV     ECX, ESI
 
 - 004031F1   .  E8 4EE50000    CALL    <JMP.&MFC42.#4853_CDialog::OnOK>
 
 - 004031F6   .  C64424 14 00   MOV     BYTE PTR [ESP+14], 0
 
 - 004031FB   .  E8 2EE60000    CALL    <JMP.&MFC42.#1168_AfxGetModuleState>
 
 - 00403200   .  8B48 04        MOV     ECX, DWORD PTR [EAX+4]
 
 - 00403203   .  E8 02E60000    CALL    <JMP.&MFC42.#2652_CCmdTarget::EndWaitCu>
 
 - 00403208   .  8D4C24 04      LEA     ECX, DWORD PTR [ESP+4]
 
 - 0040320C   .  C74424 14 FFFF>MOV     DWORD PTR [ESP+14], -1
 
 - 00403214   .  E8 B7E30000    CALL    <JMP.&MFC42.#800_CString::~CString>
 
 - 00403219   .  8B4C24 0C      MOV     ECX, DWORD PTR [ESP+C]
 
 - 0040321D   .  5E             POP     ESI
 
 - 0040321E   .  64:890D 000000>MOV     DWORD PTR FS:[0], ECX
 
 - 00403225   .  83C4 14        ADD     ESP, 14
 
 - 00403228   .  C3             RETN
 
 - ==============================================================
 
 - 00402F00  /$  8B5424 04      MOV     EDX, DWORD PTR [ESP+4]
 
 - 00402F04  |.  56             PUSH    ESI
 
 - 00402F05  |.  57             PUSH    EDI
 
 - 00402F06  |.  BF B0AE4100    MOV     EDI, Speed_Vi.0041AEB0
 
 - 00402F0B  |.  8BF2           MOV     ESI, EDX
 
 - 00402F0D  |.  B9 01000000    MOV     ECX, 1
 
 - 00402F12  |.  33C0           XOR     EAX, EAX
 
 - 00402F14  |.  F3:A6          REPE    CMPS BYTE PTR ES:[EDI], BYTE PTR [ESI]
 
 - 00402F16  |.  74 2B          JE      SHORT Speed_Vi.00402F43                 ;  //用户名为空则跳
 
 - 00402F18  |.  8B4424 10      MOV     EAX, DWORD PTR [ESP+10]
 
 - 00402F1C  |.  53             PUSH    EBX
 
 - 00402F1D  |.  BF B0AE4100    MOV     EDI, Speed_Vi.0041AEB0
 
 - 00402F22  |.  8BF0           MOV     ESI, EAX
 
 - 00402F24  |.  B9 01000000    MOV     ECX, 1
 
 - 00402F29  |.  33DB           XOR     EBX, EBX
 
 - 00402F2B  |.  F3:A6          REPE    CMPS BYTE PTR ES:[EDI], BYTE PTR [ESI]
 
 - 00402F2D  |.  5B             POP     EBX
 
 - 00402F2E  |.  74 13          JE      SHORT Speed_Vi.00402F43                 ;  //试练码为空则跳
 
 - 00402F30  |.  50             PUSH    EAX
 
 - 00402F31  |.  52             PUSH    EDX
 
 - 00402F32  |.  E8 99FDFFFF    CALL    Speed_Vi.00402CD0                       ;  //关键CALL
 
 - 00402F37  |.  83C4 08        ADD     ESP, 8
 
 - 00402F3A  |.  F7D8           NEG     EAX
 
 - 00402F3C  |.  1BC0           SBB     EAX, EAX
 
 - 00402F3E  |.  5F             POP     EDI
 
 - 00402F3F  |.  F7D8           NEG     EAX
 
 - 00402F41  |.  5E             POP     ESI
 
 - 00402F42  |.  C3             RETN
 
 - 00402F43  |>  5F             POP     EDI
 
 - 00402F44  |.  33C0           XOR     EAX, EAX
 
 - 00402F46  |.  5E             POP     ESI
 
 - 00402F47  \.  C3             RETN
 
 - ==============================================================
 
 - 00402CD0  /$  6A FF          PUSH    -1
 
 - 00402CD2  |.  68 50244100    PUSH    Speed_Vi.00412450                       ;  SE 处理程序安装
 
 - 00402CD7  |.  64:A1 00000000 MOV     EAX, DWORD PTR FS:[0]
 
 - 00402CDD  |.  50             PUSH    EAX
 
 - 00402CDE  |.  64:8925 000000>MOV     DWORD PTR FS:[0], ESP
 
 - 00402CE5  |.  83EC 14        SUB     ESP, 14
 
 - 00402CE8  |.  8B4424 24      MOV     EAX, DWORD PTR [ESP+24]                 ;  //用户名
 
 - 00402CEC  |.  53             PUSH    EBX
 
 - 00402CED  |.  55             PUSH    EBP
 
 - 00402CEE  |.  56             PUSH    ESI
 
 - 00402CEF  |.  57             PUSH    EDI
 
 - 00402CF0  |.  50             PUSH    EAX
 
 - 00402CF1  |.  8D4C24 18      LEA     ECX, DWORD PTR [ESP+18]
 
 - 00402CF5  |.  E8 0EEA0000    CALL    <JMP.&MFC42.#537_CString::CString>
 
 - 00402CFA  |.  8D4C24 14      LEA     ECX, DWORD PTR [ESP+14]
 
 - 00402CFE  |.  C74424 2C 0000>MOV     DWORD PTR [ESP+2C], 0
 
 - 00402D06  |.  E8 F9EA0000    CALL    <JMP.&MFC42.#6282_CString::TrimLeft>
 
 - 00402D0B  |.  8D4C24 14      LEA     ECX, DWORD PTR [ESP+14]
 
 - 00402D0F  |.  E8 EAEA0000    CALL    <JMP.&MFC42.#6283_CString::TrimRight>
 
 - 00402D14  |.  6A 20          PUSH    20
 
 - 00402D16  |.  8D4C24 18      LEA     ECX, DWORD PTR [ESP+18]
 
 - 00402D1A  |.  E8 D9EA0000    CALL    <JMP.&MFC42.#2915_CString::GetBuffer>
 
 - 00402D1F  |.  8B4C24 38      MOV     ECX, DWORD PTR [ESP+38]                 ;  //试练码
 
 - 00402D23  |.  8BD8           MOV     EBX, EAX
 
 - 00402D25  |.  51             PUSH    ECX
 
 - 00402D26  |.  8D4C24 14      LEA     ECX, DWORD PTR [ESP+14]
 
 - 00402D2A  |.  E8 D9E90000    CALL    <JMP.&MFC42.#537_CString::CString>
 
 - 00402D2F  |.  8D4C24 10      LEA     ECX, DWORD PTR [ESP+10]
 
 - 00402D33  |.  C64424 2C 01   MOV     BYTE PTR [ESP+2C], 1
 
 - 00402D38  |.  E8 C7EA0000    CALL    <JMP.&MFC42.#6282_CString::TrimLeft>
 
 - 00402D3D  |.  8D4C24 10      LEA     ECX, DWORD PTR [ESP+10]
 
 - 00402D41  |.  E8 B8EA0000    CALL    <JMP.&MFC42.#6283_CString::TrimRight>
 
 - 00402D46  |.  6A 20          PUSH    20
 
 - 00402D48  |.  8D4C24 14      LEA     ECX, DWORD PTR [ESP+14]
 
 - 00402D4C  |.  E8 A7EA0000    CALL    <JMP.&MFC42.#2915_CString::GetBuffer>
 
 - 00402D51  |.  8BD0           MOV     EDX, EAX
 
 - 00402D53  |.  83CE FF        OR      ESI, FFFFFFFF
 
 - 00402D56  |.  8BFA           MOV     EDI, EDX
 
 - 00402D58  |.  8BCE           MOV     ECX, ESI
 
 - 00402D5A  |.  33C0           XOR     EAX, EAX
 
 - 00402D5C  |.  895424 20      MOV     DWORD PTR [ESP+20], EDX
 
 - 00402D60  |.  F2:AE          REPNE   SCAS BYTE PTR ES:[EDI]
 
 - 00402D62  |.  F7D1           NOT     ECX
 
 - 00402D64  |.  49             DEC     ECX
 
 - 00402D65  |.  8BFB           MOV     EDI, EBX
 
 - 00402D67  |.  8BE9           MOV     EBP, ECX
 
 - 00402D69  |.  8BCE           MOV     ECX, ESI
 
 - 00402D6B  |.  F2:AE          REPNE   SCAS BYTE PTR ES:[EDI]
 
 - 00402D6D  |.  F7D1           NOT     ECX
 
 - 00402D6F  |.  49             DEC     ECX
 
 - 00402D70  |.  3BCD           CMP     ECX, EBP
 
 - 00402D72  |.  0F87 54010000  JA      Speed_Vi.00402ECC                       ;  //用户名长度大于试练码的长度则跳
 
 - 00402D78  |.  8BFB           MOV     EDI, EBX
 
 - 00402D7A  |.  8BCE           MOV     ECX, ESI
 
 - 00402D7C  |.  F2:AE          REPNE   SCAS BYTE PTR ES:[EDI]
 
 - 00402D7E  |.  F7D1           NOT     ECX
 
 - 00402D80  |.  49             DEC     ECX
 
 - 00402D81  |.  0F84 45010000  JE      Speed_Vi.00402ECC                       ;  //用户名为空则跳
 
 - 00402D87  |.  8BFA           MOV     EDI, EDX
 
 - 00402D89  |.  8BCE           MOV     ECX, ESI
 
 - 00402D8B  |.  F2:AE          REPNE   SCAS BYTE PTR ES:[EDI]
 
 - 00402D8D  |.  F7D1           NOT     ECX
 
 - 00402D8F  |.  49             DEC     ECX
 
 - 00402D90  |.  0F84 36010000  JE      Speed_Vi.00402ECC                       ;  //注册码为空则跳
 
 - 00402D96  |.  894424 38      MOV     DWORD PTR [ESP+38], EAX
 
 - 00402D9A  |>  8B5424 38      /MOV     EDX, DWORD PTR [ESP+38]
 
 - 00402D9E  |.  8D4C24 34      |LEA     ECX, DWORD PTR [ESP+34]
 
 - 00402DA2  |.  8A82 D0A14100  |MOV     AL, BYTE PTR [EDX+41A1D0]              ;  //'I'、'p'、'q',在密码表中未查到字符时用
 
 - 00402DA8  |.  884424 18      |MOV     BYTE PTR [ESP+18], AL
 
 - 00402DAC  |.  E8 31E80000    |CALL    <JMP.&MFC42.#540_CString::CString>
 
 - 00402DB1  |.  8BFB           |MOV     EDI, EBX
 
 - 00402DB3  |.  83C9 FF        |OR      ECX, FFFFFFFF
 
 - 00402DB6  |.  33C0           |XOR     EAX, EAX
 
 - 00402DB8  |.  33ED           |XOR     EBP, EBP
 
 - 00402DBA  |.  F2:AE          |REPNE   SCAS BYTE PTR ES:[EDI]
 
 - 00402DBC  |.  F7D1           |NOT     ECX
 
 - 00402DBE  |.  49             |DEC     ECX
 
 - 00402DBF  |.  C64424 2C 02   |MOV     BYTE PTR [ESP+2C], 2
 
 - 00402DC4  |.  74 4B          |JE      SHORT Speed_Vi.00402E11
 
 - 00402DC6  |>  8A042B         |/MOV     AL, BYTE PTR [EBX+EBP]                ;  //依次取用户名ASC值
 
 - 00402DC9  |.  33F6           ||XOR     ESI, ESI
 
 - 00402DCB  |>  3A0475 68A1410>||/CMP     AL, BYTE PTR [ESI*2+41A168]          ;  //隔位取密码
 
  
- 表"aqbicHd**fMgkhEiVjZkelRmynBoKpdqTrAsFtWulvjwDxIyPzzAxBpCODkEgFYGmHtIaJrKQLnMsNuOUPGQJRLSNTbUcVfWhXoYwZC"
 
 - 00402DD2  |.  74 08          |||JE      SHORT Speed_Vi.00402DDC
 
 - 00402DD4  |.  46             |||INC     ESI
 
 - 00402DD5  |.  83FE 34        |||CMP     ESI, 34
 
 - 00402DD8  |.^ 7C F1          ||\JL      SHORT Speed_Vi.00402DCB
 
 - 00402DDA  |.  EB 11          ||JMP     SHORT Speed_Vi.00402DED
 
 - 00402DDC  |>  8A0C75 69A1410>||MOV     CL, BYTE PTR [ESI*2+41A169]
 
 - 00402DE3  |.  51             ||PUSH    ECX
 
 - 00402DE4  |.  8D4C24 38      ||LEA     ECX, DWORD PTR [ESP+38]
 
 - 00402DE8  |.  E8 05EA0000    ||CALL    <JMP.&MFC42.#940_CString::operator+=>
 
 - 00402DED  |>  83FE 34        ||CMP     ESI, 34
 
 - 00402DF0  |.  75 0E          ||JNZ     SHORT Speed_Vi.00402E00
 
 - 00402DF2  |.  8B5424 18      ||MOV     EDX, DWORD PTR [ESP+18]
 
 - 00402DF6  |.  8D4C24 34      ||LEA     ECX, DWORD PTR [ESP+34]
 
 - 00402DFA  |.  52             ||PUSH    EDX
 
 - 00402DFB  |.  E8 F2E90000    ||CALL    <JMP.&MFC42.#940_CString::operator+=>
 
 - 00402E00  |>  8BFB           ||MOV     EDI, EBX
 
 - 00402E02  |.  83C9 FF        ||OR      ECX, FFFFFFFF
 
 - 00402E05  |.  33C0           ||XOR     EAX, EAX
 
 - 00402E07  |.  45             ||INC     EBP
 
 - 00402E08  |.  F2:AE          ||REPNE   SCAS BYTE PTR ES:[EDI]
 
 - 00402E0A  |.  F7D1           ||NOT     ECX
 
 - 00402E0C  |.  49             ||DEC     ECX
 
 - 00402E0D  |.  3BE9           ||CMP     EBP, ECX
 
 - 00402E0F  |.^ 72 B5          |\JB      SHORT Speed_Vi.00402DC6               ;  //循环,对比正确后取值
 
 - 00402E11  |>  8B4424 34      |MOV     EAX, DWORD PTR [ESP+34]
 
 - 00402E15  |.  8B48 F8        |MOV     ECX, DWORD PTR [EAX-8]
 
 - 00402E18  |.  83F9 10        |CMP     ECX, 10
 
 - 00402E1B  |.  7D 3A          |JGE     SHORT Speed_Vi.00402E57
 
 - 00402E1D  |.  8BC1           |MOV     EAX, ECX
 
 - 00402E1F  |.  B9 10000000    |MOV     ECX, 10
 
 - 00402E24  |.  2BC8           |SUB     ECX, EAX
 
 - 00402E26  |.  8D5424 1C      |LEA     EDX, DWORD PTR [ESP+1C]
 
 - 00402E2A  |.  51             |PUSH    ECX
 
 - 00402E2B  |.  52             |PUSH    EDX
 
 - 00402E2C  |.  B9 B4AE4100    |MOV     ECX, Speed_Vi.0041AEB4                 ;  ASCII "Hn<"
 
 - 00402E31  |.  E8 B6E90000    |CALL    <JMP.&MFC42.#4129_CString::Left>
 
 - 00402E36  |.  50             |PUSH    EAX
 
 - 00402E37  |.  8D4C24 38      |LEA     ECX, DWORD PTR [ESP+38]
 
 - 00402E3B  |.  C64424 30 03   |MOV     BYTE PTR [ESP+30], 3
 
 - 00402E40  |.  E8 A1E90000    |CALL    <JMP.&MFC42.#939_CString::operator+=>
 
 - 00402E45  |.  8D4C24 1C      |LEA     ECX, DWORD PTR [ESP+1C]
 
 - 00402E49  |.  C64424 2C 02   |MOV     BYTE PTR [ESP+2C], 2
 
 - 00402E4E  |.  E8 7DE70000    |CALL    <JMP.&MFC42.#800_CString::~CString>
 
 - 00402E53  |.  8B4424 34      |MOV     EAX, DWORD PTR [ESP+34]                ;  //真码
 
 - 00402E57  |>  8B4C24 20      |MOV     ECX, DWORD PTR [ESP+20]                ;  //试练码
 
 - 00402E5B  |.  51             |PUSH    ECX                                    ; /s2
 
 - 00402E5C  |.  50             |PUSH    EAX                                    ; |s1
 
 - 00402E5D  |.  FF15 00464100  |CALL    DWORD PTR [<&MSVCRT._mbscmp>]          ; \//比较
 
 - 00402E63  |.  83C4 08        |ADD     ESP, 8
 
 - 00402E66  |.  8D4C24 34      |LEA     ECX, DWORD PTR [ESP+34]
 
 - 00402E6A  |.  85C0           |TEST    EAX, EAX
 
 - 00402E6C  |.  C64424 2C 01   |MOV     BYTE PTR [ESP+2C], 1                   ;  //标志位赋值
 
 - 00402E71  |.  74 1B          |JE      SHORT Speed_Vi.00402E8E
 
 - 00402E73  |.  33F6           |XOR     ESI, ESI
 
 - 00402E75  |.  E8 56E70000    |CALL    <JMP.&MFC42.#800_CString::~CString>
 
 - 00402E7A  |.  8B4424 38      |MOV     EAX, DWORD PTR [ESP+38]
 
 - 00402E7E  |.  40             |INC     EAX
 
 - 00402E7F  |.  83F8 03        |CMP     EAX, 3
 
 - 00402E82  |.  894424 38      |MOV     DWORD PTR [ESP+38], EAX
 
 - 00402E86  |.^ 0F8C 0EFFFFFF  \JL      Speed_Vi.00402D9A                      ;  //循环,比较3次
 
 - 00402E8C  |.  EB 0A          JMP     SHORT Speed_Vi.00402E98
 
 - 00402E8E  |>  BE 01000000    MOV     ESI, 1
 
 - 00402E93  |.  E8 38E70000    CALL    <JMP.&MFC42.#800_CString::~CString>
 
 - 00402E98  |>  8D4C24 10      LEA     ECX, DWORD PTR [ESP+10]
 
 - 00402E9C  |.  C64424 2C 00   MOV     BYTE PTR [ESP+2C], 0
 
 - 00402EA1  |.  E8 2AE70000    CALL    <JMP.&MFC42.#800_CString::~CString>
 
 - 00402EA6  |.  8D4C24 14      LEA     ECX, DWORD PTR [ESP+14]
 
 - 00402EAA  |.  C74424 2C FFFF>MOV     DWORD PTR [ESP+2C], -1
 
 - 00402EB2  |.  E8 19E70000    CALL    <JMP.&MFC42.#800_CString::~CString>
 
 - 00402EB7  |.  8BC6           MOV     EAX, ESI
 
 - 00402EB9  |.  5F             POP     EDI
 
 - 00402EBA  |.  5E             POP     ESI
 
 - 00402EBB  |.  5D             POP     EBP
 
 - 00402EBC  |.  5B             POP     EBX
 
 - 00402EBD  |.  8B4C24 14      MOV     ECX, DWORD PTR [ESP+14]
 
 - 00402EC1  |.  64:890D 000000>MOV     DWORD PTR FS:[0], ECX
 
 - 00402EC8  |.  83C4 20        ADD     ESP, 20
 
 - 00402ECB  |.  C3             RETN
 
 - 00402ECC  |>  8D4C24 10      LEA     ECX, DWORD PTR [ESP+10]
 
 - 00402ED0  |.  C64424 2C 00   MOV     BYTE PTR [ESP+2C], 0
 
 - 00402ED5  |.  E8 F6E60000    CALL    <JMP.&MFC42.#800_CString::~CString>
 
 - 00402EDA  |.  8D4C24 14      LEA     ECX, DWORD PTR [ESP+14]
 
 - 00402EDE  |.  897424 2C      MOV     DWORD PTR [ESP+2C], ESI
 
 - 00402EE2  |.  E8 E9E60000    CALL    <JMP.&MFC42.#800_CString::~CString>
 
 - 00402EE7  |.  8B4C24 24      MOV     ECX, DWORD PTR [ESP+24]
 
 - 00402EEB  |.  5F             POP     EDI
 
 - 00402EEC  |.  5E             POP     ESI
 
 - 00402EED  |.  5D             POP     EBP
 
 - 00402EEE  |.  33C0           XOR     EAX, EAX
 
 - 00402EF0  |.  5B             POP     EBX
 
 - 00402EF1  |.  64:890D 000000>MOV     DWORD PTR FS:[0], ECX
 
 - 00402EF8  |.  83C4 20        ADD     ESP, 20
 
 - 00402EFB  \.  C3             RETN
 
 - ==============================================================
 
 - 密码表
 
 - 0041A168  61 71 62 69 63 48 64 53 65 58 66 4D 67 6B 68 45  aqbicHd**fMgkhE
 
 - 0041A178  69 56 6A 5A 6B 65 6C 52 6D 79 6E 42 6F 4B 70 64  iVjZkelRmynBoKpd
 
 - 0041A188  71 54 72 41 73 46 74 57 75 6C 76 6A 77 44 78 49  qTrAsFtWulvjwDxI
 
 - 0041A198  79 50 7A 7A 41 78 42 70 43 4F 44 6B 45 67 46 59  yPzzAxBpCODkEgFY
 
 - 0041A1A8  47 6D 48 74 49 61 4A 72 4B 51 4C 6E 4D 73 4E 75  GmHtIaJrKQLnMsNu
 
 - 0041A1B8  4F 55 50 47 51 4A 52 4C 53 4E 54 62 55 63 56 66  OUPGQJRLSNTbUcVf
 
 - 0041A1C8  57 68 58 6F 59 77 5A 43                          WhXoYwZC
 
  复制代码 **************************************************************   
【破解总结】 
-------------------------------------------------------------- 
【算法总结】 
算法总结: 
1.将用户名的各个字符进行替换 
替换规则如下 
(1)英文大小写字母进行查表 
密码表"aqbicHd**fMgkhEiVjZkelRmynBoKpdqTrAsFtWulvjwDxIyPzzAxBpCODkEgFYGmHtIaJrKQLnMsNuOUPGQJRLSNTbUcVfWhXoYwZC" 
找相应字符后取紧接着的下一个字符 
(2)非英文字母则统一替换为'I'或'p'或'q' 
2.若替换后的长度小于16位,则用"IsaeBREbmpaqdslg"补充到16位 
-------------------------------------------------------------- 
【算法注册机】 
易语言代码 
.版本 2 
 
.子程序 _按钮1_被单击 
.局部变量 M, 文本型 
.局部变量 i, 整数型 
.局部变量 j, 整数型 
.局部变量 a, 文本型 
.局部变量 b, 整数型 
.局部变量 c, 文本型 
.局部变量 x, 文本型 
.局部变量 y, 文本型 
.局部变量 z, 文本型 
 
M = “aqbicHd**fMgkhEiVjZkelRmynBoKpdqTrAsFtWulvjwDxIyPzzAxBpCODkEgFYGmHtIaJrKQLnMsNuOUPGQJRLSNTbUcVfWhXoYwZC” 
.如果 (取文本长度 (编辑框1.内容) = 0) 
    编辑框2.内容 = “请输入用户名” 
.否则 
 
    .计次循环首 (取文本长度 (M) ÷ 2, i) 
        x = x + 取文本中间 (M, 2 × i - 1, 1) 
        y = y + 取文本中间 (M, 2 × i, 1) 
    .计次循环尾 () 
    .计次循环首 (取文本长度 (编辑框1.内容), j) 
        a = 取文本中间 (编辑框1.内容, j, 1) 
        b = 寻找文本 (x, a, 1, 假) 
        c = c + 取文本中间 (y, b, 1) 
    .计次循环尾 () 
    编辑框2.内容 = 取文本左边 (c + “IsaeBREbmpaqdslg”, 16) 
 
.如果结束 
-------------------------------------------------------------- 
☆此文应学友“絕戀de煩神”之邀而作☆ 
-------------------------------------------------------------- 
感谢飘云老大、猫老大、Nisy老大以及很多前辈们的学习教程以及所有帮助过我的论坛兄弟姐妹们!谢谢 
-------------------------------------------------------------- 
【版权声明】破文是学习的手记,兴趣是成功的源泉;本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢! |   
 
 
 
 |