中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 看雪学院专区 > CrackMe
简单的MD5入门算法
作者:佚名 时间:2006-12-15 11:05 出处:pediy.com 责编:月夜寒箫
              摘要:简单的MD5入门算法
【破解日期】 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 用户名)与注册码去掉最后一位比较,相等则成功

--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
所上传文件
sn2.rar (上传时间2006-11-19,10:20,17.8 KB,29 次点击)
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有