首页
社区
课程
招聘
[原创]来自B组的声音,奇妙的注册
发表于: 2007-9-8 20:13 1181

[原创]来自B组的声音,奇妙的注册

2007-9-8 20:13
1181
呵呵,周末有空又拿出OD来乱玩一通,发现了一个很好玩的东西。轻点鼠标
就可以实现注册了,究竟是怎么做的呢?

首先,我们用OD随便载入一个程序,这里我用的是一个CRACKME。

好,废话不说直接用OD打开。因为可能是网通线路的问题我这边什么图片都无法显示,所以就不贴图啦兄弟们见谅啊

打开之后来到了这里:
00401000 >  6A 00           push    0                                ; (initial cpu selection)
00401002    E8 23040000     call    <jmp.&kernel32.GetModuleHandleA>
00401007    A3 F0344000     mov     [4034F0], eax
0040100C    50              push    eax
0040100D    E8 13000000     call    00401025
00401012    6A 00           push    0
00401014    E8 0B040000     call    <jmp.&kernel32.ExitProcess>
00401019    6A 00           push    0
0040101B    E8 0A040000     call    <jmp.&kernel32.GetModuleHandleA>
00401020    A3 F0344000     mov     [4034F0], eax

一大片代码,看都看不懂。现在打开字符串参考,找到下面这个提示:
Ultra String Reference, 条目 9
Address=00401345
Disassembly=push    004034B8
Text String= good job, i wish you the very best
双击一下,就来到了对应的代码处。恩,很快就来到了这里:

0040133C   /75 15           jnz     short 00401353
0040133E   |6A 00           push    0
00401340   |68 62344000     push    00403462                         ; key/crackme #2
00401345   |68 B8344000     push    004034B8                         ;  good job, i wish you the very best

看到第一句代码是一个跳转,跳到哪里去了?我们到00401353这里看看

00401353    6A 00           push    0
00401355    68 62344000     push    00403462                         ; key/crackme #2
0040135A    68 86344000     push    00403486                         ;  you have enter a wrong serial, please try again
0040135F    6A 00           push    0

呵呵,搞了半天原来是错误提示。看来没什么特别的,不过我们关心的也不是这里。

回到第一段代码上来:

0040133C   /75 15           jnz     short 00401353
0040133E   |6A 00           push    0
00401340   |68 62344000     push    00403462                         ; key/crackme #2
00401345   |68 B8344000     push    004034B8                         ;  good job, i wish you the very best

注意刚才提到的那个跳转,嗯,就是下面这个
0040133C   /75 15           jnz     short 00401353
我们在这个跳转上设置一个断点,不会设置断点的就跟帖问,在这里就不多说啦

好,设置完了断点,重新载入一下程序。任意输入一组注册名注册码什么123或者321的随大家便

单击确定后,程序肯定就被中断了。

关键的时刻到来了,现在我们关心一下旁边的寄存器窗口,什么。。。那个是寄存器窗口?

嗯,就是右上角的那个窗口,把你面的内容给大家抠出来:
EAX 00000079
ECX 00000000
EDX 00403139 ASCII "21"
EBX 00000019
ESP 0012FC00
EBP 0012FC00
ESI 000025E6
EDI 0012FC7C
EIP 0040133C 123.0040133C
C 1  ES 0023 32位 0(FFFFFFFF)
P 1  CS 001B 32位 0(FFFFFFFF)
A 0  SS 0023 32位 0(FFFFFFFF)
Z 0  DS 0023 32位 0(FFFFFFFF)
S 1  FS 003B 32位 7FFDF000(FFF)
T 0  GS 0000 NULL
D 0
O 0  LastErr ERROR_SUCCESS (00000000)
EFL 00000287 (NO,B,NE,BE,S,PE,L,LE)
MM0           0.0,           0.0
MM1           0.0,           0.0
MM2           0.0,           0.0
MM3           0.0,           0.0
MM4           0.0,           0.0
MM5           0.0,           0.0
MM6           0.0,           0.0
MM7           0.0,           0.0

上边的什么EAX,EBX之类的我们不要管他们,后面的也不管就注意中间的。我们注意这一行

Z 0  DS 0023 32位 0(FFFFFFFF)

在OD 中应该是以红色显示出来的,嗯。最关键的地方到了!

现在单击一下字母Z后面的那个0选中之后再单击鼠标右键,选择“置1”

呵呵,现在再按一下F9看看,是不是弹出了注册成功的提示呢?

轻点鼠标,就直接注册成功了

呵呵,B组的兄弟们都学到了吗?

什么还有A组呢?对了,A组的兄弟们人在哪里呢?不要光学我们的成果呀

呵呵

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
支持B组!

支持B组!

支持B组!

支持B组!

支持B组!

支持B组!
2007-9-8 20:18
0
雪    币: 7906
活跃值: (3086)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
支持下,组长厚道点,别这样,你这样说A组的兄弟会无地自容的。。。。。。。。。。。
2007-9-8 20:18
0
雪    币: 2256
活跃值: (941)
能力值: (RANK:2210 )
在线值:
发帖
回帖
粉丝
4
哎呀,我怎么能这样呢。。。
2007-9-8 20:39
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
呵呵~ 非常方便~
2007-9-8 21:06
0
游客
登录 | 注册 方可回帖
返回
//