一大片代码,看都看不懂。现在打开字符串参考,找到下面这个提示:
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