- 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老大以及很多前辈们的学习教程以及所有帮助过我的论坛兄弟姐妹们!谢谢
--------------------------------------------------------------
【版权声明】破文是学习的手记,兴趣是成功的源泉;本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢! |
|