中国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
刚才那个太简单,又来一个,却还是简单
作者:wofan[OCN] 时间:2006-12-14 21:06 出处:pediy.com 责编:月夜寒箫
              摘要:刚才那个太简单,又来一个,却还是简单
还是从http://www.crackmes.de/下载Crackme

注册成功,就听到一首歌,并在Edit中显示:valid Serial!

name:
2656461220   =============0x9E5661A4
code:123456   ------------即0x1E240
真注册码:3679971919 ---0xDB57EA4F

0040394B    FF15 4C214300      call dword ptr ds:[<&USER32.GetDlgI>; USER32.GetDlgItemInt
00403951    A3 E8574400        mov dword ptr ds:[4457E8],eax       ; 假注册码的十六进制形式:1E240
00403956    68 40420F00        push 0F4240
0040395B    6A 64              push 64
0040395D    E8 FEFDFFFF        call Keygenme.00403760              ; 关键Call,F7跟进
00403962    83C4 08            add esp,8
00403965    A3 FC574400        mov dword ptr ds:[4457FC],eax       ; 假注册码:1E240
0040396A    8B15 E8574400      mov edx,dword ptr ds:[4457E8]       ; 真注册码:DB57EA4F
00403970    3B15 EC574400      cmp edx,dword ptr ds:[4457EC]       ; 比较
00403976    74 16              je short Keygenme.0040398E
00403978    68 9C2A4300        push Keygenme.00432A9C              ; ASCII "Wrong Serial!"


跟踪发现,软件在按确认按钮之前,就写入了真正的注册码!
于是:
OD载入,对004457EC下内存写入断点,F9运行,断下。

00403810    55                 push ebp-------------在这里重新下断,看它怎么算出要写入的数据。
00403811    8BEC               mov ebp,esp
00403813    83EC 3C            sub esp,3C
00403816    833D E4574400 00   cmp dword ptr ds:[4457E4],0
0040381D    75 35              jnz short Keygenme.00403854
0040381F    C705 E4574400 0100>mov dword ptr ds:[4457E4],1
00403829    A1 04584400        mov eax,dword ptr ds:[445804]       ; 系统自动生成的注册名ID的16进制形式
/////////////////////////////////////////////////////////////////
ds:[00445804]=9E5661A4---------程序生成的注册ID 的16进制形式
/////////////////////////////////////////////////////////////////
00403829    A1 04584400        mov eax,dword ptr ds:[445804]       
0040382E    6BC0 03            imul eax,eax,3                      ; 乘3
00403831    A3 04584400        mov dword ptr ds:[445804],eax       ; 保存:DB0324EC
00403836    8B0D 04584400      mov ecx,dword ptr ds:[445804]
0040383C    81C1 63C55400      add ecx,54C563                      ; 加上0x54C563
00403842    890D 04584400      mov dword ptr ds:[445804],ecx       ; 保存:DB57EA4F
00403848    8B15 04584400      mov edx,dword ptr ds:[445804]
0040384E    8915 EC574400      mov dword ptr ds:[4457EC],edx---------断在这儿

=============================================================
通过内存断点大法,可以找到:根据C 盘序列号算出的注册ID号过程在这里:
004312E1    8BEC               mov ebp,esp
004312E3    E8 081AFDFF        call Keygenme.00402CF0
004312E8    0FAF05 FC574400    imul eax,dword ptr ds:[4457FC]
004312EF    A3 F8574400        mov dword ptr ds:[4457F8],eax
004312F4    5D                 pop ebp
004312F5    C3                 retn
============================================================


靠,依旧简单!
ID * 3 + 0x54C563  就是注册码。


21:25 2006-10-2
by wofan[OCN][PYG][DCG]
所上传文件
keygenme-now-sd333221.zip (上传时间2006-10-02,21:48,261.9 KB,22 次点击)
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有