您的位置:首页 > 其它

破解 keyme2程序(固定明码比较)

2016-01-07 10:28 218 查看
系统 : Windows xp

程序 : keyme2

程序下载地址 :http://pan.baidu.com/s/1pKqlHiF

要求 : 找出序列号

使用工具 : IDA Pro & OD

可在“PEDIY CrackMe 2007”中查找关于此程序的破文,标题为“一个很简单的crackme”。

运行程序,发现这是一个没有图形用户界面的小程序,验证方式为输入序列号。使用IDA载入程序,在字符串表找出“\nTry again!\n”的位置,并定位判断算法关键位置。本程序中,用OD在00401622处下断点:

0040161B  |.  C70424 003040>mov     dword ptr [esp], 00403000        ; |||ASCII "moofy's keyme #2",LF,"Very simple :)",LF,LF,"Enter: "
00401622  |.  E8 A9050000   call    <jmp.&msvcrt.printf>             ; ||\printf
00401627  |.  8D45 FC       lea     eax, dword ptr [ebp-4]           ; ||
0040162A  |.  894424 04     mov     dword ptr [esp+4], eax           ; ||
0040162E  |.  C70424 293040>mov     dword ptr [esp], 00403029        ; ||ASCII "%d"
00401635  |.  E8 86050000   call    <jmp.&msvcrt.scanf>              ; |\scanf
0040163A  |.  8B45 FC       mov     eax, dword ptr [ebp-4]           ; |
0040163D  |.  3B05 24414000 cmp     eax, dword ptr [404124]          ; |
00401643  |.  75 0E         jnz     short 00401653                   ; |
00401645  |.  C70424 2C3040>mov     dword ptr [esp], 0040302C        ; |ASCII LF,"Correct :) Write a keygen and tutorial and submit it to crackmes.de",LF
0040164C  |.  E8 7F050000   call    <jmp.&msvcrt.printf>             ; \printf
00401651  |.  EB 0C         jmp     short 0040165F
00401653  |>  C70424 723040>mov     dword ptr [esp], 00403072        ; |ASCII 0A,"Try again!"
0040165A  |.  E8 71050000   call    <jmp.&msvcrt.printf>             ; \printf
0040165F  |>  C70424 7F3040>mov     dword ptr [esp], 0040307F        ; |ASCII "PAUSE"
00401666  |.  E8 45050000   call    <jmp.&msvcrt.system>             ; \system
0040166B  |.  B8 00000000   mov     eax, 0
00401670  |.  C9            leave
00401671  \.  C3            retn


单步跟踪过一遍流程可知,程序将位于[404124]处的固定值作为程序的序列号,需要用户输入一个十进制的字串并与其对比。完全匹配即可。此处跟入内存发现其值为:10427410,转化为十进制则是:272790544。

效果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: