*** WordV3.9算法分析
- 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
详细过程
输入试炼码:123-456,点注册中断在
0043CA80 > \55 push ebp
0043CA81 . 8BEC mov ebp,esp
0043CA83 . 83EC 0C sub esp,0C
0043CA86 . 68 061E4000 push ; SE 句柄安装
。。。省略往下
0043CB38 . 52 push edx ; 压入注册码
0043CB39 . 68 60114100 push BatchDoc.00411160 ; -
0043CB3E . 53 push ebx
0043CB3F . FF15 7811400>call dwordptrds:[<&MSVBVM60.__v>; MSVBVM60.__vbaInStr
0043CB45 . 8BC8 mov ecx,eax
0043CB47 . FF15 D010400>call dwordptrds:[<&MSVBVM60.__v>; MSVBVM60.__vbaI2I4
0043CB4D . 8D4D DC lea ecx,dword ptr ss:[ebp-24]
0043CB50 . 8945 E8 mov dword ptr ss:[ebp-18],eax
0043CB53 . FF15 FC11400>call dwordptrds:[<&MSVBVM60.__v>; MSVBVM60.__vbaFreeStr
0043CB59 . 8D4D D4 lea ecx,dword ptr ss:[ebp-2C]
0043CB5C . FF15 F811400>call dwordptrds:[<&MSVBVM60.__v>; MSVBVM60.__vbaFreeObj
0043CB62 . 8B06 mov eax,dword ptr ds:[esi]
0043CB64 . 56 push esi
0043CB65 . FF90 0803000>call dword ptr ds:[eax+308]
0043CB6B . 8D4D D4 lea ecx,dword ptr ss:[ebp-2C]
0043CB6E . 50 push eax
0043CB6F . 51 push ecx
0043CB70 . FFD7 call edi
0043CB72 . 8BD8 mov ebx,eax
0043CB74 . 8D45 DC lea eax,dword ptr ss:[ebp-24]
0043CB77 . 50 push eax
0043CB78 . 53 push ebx
0043CB79 . 8B13 mov edx,dword ptr ds:[ebx]
0043CB7B . FF92 A000000>call dword ptr ds:[edx+A0]
0043CB81 . 85C0 test eax,eax
0043CB83 . DBE2 fclex
0043CB85 . 7D 12 jge short BatchDoc.0043CB99
0043CB87 . 68 A0000000 push 0A0
0043CB8C . 68 58064100 push BatchDoc.00410658
0043CB91 . 53 push ebx
0043CB92 . 50 push eax
0043CB93 . FF15 5C10400>call dwordptrds:[<&MSVBVM60.__v>; MSVBVM60.__vbaHresultCheckObj
0043CB99 > 8B4D DC mov ecx,dword ptr ss:[ebp-24]
0043CB9C . 51 push ecx
0043CB9D . FF15 2810400>call dwordptrds:[<&MSVBVM60.__v>; MSVBVM60.__vbaLenBstr
0043CBA3 . 33DB xor ebx,ebx
0043CBA5 . 83F8 03 cmp eax,3 ; 注册码长度大于3
0043CBA8 . 0F9FC3 setg bl
0043CBAB . F7DB neg ebx
0043CBAD . 33D2 xor edx,edx
0043CBAF . 66:837D E8 0>cmp word ptr ss:[ebp-18],1
0043CBB4 . 8D4D DC lea ecx,dword ptr ss:[ebp-24]
0043CBB7 . 0F9FC2 setg dl
0043CBBA . F7DA neg edx
0043CBBC . 23DA and ebx,edx
0043CBBE . FF15 FC11400>call dwordptrds:[<&MSVBVM60.__v>; MSVBVM60.__vbaFreeStr
0043CBC4 . 8D4D D4 lea ecx,dword ptr ss:[ebp-2C]
0043CBC7 . FF15 F811400>call dwordptrds:[<&MSVBVM60.__v>; MSVBVM60.__vbaFreeObj
0043CBCD . 66:85DB test bx,bx
0043CBD0 . 0F84 0104000>je BatchDoc.0043CFD7;判断注册码是否有“-”号,长度大于3
///////////////////////////////////////////////////////////////////////////////////////////////////
0043CBD6 . 8B06 mov eax,dword ptr ds:[esi]
0043CBD8 . 56 push esi
0043CBD9 . FF90 0803000>call dword ptr ds:[eax+308]
0043CBDF . 8D4D D4 lea ecx,dword ptr ss:[ebp-2C]
0043CBE2 . 50 push eax
0043CBE3 . 51 push ecx
0043CBE4 . FFD7 call edi
0043CBE6 . 8BD8 mov ebx,eax
0043CBE8 . 8D45 DC lea eax,dword ptr ss:[ebp-24]
0043CBEB . 50 push eax
0043CBEC . 53 push ebx
0043CBED . 8B13 mov edx,dword ptr ds:[ebx]
0043CBEF . FF92 A000000>call dword ptr ds:[edx+A0]
0043CBF5 . 85C0 test eax,eax
0043CBF7 . DBE2 fclex
0043CBF9 . 7D 12 jge short BatchDoc.0043CC0D
0043CBFB . 68 A0000000 push 0A0
0043CC00 . 68 58064100 push BatchDoc.00410658
0043CC05 . 53 push ebx
0043CC06 . 50 push eax
0043CC07 . FF15 5C10400>call dwordptrds:[<&MSVBVM60.__v>; MSVBVM60.__vbaHresultCheckObj
0043CC0D > 66:8B4D E8 mov cx,word ptr ss:[ebp-18]
0043CC11 . 8B45 DC mov eax,dword ptr ss:[ebp-24]
0043CC14 . 66:83E9 01 sub cx,1
0043CC18 . 8945 C4 mov dword ptr ss:[ebp-3C],eax
0043CC1B . 0F80 0606000>jo BatchDoc.0043D227
0043CC21 . 0FBFD1 movsx edx,cx
0043CC24 . 8D45 BC lea eax,dword ptr ss:[ebp-44]
0043CC27 . 52 push edx ; /Arg3
0043CC28 . 8D4D AC lea ecx,dword ptr ss:[ebp-54] ;
0043CC2B . 50 push eax ; Arg2
0043CC2C . 51 push ecx ; Arg1
0043CC2D . C745 DC 0000>mov dword ptr ss:[ebp-24],0 ;
0043CC34 . C745 BC 0800>mov dword ptr ss:[ebp-44],8 ;
0043CC3B . FF15 CC11400>call dwordptrds:[<&MSVBVM60.#61>; \rtccenterCharVar
0043CC41 . 8D55 AC lea edx,dword ptr ss:[ebp-54]
0043CC44 . 52 push edx
0043CC45 . FF15 2410400>call dwordptrds:[<&MSVBVM60.__v>; MSVBVM60.__vbaStrVarMove
0043CC4B . 8B1D D411400>mov ebx,dwordptrds:[<&MSVBVM60.>; MSVBVM60.__vbaStrMove
0043CC51 . 8BD0 mov edx,eax
0043CC53 . 8D4D E4 lea ecx,dword ptr ss:[ebp-1C]
0043CC56 . FFD3 call ebx ; <&MSVBVM60.__vbaStrMove>
0043CC58 . 8D4D D4 lea ecx,dword ptr ss:[ebp-2C]
0043CC5B . FF15 F811400>call dwordptrds:[<&MSVBVM60.__v>; MSVBVM60.__vbaFreeObj
0043CC61 . 8D45 AC lea eax,dword ptr ss:[ebp-54]
0043CC64 . 8D4D BC lea ecx,dword ptr ss:[ebp-44]
0043CC67 . 50 push eax
0043CC68 . 51 push ecx
0043CC69 . 6A 02 push 2
0043CC6B . FF15 2C10400>call dwordptrds:[<&MSVBVM60.__v>; MSVBVM60.__vbaFreeVarList
0043CC71 . 8B16 mov edx,dword ptr ds:[esi]
0043CC73 . 83C4 0C add esp,0C
0043CC76 . 56 push esi
0043CC77 . FF92 0803000>call dword ptr ds:[edx+308]
0043CC7D . 50 push eax
0043CC7E . 8D45 D4 lea eax,dword ptr ss:[ebp-2C]
0043CC81 . 50 push eax
0043CC82 . FFD7 call edi
0043CC84 . 8B08 mov ecx,dword ptr ds:[eax]
0043CC86 . 8D55 DC lea edx,dword ptr ss:[ebp-24]
0043CC89 . 52 push edx
0043CC8A . 50 push eax
0043CC8B . 8985 58FFFFF>mov dword ptr ss:[ebp-A8],eax
0043CC91 . FF91 A000000>call dword ptr ds:[ecx+A0]
0043CC97 . 85C0 test eax,eax
0043CC99 . DBE2 fclex
0043CC9B . 7D 18 jge short BatchDoc.0043CCB5
0043CC9D . 8B8D 58FFFFF>mov ecx,dword ptr ss:[ebp-A8]
0043CCA3 . 68 A0000000 push 0A0
0043CCA8 . 68 58064100 push BatchDoc.00410658
0043CCAD . 51 push ecx
0043CCAE . 50 push eax
0043CCAF . FF15 5C10400>call dwordptrds:[<&MSVBVM60.__v>; MSVBVM60.__vbaHresultCheckObj
0043CCB5 > 8B16 mov edx,dword ptr ds:[esi]
0043CCB7 . 56 push esi
0043CCB8 . FF92 0803000>call dword ptr ds:[edx+308]
0043CCBE . 50 push eax
0043CCBF . 8D45 D0 lea eax,dword ptr ss:[ebp-30]
0043CCC2 . 50 push eax
0043CCC3 . FFD7 call edi
0043CCC5 . 8BF8 mov edi,eax
0043CCC7 . 8D55 D8 lea edx,dword ptr ss:[ebp-28]
0043CCCA . 52 push edx
0043CCCB . 57 push edi
0043CCCC . 8B0F mov ecx,dword ptr ds:[edi]
0043CCCE . FF91 A000000>call dword ptr ds:[ecx+A0]
0043CCD4 . 85C0 test eax,eax
0043CCD6 . DBE2 fclex
0043CCD8 . 7D 12 jge short BatchDoc.0043CCEC
0043CCDA . 68 A0000000 push 0A0
0043CCDF . 68 58064100 push BatchDoc.00410658
0043CCE4 . 57 push edi
0043CCE5 . 50 push eax
0043CCE6 . FF15 5C10400>call dwordptrds:[<&MSVBVM60.__v>; MSVBVM60.__vbaHresultCheckObj
0043CCEC > 8B45 DC mov eax,dword ptr ss:[ebp-24]
0043CCEF . C745 DC 0000>mov dword ptr ss:[ebp-24],0
0043CCF6 . 8945 C4 mov dword ptr ss:[ebp-3C],eax
0043CCF9 . 8B45 D8 mov eax,dword ptr ss:[ebp-28]
0043CCFC . 50 push eax
0043CCFD . C745 BC 0800>mov dword ptr ss:[ebp-44],8
0043CD04 . FF15 2810400>call dwordptrds:[<&MSVBVM60.__v>; MSVBVM60.__vbaLenBstr
0043CD0A . 0FBF4D E8 movsx ecx,word ptr ss:[ebp-18]
0043CD0E . 2BC1 sub eax,ecx
0043CD10 . 8D55 BC lea edx,dword ptr ss:[ebp-44]
0043CD13 . 0F80 0E05000>jo BatchDoc.0043D227
0043CD19 . 50 push eax ; /Arg3
0043CD1A . 8D45 AC lea eax,dword ptr ss:[ebp-54] ;
0043CD1D . 52 push edx ; Arg2
0043CD1E . 50 push eax ; Arg1
0043CD1F . FF15 E011400>call dwordptrds:[<&MSVBVM60.#61>; \rtccenterCharVar
0043CD25 . 8D4D AC lea ecx,dword ptr ss:[ebp-54]
0043CD28 . 51 push ecx
0043CD29 . FF15 2410400>call dwordptrds:[<&MSVBVM60.__v>; MSVBVM60.__vbaStrVarMove
-
TAGS:
- 作者:管理员 时间:2009-6-21 来源:网络 人气: