破解圣经之------滚瓜烂熟篇(2)
2007-01-12 20:10:34 来源:WEB开发网核心提示:(3)比较位数cmp dword ptr[ebp-04],0000000Ajne/jge/jle/je 00xxxx或mov eax, dword ptr [ebp-04]call 00xxxxcmp eax, 0000000A <比较注册码是否为10位jne 00xxxxx <不是,错(4)VB程序经典比
(3)比较位数
cmp dword ptr[ebp-04],0000000A
jne/jge/jle/je 00xxxx
或
mov eax, dword ptr [ebp-04]
call 00xxxx
cmp eax, 0000000A <----比较注册码是否为10位
jne 00xxxxx <----不是,错
(4)VB程序经典比较
PUSH XXX //假注册码
PUSH XXX //真注册码
CALL [MSVBVM60!__vbaStrCmp]
TEST EAX,EAX
JNZ 00XXXXX
(5)SmartCheck中,注册码常出现处
__vbasrtcmp(String:"zzzzz",String:"yyyyy")returns
__vbaStrVarVal(VARIATN:String"a") returns
__vbaVarTstEq(VARIANT:****, VARIANT:****) returns
(6)依次取两位比较
:004044D8 8A10 mov dl, byte ptr [eax]
:004044DA 8ACA mov cl, dl
:004044DC 3A16 cmp dl, byte ptr [esi]
:004044DE 751C jne 004044FC
:004044E0 84C9 test cl, cl
:004044E2 7414 je 004044F8
:004044E4 8A5001 mov dl, byte ptr [eax+01]
:004044E7 8ACA mov cl, dl
:004044E9 3A5601 cmp dl, byte ptr [esi+01]
:004044EC 750E jne 004044FC
:004044EE 83C002 add eax, 00000002 ***
:004044F1 83C602 add esi, 00000002 ***
:004044F4 84C9 test cl, cl
:004044F6 75E0 jne 004044D8
每次程序依次取两位,放入byte ptr [esi],byte ptr [esi+1],与eax, eax+1比较。如此循环
(7)小写转大写(一时找不到,自己补充)
(8)大写转小写(一时找不到,自己补充)
更多精彩
赞助商链接