首页
社区
课程
招聘
[原创]一个很简单的crackme
发表于: 2006-8-6 16:53 5588

[原创]一个很简单的crackme

jdxyw 活跃值
19
2006-8-6 16:53
5588

【文章标题】: 一个在很简单的crackme
【文章作者】: jdxyw
【作者邮箱】: jdxyw2006@163.com
【软件名称】: keyme2
【软件大小】: 28KB
【下载地址】: 自己搜索下载
【保护方式】: http://www.crackmes.de/users/moofy/moofy
【编写语言】: C++
【使用工具】: PEID OD
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
  首先,用PeiD 查看,无壳
  
  再运行,发现只需要输入一个序列号就可以了。
  
  然后用OD载入,查看字符串。在破解这个软件的时候,我走了很大的一个弯路,本来这个软件是很简单的,只需几分钟就可以
  解决,可是由于经验不足,出了大错。下面就连我的错误一起说下。
  开始,我定位于
  
  00401326  |. C74424 04 0020>MOV DWORD PTR SS:[ESP+4],keyme2.00402000 ; |
  0040132E  |. C70424 1040400>MOV DWORD PTR SS:[ESP],keyme2.00404010   ; |ASCII "××××"
  ………………中间还有许多的无用的代码,省去……
  004015D1  |. 0FAF05 3441400>IMUL EAX,DWORD PTR DS:[404134]
  004015D8  |. 0FAF05 3C41400>IMUL EAX,DWORD PTR DS:[40413C]
  004015DF  |. 69C0 BB010000  IMUL EAX,EAX,1BB
  004015E5  |. A3 24414000    MOV DWORD PTR DS:[404124],EAX
  004015EA  |. C9             LEAVE
  004015EB  \. C3             RETN
  
  原先,我看到这个软件读取本机用户名和机器名,以为这个序列号与每台的机器的信息有关,而且下面又一大段的运算代码,我以为
  在这里有些数学运算。后来才发现,以上代码都是没有的。
  
  下断点到以下代码
  0040162A  |. 894424 04      MOV DWORD PTR SS:[ESP+4],EAX             ; ||
  0040162E  |. C70424 2930400>MOV DWORD PTR SS:[ESP],keyme2.00403029   ; ||ASCII "%d"
  00401635  |. E8 86050000    CALL <JMP.&msvcrt.scanf>                 ; |\scanf                  输入序列号
  0040163A  |. 8B45 FC        MOV EAX,DWORD PTR SS:[EBP-4]             ; |                        假序列号
  0040163D  |. 3B05 24414000  CMP EAX,DWORD PTR DS:[404124]            ; |
  00401643  |. 75 0E          JNZ SHORT keyme2.00401653                ; |
  00401645  |. C70424 2C30400>MOV DWORD PTR SS:[ESP],keyme2.0040302C   ; |ASCII "
Correct :) Write a keygen and tutorial and submit it to crackmes.de
"
  0040164C  |. E8 7F050000    CALL <JMP.&msvcrt.printf>                ; \printf
  00401651  |. EB 0C          JMP SHORT keyme2.0040165F
  
  在几次的调试中,发现EAX中即是我们输入的序列号。而DS:[404124]里的内容却从来不曾改变,于是可以知道,DS:[404124]里面
  就是真的序列号。这个crackme其实就是这么简单。
  
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2006年08月06日 16:51:55


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 7
支持
分享
最新回复 (3)
雪    币: 205
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
简单的办法就是
00401643  |. 75 0E          JNZ SHORT keyme2.00401653               
NOP掉,呵呵
2006-8-6 17:05
0
雪    币: 333
活跃值: (11)
能力值: ( LV12,RANK:770 )
在线值:
发帖
回帖
粉丝
3
呵呵!这是暴力攻击啊
2006-8-6 18:41
0
雪    币: 338
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
2006-8-6 22:28
0
游客
登录 | 注册 方可回帖
返回
//