软件名称: revive3.1 下载地址: ftp://www.newhua.com/revive31.zip 软件大小: 1079 KB 软件语言: 国外软件 软件类别: 国外软件 / 共享版 / 应用平台: Win9x/NT/2000/XP 破解工具: olldbg-cn v1.09 【作者声明】:初学Crack,只是感兴趣,没有其它目的。可能我的描述有不到之处,请大家指正
程序是vc++编的,没有壳.在0lldbg中下getwindowtexta中断就能到核心.前面部分就不写了.
加载后用户名和单位名软件填好了,就填试验码 789456123012 .运行中断后不久就到:
****************************************************************
004032A0 SUB ESP, 24 004032A3 PUSH EBX 004032A4 PUSH ESI 004032A5 MOV ESI, DWORD PTR SS:[ESP+30] ; ESI<== 0093292C,(ASCII "789456123012") 004032A9 PUSH EDI 004032AA MOVSX EAX, BYTE PTR DS:[ESI] ; EAX <==DS:[0093292C]=37 ('7') 004032AD PUSH EAX 004032AE CALL Revival.0041F880 ; 这个CALL把hex值-20 004032B3 ADD ESP, 4 004032B6 CMP EAX, 52 ; 比较第一位是不是52+20=72 ('r') 004032B9 JNZ Revival.0040340F ; 注册码的第二个条件:注册码的第一位是('r'), 把第一位改为r再试 004032BF MOVSX EAX, BYTE PTR DS:[ESI+1] ; EAX <== DS:[0093292D] = 61 ('a') 004032C3 PUSH EAX 004032C4 CALL Revival.0041F880 ; 这个CALL把hex值-20 004032C9 ADD ESP, 4 004032CC CMP EAX, 56 ; 注册码的第3个条件:注册码的第一位是56+20=76 ('v'), 把第2位改为v再试 004032CF JNZ Revival.0040340F ---------------------- CALL Revival.0041F880
0041F880 CMP DWORD PTR DS:[45DC20], 0 0041F887 PUSH ESI 0041F888 PUSH EDI 0041F889 JNZ SHORT Revival.0041F89F 0041F88B MOV EAX, DWORD PTR SS:[ESP+C] ; 这一段是比较注册码第一位的取值范围hex=61-7A (小写字母) 0041F88F CMP EAX, 61 ; 注册码的第一个条件(把试验码改为asdfghjklzxcvbnm后继续) 0041F892 JL SHORT Revival.0041F8EB
上一篇:Registry Crawler 4.0注册码算法分析(3)
下一篇:Registry Crawler 4.0注册码算法分析(1)
|