首页
社区
课程
招聘
[原创]zpd的crackme分析
发表于: 2007-6-3 04:41 11428

[原创]zpd的crackme分析

2007-6-3 04:41
11428

【破文标题】zpd的crackme分析
【对  象】初入门的新手
【下载地址】 crackme.rar
【破解工具】OD
【保护方式】序号
【破文作者】不懂算法
【破解声明】我很菜,写这篇东西是给刚入门的兄弟,高手请飘过
【备  注】老手勿看,别浪费你的时间
【电  邮】wzlei0409@gmail.com
【破解过程】
用OD加载crack1.exe,如下图

可以看得出来代码很有规律,而且有一个控制台窗口,所以这是一个没有加壳的WIN32控制台程序,对于控制台程序的输入输出,一般是scanf和printf,我们看看这个crackme调用了那些程序,在代码窗口单击右键,选择查找->所有模块间的调用,如下图。

可以看到所有该程序调用的,当然这是由于没有加壳,所以比较规律,我们找到scanf,只有一个scanf,说明程序只在一处调用的scanf来获取用户输入。

双击scanf就可以跳到程序调用scanf的位置,如下图

稍微分析一下这个循环,大概代码是
for(int i=0;i<=7;i++)
{
        scanf(inputbuf[i]);
}
在scanf出按F2下断点,再按F9执行程序,程序断在scanf这一行,再按F8执行过scanf这个函数,但是scanf必须要有用户输入才会返回的函数,所以OD里面执行不到下一行,这时候我们在命令行窗口输入8个字符(我们已经知道程序只接收8个字符了),然后按回车键

这时候看OD里面程序已经执行到下一行代码,说明scanf已经接收到1个字符了,F8到循环结束,或者选中004015B0这一行,然后按F4。
执行到004015B3这一行,可以看到程序比较我们输入的第一位跟初始字符串的第12位’y’比较

往下执行到004015C5,如下图

按F7进入函数00401480

执行到004014B6,这个跳是肯定跳的

执行到返回,进入004014D4这个CALL

这个CALL重新验证了刚才的比较,如果发现不正确就跳转到失败。

往下面类似的比较还有7处,一共8次,分别验证用户输入的第1、2、3、4、5、6、7、8跟初始字符(2qd1uep3i9lycb3s7fkm8axow0))的第12、16、19、2、10、21、24、9位
即‘y’,‘s’,‘k’,‘q’,‘9’,‘8’,‘o’,‘i’ “yskq98oi”
执行到下面的跳转

我们跟随进关键CALL 3

成功通过验证的话执行到下面

跟进关键CALL4,其实就是printf错误信息的函数


【总结】
经过上面的分析,我们知道能得到成功信息的字符串是“yskq98oi”,但是我们上面也分析过了,该crackme只取输入字符串的8位并做判断,对8位以后的不做判断,所以我们只要前8位是“yskq98oi”后面可以跟任意位数的任意字符。


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

上传的附件:
收藏
免费 7
支持
分享
最新回复 (18)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
新手学习中。。
2007-6-3 13:18
0
雪    币: 319
活跃值: (2459)
能力值: ( LV12,RANK:980 )
在线值:
发帖
回帖
粉丝
3
支持一下
2007-6-3 13:35
0
雪    币: 244
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
很不喜欢WIN32控制台程序,不漂亮... 不过还是得支持楼主
2007-6-3 14:32
0
雪    币: 424
活跃值: (10)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
5
看这些图``楼主很辛苦哇``
2007-6-3 14:47
0
雪    币: 202
活跃值: (77)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
为了大家辛苦点是值得的
2007-6-3 15:01
0
雪    币: 200
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
7
图文并茂,经典呀!菜鸟我也要加油,努力得到篇精才行了!
2007-6-3 15:02
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
楼上的你有精华的时候,我也要努力搞篇出来凑数
2007-6-3 15:09
0
雪    币: 200
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
9
嗯,我们两个菜鸟一起加油、努力吧!
2007-6-3 15:15
0
雪    币: 405
活跃值: (10)
能力值: ( LV9,RANK:1130 )
在线值:
发帖
回帖
粉丝
10
嘿嘿,支持下楼主。辛苦了
2007-6-3 16:49
0
雪    币: 207
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
11
高手啊...学习
2007-6-3 17:08
0
雪    币: 461
活跃值: (93)
能力值: ( LV9,RANK:1170 )
在线值:
发帖
回帖
粉丝
12
楼主辛苦了,支持!
2007-6-3 20:07
0
雪    币: 241
活跃值: (35)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
13
支持,太详细了,还有图可以看。
2007-6-4 02:49
0
雪    币: 164
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
佩服,佩服……
要我就做不到
2007-6-4 08:48
0
雪    币: 926
活跃值: (387)
能力值: (RANK:500 )
在线值:
发帖
回帖
粉丝
15
为啥你这快就是普通会员了  
我还是初级会员???不能发消息啊
2007-6-4 08:59
0
雪    币: 333
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wan
16
学习了,发贴也辛苦了
2007-6-4 10:31
0
雪    币: 325
活跃值: (97)
能力值: ( LV13,RANK:530 )
在线值:
发帖
回帖
粉丝
17
搂主得OD 界面真变态哈。
2007-6-4 15:55
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
支持楼主!!!
2007-6-25 18:05
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
这才是适合偶们菜鸟的,详细的分析,图文并冒,楼主谢谢你,辛苦啦,希望以后多多给我们菜鸟这样的教程啊
2007-8-31 12:23
0
游客
登录 | 注册 方可回帖
返回
//