-
-
[旧帖]
[求助]非明码比较其中一句不明白,请指点!
0.00雪花
-
发表于:
2010-3-14 12:45
1382
-
[旧帖] [求助]非明码比较其中一句不明白,请指点!
0.00雪花
004011D4 0FBE81 57214000 movsx eax,byte ptr ds:[ecx+402157] ; eax=lpKeyBuf[ecx];取注册码第ecx+1个字符
004011DB 0FBE99 BB214000 movsx ebx,byte ptr ds:[ecx+4021BB] ; ebx=lpOut[0];取正确注册码第ecx+1个字符
004011E2 3BC3 cmp eax,ebx
004011E4 75 09 jnz short Crackme1.004011EF ; if(ebx!=eax) goto 004011EF(失败消息)不相等就失败;
004011E6 83F8 00 cmp eax,0
004011E9 74 19 je short Crackme1.00401204 ; if(eax==0) goto 00401204(成功消息);
; 此处可暴破
; 此处作者用eax==0判断字符取完
004011EB 41 inc ecx ; ecx=ecx+1;
004011EC ^ EB E6 jmp short Crackme1.004011D4 ; goto 004011D4(循环比较)继续下一位注册码比较;
[LEFT]004011EE C3 retn
cmp eax,0 这句的作用 实在是看不明白
eax是第一个字符 前面的验证都过来了 怎么还要跟0进行比较?
作者说验证字符取完没有,就1个字符一次就去玩了啊 就这句看不懂 其他的没有问题
[/LEFT]
[课程]FART 脱壳王!加量不加价!FART作者讲授!