- UID
- 1132
注册时间2005-4-20
阅读权限40
最后登录1970-1-1
独步武林
TA的每日心情 | 无聊 2020-4-10 17:02 |
---|
签到天数: 5 天 [LV.2]偶尔看看I
|
【破解日期】 2006年11月19日
【破解作者】 冷血书生
【作者邮箱】 meiyou
【作者主页】 hxxp://www.126sohu.com/
【使用工具】 OD
【破解平台】 Win9x/NT/2000/XP
【软件名称】
【下载地址】 本地
【软件大小】 44k
【加壳方式】 无
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】
- 00401BE8 8D4424 40 lea eax,dword ptr ss:[esp+40] ; 用户名
- 00401BEC 8D50 01 lea edx,dword ptr ds:[eax+1]
- 00401BEF 90 nop
- 00401BF0 8A08 mov cl,byte ptr ds:[eax]
- 00401BF2 40 inc eax
- 00401BF3 84C9 test cl,cl
- 00401BF5 ^ 75 F9 jnz short sn2.00401BF0
- 00401BF7 6A 32 push 32
- 00401BF9 8D4C24 10 lea ecx,dword ptr ss:[esp+10]
- 00401BFD 51 push ecx
- 00401BFE 68 EC030000 push 3EC
- 00401C03 2BC2 sub eax,edx
- 00401C05 56 push esi
- 00401C06 8BD8 mov ebx,eax
- 00401C08 FFD7 call edi
- 00401C0A 8D4424 0C lea eax,dword ptr ss:[esp+C] ; 注册码
- 00401C0E 8D50 01 lea edx,dword ptr ds:[eax+1]
- 00401C11 8A08 mov cl,byte ptr ds:[eax]
- 00401C13 40 inc eax
- 00401C14 84C9 test cl,cl
- 00401C16 ^ 75 F9 jnz short sn2.00401C11
- 00401C18 2BC2 sub eax,edx
- 00401C1A 8BD0 mov edx,eax ; 注册码长度
- 00401C1C 0F84 C5000000 je sn2.00401CE7
- 00401C22 85DB test ebx,ebx
- 00401C24 0F84 BD000000 je sn2.00401CE7
- 00401C2A 33C9 xor ecx,ecx
- 00401C2C 85D2 test edx,edx
- 00401C2E 7E 29 jle short sn2.00401C59
- 00401C30 8A440C 0C mov al,byte ptr ss:[esp+ecx+C] ; 检测注册码是不是在以下范围内
- 00401C34 3C 30 cmp al,30
- 00401C36 7C 04 jl short sn2.00401C3C
- 00401C38 3C 39 cmp al,39
- 00401C3A 7E 18 jle short sn2.00401C54
- 00401C3C 3C 41 cmp al,41
- 00401C3E 7C 0C jl short sn2.00401C4C
- 00401C40 3C 47 cmp al,47
- 00401C42 7F 08 jg short sn2.00401C4C
- 00401C44 04 20 add al,20
- 00401C46 88440C 0C mov byte ptr ss:[esp+ecx+C],al
- 00401C4A EB 08 jmp short sn2.00401C54
- 00401C4C 3C 61 cmp al,61
- 00401C4E 7C 65 jl short sn2.00401CB5
- 00401C50 3C 67 cmp al,67
- 00401C52 7F 61 jg short sn2.00401CB5
- 00401C54 41 inc ecx
- 00401C55 3BCA cmp ecx,edx
- 00401C57 ^ 7C D7 jl short sn2.00401C30
- 00401C59 33C0 xor eax,eax
- 00401C5B 85DB test ebx,ebx
- 00401C5D 7E 0D jle short sn2.00401C6C
- 00401C5F 8A4C14 0B mov cl,byte ptr ss:[esp+edx+B] ; 取注册码最后一位
- 00401C63 304C04 40 xor byte ptr ss:[esp+eax+40],cl ; 分别XOR 用户名
- 00401C67 40 inc eax
- 00401C68 3BC3 cmp eax,ebx
- 00401C6A ^ 7C F7 jl short sn2.00401C63
- 00401C6C 8D4424 40 lea eax,dword ptr ss:[esp+40] ; 保存结果
- 00401C70 50 push eax
- 00401C71 C64414 0F 00 mov byte ptr ss:[esp+edx+F],0
- 00401C76 E8 75FEFFFF call sn2.00401AF0 /// md5运算
- 00401C7B 83C4 04 add esp,4
- 00401C7E 8D4C24 0C lea ecx,dword ptr ss:[esp+C]
- 00401C82 51 push ecx ; 注册码-1位
- 00401C83 50 push eax ; 上面计算结果的MD5值
- 00401C84 FF15 00704000 call dword ptr ds:[<&KERNEL32.lstrcmp>; kernel32.lstrcmpA /// 相等就注册成功
- 00401C8A 85C0 test eax,eax
- 00401C8C 6A 00 push 0
- 00401C8E 75 33 jnz short sn2.00401CC3
- 00401C90 68 98714000 push sn2.00407198 ; Succeed!
- 00401C95 68 88714000 push sn2.00407188 ; Great,注册成功!
- 00401C9A 8B15 40974000 mov edx,dword ptr ds:[409740]
- 00401CA0 52 push edx
- 00401CA1 FF15 DC704000 call dword ptr ds:[<&USER32.MessageBo>; USER32.MessageBoxA
- 00401CA7 5E pop esi
- MD5(注册码最后一位分别XOR 用户名)与注册码去掉最后一位比较,相等则成功
复制代码
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入我们
x
评分
-
查看全部评分
|