016F:00491AD3 MOV EAX,[ESP+10] 由上面的分析,可知此子程序将输入中间注册码 016F:00491AD7 POP EBP 由字符串转换成二进制的数 016F:00491AD8 POP EDI 016F:00491AD9 POP ESI 016F:00491ADA POP EBX 016F:00491ADB ADD ESP,BYTE +08 016F:00491ADE RET 总结一下,以上代码将输入的注册码进行判断,首先看注册码的起始和结尾的固定码是否正确,若正确判断中间注册码是否满足一定要求。然后取出本机的电脑码,由其算出正确的注册码。 关键点: 在48ccf3处,算出正确的注册码(要转换成十进制才能看到) 在48ccfe处与输入的注册码进行比较。 上面的这一段,其实是我的失败经验。因为我不知怎么乱搞,把注册次数搞成了0次,这下即使得到注册码也没用了,只好用暴力法破解。 分析文件入口处的代码: 016F:0048E01D MOV ECX,01 016F:0048E022 CALL 00490AA0 取得电脑信息码98039 016F:0048E027 XOR EAX,EAX 016F:0048E029 MOV AX,[00496D32] 016F:0048E02F TEST AH,C0 ah=f0 016F:0048E032 JNZ NEAR 0048E066 应该跳转 016F:0048E038 XOR EAX,EAX 016F:0048E03A MOV AX,[00496D32] 016F:0048E040 TEST AH,10 016F:0048E043 JZ NEAR 0048E066 [496d32]=10 表示次数已用完 016F:0048E049 PUSH BYTE +00 016F:0048E04B PUSH DWORD 8003 016F:0048E050 PUSH DWORD 0111 016F:0048E055 MOV EAX,[00496C80] 016F:0048E05A PUSH EAX 016F:0048E05B CALL `USER32!SendMessageA` 次数已用完错误框 016F:0048E061 JMP 0048E06B 016F:0048E066 CALL 0048E680 016F:0048E06B CMP DWORD [00493170],BYTE +00 016F:0048E072 JZ NEAR 0048E08E 016F:0048E078 MOV ECX,[EBP-50] 016F:0048E07B CALL 00490CC0 若注册表中的注册码不对,显示开始的注册框,里面又有跳转见子程序3,要改
复制本页网址和标题,发送给你QQ/Msn的好友一起分享
上一篇:流光 4.5 完全破解 (15千字) 算法分析
下一篇:网络天使和QQ杀手将发作