Ollydbg——轻松文本 2003 V6.13(VB)
下载页面: http://www.skycn.com/soft/5977.html<;br>
【软件限制】:NAG、功能限制<br>
【作者声明】:初学Crack,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!<br>
【破解工具】:Ollydbg1.09、PEiD、AspackDie、W32Dasm 9.0白金版<br>
————————————————————————————————— <br>
【过 程】:<br>
<br>
其实这个东东数10天前就做了,因为太忙,今天才把笔记整理出来,呵呵,作者也快升级了吧?<br>
顺便看了一下同门的《英语音标大师 V1.02》,算法是一样的,就没必要写了。^O^ ^O^<br>
easypad.exe 是ASPack 2.12壳,用AspackDie脱之。169K->732K。 VB 编写。<br>
这个东东不算难,只是有些方面不好掌握。 ~Q~ ^Q^ ^v^ ^v^<br>
<br>
序列号:FLYN649065455613<br>
试炼码:fly-12345678-fly[OCN][FCG]-E<br>
—————————————————————————————————<br>
* Reference To: MSVBVM60.rtcInputBox, Ord:0254h<br>
<br>
:004620D2 FF15FC104000 Call dword ptr [004010FC]<br>
:004620D8 8BD0 mov edx, eax<br>
====>EDX=fly-12345678-fly[OCN][FCG]-E 试炼码<br>
<br>
:004620DA 8D4DA8 lea ecx, dword ptr [ebp-58]<br>
:004620DD FFD6 call esi<br>
:004620DF 8BD0 mov edx, eax<br>
:004620E1 8B8D78FEFFFF mov ecx, dword ptr [ebp+FFFFFE78]<br>
<br>
* Reference To: MSVBVM60.__vbaStrCopy, Ord:0000h<br>
|<br>
:004620E7 FF15D4124000 Call dword ptr [004012D4]<br>
:004620ED 8D55A4 lea edx, dword ptr [ebp-5C]<br>
:004620F0 52 push edx<br>
<br>
.............................................<br>
..............<br>
<br>
<br>
* Reference To: MSVBVM60.__vbaFreeVarList, Ord:0000h<br>
|<br>
:00462161 FF1544104000 Call dword ptr [00401044]<br>
:00462167 83C45C add esp, 0000005C<br>
:0046216A 8B0B mov ecx, dword ptr [ebx]<br>
:0046216C 8D95C8FEFFFF lea edx, dword ptr [ebp+FFFFFEC8]<br>
:00462172 52 push edx<br>
:00462173 8B8578FEFFFF mov eax, dword ptr [ebp+FFFFFE78]<br>
:00462179 50 push eax<br>
:0046217A 53 push ebx<br>
:0046217B FF9128070000 call dword ptr [ecx+00000728]<br>
====>关键CALL!进入!<br>
<br>
:00462181 85C0 test eax, eax<br>
:00462183 7D12 jge 00462197<br>
:00462185 6828070000 push 00000728<br>
:0046218A 688C574200 push 0042578C<br>
:0046218F 53 push ebx<br>
:00462190 50 push eax<br>
<br>
* Reference To: MSVBVM60.__vbaHresultCheckObj, Ord:0000h<br>
|<br>
:00462191 FF15A4104000 Call dword ptr [004010A4]<br>
<br>
* Referenced by a (U)nconditional or (C)onditional Jump at Address:<br>
|:00462183(C)<br>
|<br>
:00462197 6683BDC8FEFFFF00 cmp word ptr [ebp+FFFFFEC8], 0000<br>
:0046219F 0F84C3030000 je 00462568<br>
====>跳则OVER!<br>
<br>
:004621A5 8D4D8C lea ecx, dword ptr [ebp-74]<br>
:004621A8 51 push ecx<br>
<br>
* Reference To: MSVBVM60.rtcGetDateVar, Ord:0262h<br>
|<br>
:004621A9 FF1524134000 Call dword ptr [00401324]<br>
:004621AF 6A00 push 00000000<br>
:004621B1 8D558C lea edx, dword ptr [ebp-74]<br>
:004621B4 52 push edx<br>
:004621B5 8D857CFFFFFF lea eax, dword ptr [ebp+FFFFFF7C]<br>
:004621BB 50 push eax<br>
<br>
...................................<br>
.........................<br>
<br>
:004622C3 8D856CFFFFFF lea eax, dword ptr [ebp+FFFFFF6C]<br>
:004622C9 50 push eax<br>
:004622CA 8D8D7CFFFFFF lea ecx, dword ptr [ebp+FFFFFF7C]<br>
:004622D0 51 push ecx<br>
:004622D1 8D558C lea edx, dword ptr [ebp-74]<br>
:004622D4 52 push edx<br>
<br>
* Reference To: MSVBVM60.rtcInputBox, Ord:0254h<br>
|<br>
:004622D5 FF15FC104000 Call dword ptr [004010FC]<br>
====>恭喜完成!输入确认号码!7055<br>
<br>
:004622DB 8BD0 mov edx, eax<br>
====>EDX=7055<br>
<br>
:004622DD 8D4DC8 lea ecx, dword ptr [ebp-38]<br>
:004622E0 FFD6 call esi<br>
:004622E2 50 push eax<br>
<br>
* Reference To: MSVBVM60.__vbaR8Str, Ord:0000h<br>
|<br>
:004622E3 FF15C0124000 Call dword ptr [004012C0]<br>
:004622E9 DB437C fild dword ptr [ebx+7C]<br>
:004622EC DD9D70FEFFFF fstp qword ptr [ebp+FFFFFE70]<br>
:004622F2 DC9D70FEFFFF fcomp qword ptr [ebp+FFFFFE70]<br>
====>比较 确认号码 是否是7055?<br>
<br>
:004622F8 DFE0 fstsw ax<br>
:004622FA F6C440 test ah, 40<br>
:004622FD 7407 je 00462306<br>
:004622FF B801000000 mov eax, 00000001<br>
:00462304 EB02 jmp 00462308<br>
<br>
* Referenced by a (U)nconditional or (C)onditional Jump at Address:<br>
|:004622FD(C)<br>
|<br>
:00462306 33C0 xor eax, eax<br>
<br>
* Referenced by a (U)nconditional or (C)onditional Jump at Address:<br>
|:00462304(U)<br>
|<br>
:00462308 F7D8 neg eax<br>
:0046230A 668BF0 mov si, ax<br>
:0046230D 8D45C8 lea eax, dword ptr [ebp-38]<br>
:00462310 50 push eax<br>
:00462311 8D4DCC lea ecx, dword ptr [ebp-34]<br>
:00462314 51 push ecx<br>
:00462315 6A02 push 00000002<br>
<br>
* Reference To: MSVBVM60.__vbaFreeStrList, Ord:0000h<br>
|<br>
:00462317 FF15E4124000 Call dword ptr [004012E4]<br>
:0046231D 8D952CFFFFFF lea edx, dword ptr [ebp+FFFFFF2C]<br>
:00462323 52 push edx<br>
:00462324 8D853CFFFFFF lea eax, dword ptr [ebp+FFFFFF3C]<br>
:0046232A 50 push eax<br>
:0046232B 8D8D4CFFFFFF lea ecx, dword ptr [ebp+FFFFFF4C]<br>
:00462331 51 push ecx<br>
:00462332 8D955CFFFFFF lea edx, dword ptr [ebp+FFFFFF5C]<br>
:00462338 52 push edx<br>
:00462339 8D856CFFFFFF lea eax, dword ptr [ebp+FFFFFF6C]<br>
:0046233F 50 push eax<br>
:00462340 8D8D7CFFFFFF lea ecx, dword ptr [ebp+FFFFFF7C]<br>
:00462346 51 push ecx<br>
:00462347 8D558C lea edx, dword ptr [ebp-74]<br>
:0046234A 52 push edx<br>
:0046234B 6A07 push 00000007<br>
<br>
* Reference To: MSVBVM60.__vbaFreeVarList, Ord:0000h<br>
|<br>
:0046234D FF1544104000 Call dword ptr [00401044]<br>
:00462353 83C42C add esp, 0000002C<br>
:00462356 6685F6 test si, si<br>
:00462359 0F8409020000 je 00462568<br>
:0046235F 8B8578FEFFFF mov eax, dword ptr [ebp+FFFFFE78]<br>
:00462365 8B08 mov ecx, dword ptr [eax]<br>
:00462367 51 push ecx<br>
<br>
* Possible StringData Ref from Code Obj ->"rregnumber"<br>
|<br>
:00462368 6870684200 push 00426870<br>
<br>
* Possible StringData Ref from Code Obj ->"rregist"<br>
|<br>
:0046236D 685C684200 push 0042685C<br>
<br>
* Possible StringData Ref from Code Obj ->"eeasypad"<br>
|<br>
:00462372 68E8634200 push 004263E8<br>
<br>
* Reference To: MSVBVM60.rtcSaveSetting, Ord:02B2h<br>
|<br>
:00462377 FF150C104000 Call dword ptr [0040100C]<br>
====>保存注册信息!<br>
<br>
:0046237D E9E6010000 jmp 00462568<br>
<br>
<br>
—————————————————————————————————<br>
进入关键CALL:0046217B call dword ptr [ecx+00000728]<br>
<br>
…… ……省略…… ……<br>
<br>
:004724A8 FFD3 call ebx<br>
:004724AA 50 push eax<br>
<br>
* Possible StringData Ref from Code Obj ->"CC:\"<br>
|<br>
:004724AB 68A4974200 push 004297A4<br>
:004724B0 8D45CC lea eax, dword ptr [ebp-34]<br>
:004724B3 50 push eax<br>
:004724B4 FFD3 call ebx<br>
:004724B6 50 push eax<br>
:004724B7 E8EC30FBFF call 004255A8<br>
<br>
* Reference To: MSVBVM60.__vbaSetSystemError, Ord:0000h<br>
|<br>
:004724BC FF1598104000 Call dword ptr [00401098]<br>
:004724C2 8B4DC8 mov ecx, dword ptr [ebp-38]<br>
<br>
* Reference To: MSVBVM60.__vbaStrToUnicode, Ord:0000h<br>
|<br>
:004724C5 8B1D38124000 mov ebx, dword ptr [00401238]<br>
:004724CB 51 push ecx<br>
:004724CC 8D55C4 lea edx, dword ptr [ebp-3C]<br>
:004724CF 52 push edx<br>
:004724D0 FFD3 call ebx<br>
:004724D2 50 push eax<br>
:004724D3 8B45DC mov eax, dword ptr [ebp-24]<br>
:004724D6 50 push eax<br>
:004724D7 57 push edi<br>
<br>
* Reference To: MSVBVM60.__vbaLsetFixstr, Ord:0000h<br>
|<br>
:004724D8 FF1594104000 Call dword ptr [00401094]<br>
:004724DE 8B4DC0 mov ecx, dword ptr [ebp-40]<br>
:004724E1 51 push ecx<br>
:004724E2 8D55BC lea edx, dword ptr [ebp-44]<br>
:004724E5 52 push edx<br>
:004724E6 FFD3 call ebx<br>
:004724E8 50 push eax<br>
:004724E9 8B45D8 mov eax, dword ptr [ebp-28]<br>
:004724EC 50 push eax<br>
:004724ED 57 push edi<br>
<br>
* Reference To: MSVBVM60.__vbaLsetFixstr, Ord:0000h<br>
|<br>
:004724EE FF1594104000 Call dword ptr [00401094]<br>
:004724F4 8D4DBC lea ecx, dword ptr [ebp-44]<br>
:004724F7 51 push ecx<br>
:004724F8 8D55C0 lea edx, dword ptr [ebp-40]<br>
:004724FB 52 push edx<br>
:004724FC 8D45C4 lea eax, dword ptr [ebp-3C]<br>
:004724FF 50 push eax<br>
:00472500 8D4DC8 lea ecx, dword ptr [ebp-38]<br>
:00472503 51 push ecx<br>
:00472504 8D55CC lea edx, dword ptr [ebp-34]<br>
:00472507 52 push edx<br>
:00472508 6A05 push 00000005<br>
<br>
* Reference To: MSVBVM60.__vbaFreeStrList, Ord:0000h<br>
|<br>
:0047250A FF15E4124000 Call dword ptr [004012E4]<br>
:00472510 8B5D0C mov ebx, dword ptr [ebp+0C]<br>
:00472513 8B03 mov eax, dword ptr [ebx]<br>
====>EAX=fly-12345678-fly[OCN][FCG]-E 试炼码<br>
<br>
:00472515 83C418 add esp, 00000018<br>
:00472518 6A01 push 00000001<br>
:0047251A 6AFF push FFFFFFFF<br>
:0047251C 6A01 push 00000001<br>
:0047251E 68D0654200 push 004265D0<br>
:00472523 68CC754200 push 004275CC<br>
:00472528 50 push eax<br>
<br>
* Reference To: MSVBVM60.rtcReplace, Ord:02C8h<br>
|<br>
:00472529 FF152C124000 Call dword ptr [0040122C]<br>
====>去除试炼码中的-<br>
<br>
:0047252F 8BD0 mov edx, eax<br>
====>EDX=fly12345678fly[OCN][FCG]E <br>
<br>
:00472531 8D4DD4 lea ecx, dword ptr [ebp-2C]<br>
<br>
* Reference To: MSVBVM60.__vbaStrMove, Ord:0000h<br>
|<br>
:00472534 FF1578134000 Call dword ptr [00401378]<br>
:0047253A 8B0B mov ecx, dword ptr [ebx]<br>
<br>
* Reference To: MSVBVM60.__vbaLenBstr, Ord:0000h<br>
|<br>
:0047253C 8B1D34104000 mov ebx, dword ptr [00401034]<br>
:00472542 51 push ecx<br>
====>ECX=fly-12345678-fly[OCN][FCG]-E<br>
<br>
:00472543 FFD3 call ebx<br>
====>取fly-12345678-fly[OCN][FCG]-E的长度<br>
<br>
:00472545 8BD0 mov edx, eax<br>
====>EDX=1C<br>
<br>
:00472547 8B45D4 mov eax, dword ptr [ebp-2C]<br>
:0047254A 50 push eax<br>
====>EAX=fly12345678fly[OCN][FCG]E<br>
<br>
:0047254B 899528FFFFFF mov dword ptr [ebp+FFFFFF28], edx<br>
====>[ebp+FFFFFF28]=EDX=1C<br>
<br>
:00472551 FFD3 call ebx<br>
====>取fly12345678fly[OCN][FCG]E的长度=19<br>
<br>
:00472553 8B8D28FFFFFF mov ecx, dword ptr [ebp+FFFFFF28]<br>
====>ECX=1C<br>
<br>
:00472559 8B55D4 mov edx, dword ptr [ebp-2C]<br>
:0047255C 33DB xor ebx, ebx<br>
:0047255E 3BC1 cmp eax, ecx<br>
====>比较2者长度是否相同?既检测试炼码中是否有-<br>
<br>
:00472560 52 push edx<br>
:00472561 0F9DC3 setnl bl<br>
====>设置BL值!有-则长度不同则BL=0<br>
<br>
* Reference To: MSVBVM60.__vbaLenBstr, Ord:0000h<br>
|<br>
:00472564 FF1534104000 Call dword ptr [00401034]<br>
====>取fly12345678fly[OCN][FCG]E的长度=19<br>
<br>
:0047256A 33C9 xor ecx, ecx<br>
:0047256C 83F819 cmp eax, 00000019<br>
====>去除试炼码中的-后是否是25位?<br>
<br>
:0047256F 0F9CC1 setl cl<br>
====>设置CL值!是25位则CL=0<br>
<br>
:00472572 0BD9 or ebx, ecx<br>
:00472574 0F850C010000 jne 00472686<br>
====>如果上面2个条件都符合则此处不跳!<br>
====>若此处跳就直接OVER了!爆破点①!<br>
<br>
:0047257A 8B55D4 mov edx, dword ptr [ebp-2C]<br>
====>EDX=fly12345678fly[OCN][FCG]E<br>
<br>
:0047257D A110804A00 mov eax, dword ptr [004A8010]<br>
====>EAX=211C1E09 C盘的硬盘序列号<br>
<br>
:00472582 8D4DA4 lea ecx, dword ptr [ebp-5C]<br>
:00472585 89955CFFFFFF mov dword ptr [ebp+FFFFFF5C], edx<br>
:0047258B 2DCF337B00 sub eax, 007B33CF<br>
====>EAX=211C1E09 - 007B33CF=20A0EA3A<br>
<br>
:00472590 51 push ecx<br>
:00472591 8D5594 lea edx, dword ptr [ebp-6C]<br>
:00472594 0F8020050000 jo 00472ABA<br>
:0047259A 52 push edx<br>
:0047259B C78554FFFFFF08000000 mov dword ptr [ebp+FFFFFF54], 00000008<br>
:004725A5 8945AC mov dword ptr [ebp-54], eax<br>
:004725A8 C745A403000000 mov [ebp-5C], 00000003<br>
<br>
* Reference To: MSVBVM60.rtcHexVarFromVar, Ord:023Dh<br>
|<br>
:004725AF FF15D8124000 Call dword ptr [004012D8]<br>
:004725B5 6A01 push 00000001<br>
:004725B7 8D8554FFFFFF lea eax, dword ptr [ebp+FFFFFF54]<br>
:004725BD 50 push eax<br>
:004725BE 8D4D94 lea ecx, dword ptr [ebp-6C]<br>
:004725C1 51 push ecx<br>
:004725C2 6A01 push 00000001<br>
:004725C4 8D5584 lea edx, dword ptr [ebp-7C]<br>
:004725C7 52 push edx<br>
:004725C8 89BD4CFFFFFF mov dword ptr [ebp+FFFFFF4C], edi<br>
:004725CE C78544FFFFFF02800000 mov dword ptr [ebp+FFFFFF44], 00008002<br>
<br>
* Reference To: MSVBVM60.__vbaInStrVar, Ord:0000h<br>
|<br>
:004725D8 FF1570124000 Call dword ptr [00401270]<br>
====>比较CALL!进入!有点特别呀 ^O^ ^O^<br>
<br>
:004725DE 50 push eax<br>
:004725DF 8D8544FFFFFF lea eax, dword ptr [ebp+FFFFFF44]<br>
:004725E5 50 push eax<br>
<br>
* Reference To: MSVBVM60.__vbaVarTstGt, Ord:0000h<br>
|<br>
:004725E6 FF1504104000 Call dword ptr [00401004]<br>
:004725EC 8D4D84 lea ecx, dword ptr [ebp-7C]<br>
:004725EF 51 push ecx<br>
:004725F0 8D5594 lea edx, dword ptr [ebp-6C]<br>
:004725F3 668BD8 mov bx, ax<br>
====>爆破点②! ^O^ ^O^<br>
<br>
:004725F6 52 push edx<br>
:004725F7 8D45A4 lea eax, dword ptr [ebp-5C]<br>
:004725FA 50 push eax<br>
:004725FB 6A03 push 00000003<br>
<br>
* Reference To: MSVBVM60.__vbaFreeVarList, Ord:0000h<br>
|<br>
:004725FD FF1544104000 Call dword ptr [00401044]<br>
:00472603 83C410 add esp, 00000010<br>
:00472606 663BDF cmp bx, di<br>
:00472609 0F84E3000000 je 004726F2<br>
====>跳则OVER!<br>
<br>
:0047260F 8B0E mov ecx, dword ptr [esi]<br>
:00472611 56 push esi<br>
:00472612 C745D0FFFFFFFF mov [ebp-30], FFFFFFFF<br>
:00472619 FF912C060000 call dword ptr [ecx+0000062C]<br>
:0047261F 50 push eax<br>
:00472620 8D55B8 lea edx, dword ptr [ebp-48]<br>
:00472623 52 push edx<br>
<br>
* Reference To: MSVBVM60.__vbaObjSet, Ord:0000h<br>
|<br>
:00472624 FF15F4104000 Call dword ptr [004010F4]<br>
:0047262A 8D4DB4 lea ecx, dword ptr [ebp-4C]<br>
:0047262D 51 push ecx<br>
:0047262E 8BF0 mov esi, eax<br>
:00472630 8B06 mov eax, dword ptr [esi]<br>
:00472632 6A03 push 00000003<br>
:00472634 56 push esi<br>
:00472635 FF5040 call [eax+40]<br>
:00472638 DBE2 fclex<br>
:0047263A 3BC7 cmp eax, edi<br>
:0047263C 7D0F jge 0047264D<br>
:0047263E 6A40 push 00000040<br>
:00472640 68BC654200 push 004265BC<br>
:00472645 56 push esi<br>
:00472646 50 push eax<br>
<br>
—————————————————————————————————<br>
进入比较CALL:004725D8 Call dword ptr [00401270]<br>
再进入:7347A9CC Call MSVBVM60.__vbaInStr<br>
<br>
733A45A5 > 55 push ebp<br>
733A45A6 8BEC mov ebp,esp<br>
733A45A8 81EC BC000000 sub esp,0BC<br>
733A45AE 8365 EC 00 and dword ptr ss:[ebp-14],0<br>
733A45B2 53 push ebx<br>
733A45B3 56 push esi<br>
733A45B4 8B75 0C mov esi,dword ptr ss:[ebp+C]<br>
====>ESI=20A0EA3A<br>
<br>
733A45B7 57 push edi<br>
733A45B8 8B7D 10 mov edi,dword ptr ss:[ebp+10]<br>
====>EDI=fly12345678fly[OCN][FCG]E<br>
<br>
733A45BB 8D85 44FFFFFF lea eax,dword ptr ss:[ebp-BC]<br>
733A45C1 897D F8 mov dword ptr ss:[ebp-8],edi<br>
733A45C4 85FF test edi,edi<br>
733A45C6 8945 F4 mov dword ptr ss:[ebp-C],eax<br>
733A45C9 8975 FC mov dword ptr ss:[ebp-4],esi<br>
733A45CC 0F84 09350300 je MSVBVM60.733D7ADB<br>
733A45D2 8B47 FC mov eax,dword ptr ds:[edi-4]<br>
733A45D5 D1E8 shr eax,1<br>
====>取fly12345678fly[OCN][FCG]E长度<br>
<br>
733A45D7 8945 E4 mov dword ptr ss:[ebp-1C],eax<br>
====>EAX=19<br>
<br>
733A45DA 0F84 FB340300 je MSVBVM60.733D7ADB<br>
733A45E0 85F6 test esi,esi<br>
733A45E2 0F84 EB340300 je MSVBVM60.733D7AD3<br>
733A45E8 8B46 FC mov eax,dword ptr ds:[esi-4]<br>
733A45EB D1E8 shr eax,1<br>
====>取20A0EA3A的长度<br>
<br>
733A45ED 8945 E4 mov dword ptr ss:[ebp-1C],eax<br>
====>EAX=8<br>
<br>
733A45F0 0F84 DD340300 je MSVBVM60.733D7AD3<br>
733A45F6 8B45 14 mov eax,dword ptr ss:[ebp+14]<br>
733A45F9 8D58 FF lea ebx,dword ptr ds:[eax-1]<br>
733A45FC 85DB test ebx,ebx<br>
733A45FE 0F8C 33330300 jl MSVBVM60.733D7937<br>
733A4604 81FB FFFFFF3F cmp ebx,3FFFFFFF<br>
733A460A 0F87 27330300 ja MSVBVM60.733D7937<br>
733A4610 8B45 08 mov eax,dword ptr ss:[ebp+8]<br>
733A4613 895D E8 mov dword ptr ss:[ebp-18],ebx<br>
733A4616 85C0 test eax,eax<br>
733A4618 0F85 20330300 jnz MSVBVM60.733D793E<br>
====>跳下去,转变大写字母为小写字母!<br>
<br>
733A461E 8B45 F8 mov eax,dword ptr ss:[ebp-8]<br>
====>转变完了再跳回来!<br>
<br>
733A4621 85C0 test eax,eax<br>
====>EAX=fly12345678fly[ocn][fcg]e<br>
<br>
733A4623 0F84 06340300 je MSVBVM60.733D7A2F<br>
733A4629 8B48 FC mov ecx,dword ptr ds:[eax-4]<br>
733A462C D1E9 shr ecx,1<br>
733A462E 85F6 test esi,esi<br>
733A4630 0F84 00340300 je MSVBVM60.733D7A36<br>
733A4636 8B56 FC mov edx,dword ptr ds:[esi-4]<br>
733A4639 D1EA shr edx,1<br>
733A463B 8B7D E8 mov edi,dword ptr ss:[ebp-18]<br>
733A463E 3BF9 cmp edi,ecx<br>
733A4640 73 74 jnb short MSVBVM60.733A46B6<br>
733A4642 85D2 test edx,edx<br>
733A4644 0F84 F3330300 je MSVBVM60.733D7A3D<br>
733A464A 3BD1 cmp edx,ecx<br>
733A464C 0F87 F6330300 ja MSVBVM60.733D7A48<br>
733A4652 8D0478 lea eax,dword ptr ds:[eax+edi*2]<br>
733A4655 8B7D F8 mov edi,dword ptr ss:[ebp-8]<br>
733A4658 2BCA sub ecx,edx<br>
733A465A 8D5C4F 02 lea ebx,dword ptr ds:[edi+ecx*2+2]<br>
733A465E 0FB70E movzx ecx,word ptr ds:[esi]<br>
733A4661 894D 14 mov dword ptr ss:[ebp+14],ecx<br>
733A4664 8D4C12 FE lea ecx,dword ptr ds:[edx+edx-2]<br>
733A4668 3BC3 cmp eax,ebx<br>
733A466A 894D E4 mov dword ptr ss:[ebp-1C],ecx<br>
733A466D 73 47 jnb short MSVBVM60.733A46B6<br>
733A466F 8BCB mov ecx,ebx<br>
733A4671 2BC8 sub ecx,eax<br>
733A4673 D1F9 sar ecx,1<br>
733A4675 51 push ecx<br>
733A4676 FF75 14 push dword ptr ss:[ebp+14]<br>
733A4679 50 push eax<br>
733A467A E8 46000000 call MSVBVM60.733A46C5<br>
====>循环取试炼码,比较第“1”位是否是2?<br>
<br>
733A467F 85C0 test eax,eax<br>
733A4681 74 33 je short MSVBVM60.733A46B6<br>
733A4683 8B4D E4 mov ecx,dword ptr ss:[ebp-1C]<br>
733A4686 40 inc eax<br>
733A4687 40 inc eax<br>
733A4688 8D7E 02 lea edi,dword ptr ds:[esi+2]<br>
733A468B 8BF0 mov esi,eax<br>
733A468D 33D2 xor edx,edx<br>
733A468F F3:A6 repe cmps byte ptr es:[edi],byte ptr ds:[esi]<br>
====>依次比较剩下的7位是否是0a0ea3a<br>
<br>
733A4691 75 1A jnz short MSVBVM60.733A46AD<br>
733A4693 8BC8 mov ecx,eax<br>
733A4695 2B4D F8 sub ecx,dword ptr ss:[ebp-8]<br>
733A4698 D1F9 sar ecx,1<br>
733A469A 837D 08 00 cmp dword ptr ss:[ebp+8],0<br>
733A469E 0F85 AD330300 jnz MSVBVM60.733D7A51<br>
733A46A4 8BC1 mov eax,ecx<br>
733A46A6 5F pop edi<br>
733A46A7 5E pop esi<br>
733A46A8 5B pop ebx<br>
733A46A9 C9 leave<br>
733A46AA C2 1000 retn 10<br>
<br>
733A46AD 3BC3 cmp eax,ebx<br>
733A46AF 73 05 jnb short MSVBVM60.733A46B6<br>
733A46B1 8B75 FC mov esi,dword ptr ss:[ebp-4]<br>
733A46B4 ^ EB B9 jmp short MSVBVM60.733A466F<br>
====>循环比较!<br>
====>其实就是循环比较试炼码中是否有8位是20a0ea3a<br>
<br>
—————————————————<br>
由733A4618跳到这里:<br>
<br>
733D793E 83F8 01 cmp eax,1<br>
733D7941 75 3D jnz short MSVBVM60.733D7980<br>
733D7943 E8 818DFCFF call MSVBVM60.733A06C9<br>
733D7948 8945 08 mov dword ptr ss:[ebp+8],eax<br>
733D794B 8B45 08 mov eax,dword ptr ss:[ebp+8]<br>
733D794E 3B05 2C1E4A73 cmp eax,dword ptr ds:[734A1E2C]<br>
733D7954 74 06 je short MSVBVM60.733D795C<br>
733D7956 50 push eax<br>
733D7957 E8 D83B0A00 call MSVBVM60.7347B534<br>
733D795C 8B45 F4 mov eax,dword ptr ss:[ebp-C]<br>
733D795F 33F6 xor esi,esi<br>
733D7961 56 push esi<br>
733D7962 56 push esi<br>
733D7963 56 push esi<br>
733D7964 C700 FEFFFFFF mov dword ptr ds:[eax],-2<br>
733D796A FF75 0C push dword ptr ss:[ebp+C]<br>
733D796D E8 CA3D0A00 call MSVBVM60.7347B73C<br>
====>将20A0EA3A中的大写字母转为小写字母!<br>
<br>
733D7972 3BC6 cmp eax,esi<br>
====>EAX=20a0ea3a<br>
<br>
733D7974 8945 FC mov dword ptr ss:[ebp-4],eax<br>
733D7977 75 1D jnz short MSVBVM60.733D7996<br>
733D7979 6A 07 push 7<br>
733D797B E8 D9D9FDFF call MSVBVM60.733B5359<br>
733D7980 83F8 02 cmp eax,2<br>
733D7983 74 0A je short MSVBVM60.733D798F<br>
733D7985 50 push eax<br>
733D7986 E8 69830900 call MSVBVM60.7346FCF4<br>
733D798B 85C0 test eax,eax<br>
733D798D ^ 75 BC jnz short MSVBVM60.733D794B<br>
733D798F 6A 05 push 5<br>
733D7991 E8 C3D9FDFF call MSVBVM60.733B5359<br>
733D7996 56 push esi<br>
733D7997 8D45 F4 lea eax,dword ptr ss:[ebp-C]<br>
733D799A 56 push esi<br>
733D799B 50 push eax<br>
733D799C 57 push edi<br>
====>EDI=fly12345678fly[OCN][FCG]E<br>
<br>
733D799D E8 9A3D0A00 call MSVBVM60.7347B73C<br>
====>将fly12345678fly[OCN][FCG]E中的大写字母转为小写字母!<br>
<br>
733D79A2 8BF0 mov esi,eax<br>
====>ESI=fly12345678fly[ocn][fcg]e<br>
<br>
…… ……省 略…… ……<br>
<br>
733D7A1F E9 FACBFCFF jmp MSVBVM60.733A461E<br>
====>转变完了再跳上去!<br>
<br>
————————————————————————————————— <br>
注册源码的生成:<br>
<br>
<br>
:00461E75 FF15E4124000 Call dword ptr [004012E4]<br>
:00461E7B 83C418 add esp, 00000018<br>
:00461E7E 8B0D10804A00 mov ecx, dword ptr [004A8010]<br>
====>ECX=211C1E09 C盘的硬盘序列号<br>
<br>
:00461E84 81E957300E00 sub ecx, 000E3057<br>
====>ECX=211C1E09 - 000E3057=210DEDB2<br>
<br>
:00461E8A 0F80C1070000 jo 00462651<br>
:00461E90 51 push ecx<br>
<br>
* Reference To: MSVBVM60.__vbaStrI4, Ord:0000h<br>
|<br>
:00461E91 FF1520104000 Call dword ptr [00401020]<br>
====>取210DEDB2的10进制值<br>
<br>
:00461E97 8BD0 mov edx, eax<br>
====>EDX=554560946<br>
<br>
:00461E99 8D4DC4 lea ecx, dword ptr [ebp-3C]<br>
:00461E9C FFD6 call esi<br>
:00461E9E 50 push eax<br>
<br>
* Reference To: MSVBVM60.rtcStrReverse, Ord:02C9h<br>
|<br>
:00461E9F FF153C124000 Call dword ptr [0040123C]<br>
====>把554560946倒序排列<br>
<br>
:00461EA5 8BD0 mov edx, eax<br>
====>EDX=649065455<br>
<br>
…… ……省 略…… ……<br>
<br>
:00461FCC 8B4344 mov eax, dword ptr [ebx+44]<br>
====>EAX=FLY 计算机用户名<br>
<br>
:00461FCF 50 push eax<br>
:00461FD0 683C994200 push 0042993C<br>
====>0042993C=N 这个应该是作者预设的固定值<br>
<br>
* Reference To: MSVBVM60.__vbaStrCat, Ord:0000h<br>
|<br>
:00461FD5 8B3D80104000 mov edi, dword ptr [00401080]<br>
:00461FDB FFD7 call edi<br>
====>连接FLY和N<br>
<br>
:00461FDD 8BD0 mov edx, eax<br>
====>EDX=FLYN<br>
<br>
:00461FDF 8D4DC0 lea ecx, dword ptr [ebp-40]<br>
:00461FE2 FFD6 call esi<br>
:00461FE4 50 push eax<br>
:00461FE5 8B957CFEFFFF mov edx, dword ptr [ebp+FFFFFE7C]<br>
====>EDX=649065455<br>
<br>
:00461FEB 8D4DBC lea ecx, dword ptr [ebp-44]<br>
:00461FEE FFD6 call esi<br>
:00461FF0 50 push eax<br>
:00461FF1 FFD7 call edi<br>
====>连接FLYN和649065455<br>
<br>
:00461FF3 8BD0 mov edx, eax<br>
====>EDX=FLYN649065455 这就是程序显示的注册源码!<br>
<br>
—————————————————————————————————<br>
【算 法 总 结】:<br>
<br>
1、注册码要有-<br>
2、去除-后还需要25位数字或字母<br>
3、取C盘序列号211C1E09 - 007B33CF=20A0EA3A<br>
4、25位字符中要有8位是20A0EA3A 其他任意<br>
<br>
不清楚程序是否还有其他暗桩,有朋友发现的话,麻烦指出来!<br>
<br>
————————————————————————————————— <br>
【完 美 爆 破】:<br>
<br>
1、00472574 0F850C010000 jne 00472686<br>
改为:909090909090 NOP掉!<br>
<br>
2、004725F3 668BD8 mov bx, ax<br>
改为:B301 mov bl, 01 <br>
————————————————————————————————— <br>
【注册信息保存】:<br>
REGEDIT4<br>
<br>
[HKEY_CURRENT_USER\Software\VB and VBA Program Settings\easypad\regist]<br>
"regnumber"="fly-20A0EA3A-fly[OCN][FCG]-E"<br>
————————————————————————————————— <br>
【整 理】:<br>
<br>
序列号:FLYN649065455613<br>
注册码:fly-20A0EA3A-fly[OCN][FCG]-E<br>
—————————————————————————————————
(出处:赢政天下整理收藏)
相关文章:
·语音界面2.0算法分析及注册机源码!
·侠客系统修改器1.21破解手记--算法分析
·中文拨号上网计时计费器 V4.12注册算法分析
·ClockWise 3.22e注册码算法分析
·CoolClock V1.02注册算法分析
·Directory Scanner v1.5 注册算法分析
·Disk Chief 1.2 简单注册算法分析
·EffeTech HTTP Sniffer 3.2注册算法分析
·eLib2.01算法分析
·EZ MP3 Recorder 1.15 注册算法分析
相关软件:
→ 特别推荐
→ 热点TOP10
我为人人《《==》》人人为我
关于我们 |
帮助(?)
| 广告服务 |
版权声明 |
商业合作 |
发展历程 |
加盟我们 |
联系我们
Copyright © 1999-2003
winzheng.com All Rights Reserved.
繁体版:由华琦数码技术提供
Powered
by:MeSky.Net
当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。