首页
社区
课程
招聘
[旧帖] 读CCDebuger的OllyDBG 入门系列(五)后 0.00雪花
发表于: 2010-1-7 05:20 2100

[旧帖] 读CCDebuger的OllyDBG 入门系列(五)后 0.00雪花

2010-1-7 05:20
2100
我早就注册了看雪的号了!一直没空来!
刚来论坛3天~~呵呵!看了CCDebuger大侠的OllyDBG 入门系列(五)的文章!具体怎样的我也模糊!!
自己拿了cycle.exe文件来破了!进入主题:
把cycle.exe载入OD,按F9让程序运行。在Name,Serial编辑框随便输入:


再按Alt+M键,来到内存映射窗口:


我们在DATA数据段按F2键下断


然后在按程序的Check按钮,OD断下来了。


往下看看是不是就到了CCDebuger的OllyDBG 入门系列(五)的数据分析那里呀!

啊哈!!下面引用CCDebuger老师的分析:

004010E2 |. 8BFE             MOV EDI,ESI                                         ; 用户名送 EDI
004010E4 |. 03F8             ADD EDI,EAX
004010E6 |. FC               CLD
004010E7 |. F3:A4            REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]
004010E9 |. 33C9             XOR ECX,ECX                                         ; 清零,设循环计数器
004010EB |. BE 71214000      MOV ESI,cycle.00402171                              ; 注册码送ESI
004010F0 |> 41               INC ECX
004010F1 |. AC               LODS BYTE PTR DS:[ESI]                              ; 取注册码的每个字符
004010F2 |. 0AC0             OR AL,AL                                            ; 判断是否为空
004010F4 |. 74 0A            JE SHORT cycle.00401100                             ; 没有则跳走
004010F6 |. 3C 7E            CMP AL,7E                                           ; 判断字符是否为非ASCII字符
004010F8 |. 7F 06            JG SHORT cycle.00401100                             ; 非ASCII字符跳走
004010FA |. 3C 30            CMP AL,30                                           ; 看是否小于30H,主要是判断是不是数字或字母等
004010FC |. 72 02            JB SHORT cycle.00401100                             ; 小于跳走
004010FE |.^ EB F0           JMP SHORT cycle.004010F0
00401100 |> 83F9 11          CMP ECX,11                                          ; 比较注册码位数,必须为十进制17位
00401103 |. 75 1A            JNZ SHORT cycle.0040111F
00401105 |. E8 E7000000      CALL cycle.004011F1                                 ; 关键,F7跟进去
0040110A |. B9 01FF0000      MOV ECX,0FF01
0040110F |. 51               PUSH ECX
00401110 |. E8 7B000000      CALL cycle.00401190                                 ; 关键,跟进去
00401115 |. 83F9 01          CMP ECX,1
00401118 |. 74 06            JE SHORT cycle.00401120
0040111A |> E8 47000000      CALL cycle.00401166                                 ; 注册失败对话框
0040111F |> C3               RETN
00401120 |> A1 68214000      MOV EAX,DWORD PTR DS:[402168]
00401125 |. 8B1D 6C214000    MOV EBX,DWORD PTR DS:[40216C]
0040112B |. 33C3             XOR EAX,EBX
0040112D |. 3305 82214000    XOR EAX,DWORD PTR DS:[402182]
00401133 |. 0D 40404040      OR EAX,40404040
00401138 |. 25 77777777      AND EAX,77777777
0040113D |. 3305 79214000    XOR EAX,DWORD PTR DS:[402179]
00401143 |. 3305 7D214000    XOR EAX,DWORD PTR DS:[40217D]
00401149 |.^ 75 CF           JNZ SHORT cycle.0040111A                             ; 这里跳走就完蛋
0040114B |. E8 2B000000      CALL cycle.0040117B                                  ; 注册成功对话框

我们知道0040114B处是最重要的
0040114B |. E8 2B000000      CALL cycle.0040117B                               ; 注册成功对话框

我在想我直接调用这个CALL不就直接来到注册成功对话框了吗??二话不说马上分析CALL!(小弟之前弄过外挂写CALL的~~嘻嘻。。
进入CALL内部:
0040117B  /$  6A 00         PUSH 0                                   ; /Style = MB_OK|MB_APPLMODAL
0040117D  |.  68 12214000   PUSH cycle.00402112                      ; |Title = "Wow!"
00401182  |.  68 17214000   PUSH cycle.00402117                      ; |Text = "Congratulations!\nWrite a tutorial/keygen an send it to cW_6556@yahoo.com"
00401187  |.  FF75 08       PUSH DWORD PTR SS:[EBP+8]                ; |hOwner
0040118A  |.  E8 2E010000   CALL <JMP.&USER32.MessageBoxA>           ; \MessageBoxA
这里我们知道这个CALL需要EBP寄存器的值。
在CALL内部按F8单步走!注意观察EBP的值。步过00401187  |.  FF75 08       PUSH DWORD PTR SS:[EBP+8]  
这句后发现EBP的值一直没变!我们记下EBP=0012FB70
关掉OD!
到这里我们已经分析完了!下面开始调用这个CALL看看!
---------------------------------------------------------------------------------------------------

打开汇编注入器,写入代码:
mov ebp,0012FB70
CALL 0040117B

选上程序cycle.exe的进程!最后按CreateRemoteThread按钮注入代码!


哈哈哈!!这算爆破不???哥哥姐姐们指点一下!!我刚来没什么基础!

衷心感谢CCDebuger老师!!

应看学10周年!祝看雪越办越好~~

支持看雪支持中国软件!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
呜呜~~~~~~~终于写完咯!!

这是我在看雪的第一编文章!!
2010-1-7 05:32
0
雪    币: 50
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
帮你支持一下
2010-1-7 07:55
0
雪    币: 129
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
新来的学习一下
2010-1-7 09:08
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5

没人顶!!!

2010-1-7 22:07
0
雪    币: 2362
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
好好学英语吧
暴破失败!
2010-1-7 22:39
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
暂时还看不懂    得努力学习了。。。

支持楼主。。。
2010-1-8 12:08
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
                          
2010-1-10 01:00
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
楼主那个“汇编注入器”强啊。网上找了一下,没找到。能否传上来?
2010-1-17 01:22
0
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
gzl
10
支持一下~~~
2010-1-17 07:52
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
学习了,支持一下
2010-1-17 20:14
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
要汇编注入器???
找我要嘛!可以给你!!
我QQ:330194073
2010-1-18 00:03
0
雪    币: 96
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
不错,,学习学习。。谢谢分享
2010-1-18 13:00
0
游客
登录 | 注册 方可回帖
返回
//