一个简单的CRACKME
日期:2005年4月3日 破解人:yijun———————————————————————————————————————————
【软件名称】:crackme
【软件大小】: 190KB
【软件限制】:Keyfile and Serial/Name
【破解声明】:初学Crack,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!
【破解工具】:OD和W32dasm
———————————————————————————————————————————
【破解过程】:
这是我以前学习过的一个简单的KEYFILE保护例子,现在和大家分享~~~~~~~~~~~
用W32DASM装载程序,先用串式数据参考(String data refs) 检查程序。
你运行crackme时,选择任一文件,则出现:"Invalid Keyfile",因此在W32DASM查找这字符串,双击来到W32DASM中,向上会看到:
* Possible StringData Ref from Code Obj ->"Runtime Error: 12FF:024"
|
:00427DDE BAD07E4200 mov edx, 00427ED0 //打开文件
:00427DE3 E8A0B8FDFF call 00403688 //检测文件
:00427DE8 750C jne 00427DF6 //如果无效的keyword则跳走
:00427DEA C705E8A6420002000000 mov dword ptr , 00000002
:00427DF4 EB67 jmp 00427E5D
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00427DE8(C)
|
:00427DF6 C705E8A6420001000000 mov dword ptr , 00000001//准备nag窗口!
:00427E00 6A00 push 00000000
* Possible StringData Ref from Code Obj ->"Error"
|
:00427E02 68E87E4200 push 00427EE8 //写字符"Invalid Keyfile" 到信息窗口...
* Possible StringData Ref from Code Obj ->"Invalid Keyfile"
你们看到上面的字符串: "Runtime Error: 12FF:024"了吗 ,真有点奇怪?难到是程序的BUG?再激发点灵感,是不是keyfile文件中的Keywords?
试试吧,建一文本文件,把Runtime Error: 12FF:024这一行放进去。运行程序,选择你刚才建的文件,OK,这下没出现错误,成功!现在程序充许你键入name和code。你任意输入点击OK,出现: "Wrong Entry! Try again!"
因此在W32DASM下查找出现的错误,具体如下:
* Possible StringData Ref from Code Obj ->"No way"
|
:0042818A 683C824200 push 0042823C
* Possible StringData Ref from Code Obj ->"Wrong entry! Try again."
向上你会看到:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0042810C(C)
|
:0042811A 8D55F4 lea edx, dword ptr
:0042811D 0FB7C6 movzx eax, si
:00428120 E8E3E1FDFF call 00406308
:00428125 8D55F4 lea edx, dword ptr
:00428128 B903000000 mov ecx, 00000003
:0042812D B804824200 mov eax, 00428204
:00428132 E8CDB6FDFF call 00403804
:00428137 8D55F4 lea edx, dword ptr
:0042813A B905000000 mov ecx, 00000005
:0042813F B804824200 mov eax, 00428204
:00428144 E8BBB6FDFF call 00403804
:00428149 8D95D0FBFFFF lea edx, dword ptr
:0042814F 8B87EC010000 mov eax, dword ptr
:00428155 E8E6D5FEFF call 00415740
:0042815A 8B85D0FBFFFF mov eax, dword ptr
:00428160 8B55F4 mov edx, dword ptr
:00428163 E820B5FDFF call 00403688 //关键CALL
:00428168 751E jne 00428188 //关键跳转
:0042816A 6A00 push 00000000
* Possible StringData Ref from Code Obj ->"Gratulations"
|
:0042816C 6808824200 push 00428208
* Possible StringData Ref from Code Obj ->"Well Done! Try the next CrackMe."
下面再用OD载入,在关键CALL下断点,很容易得到序列号~~~~~~
———————————————————————————————————————————
【Crack_总结】:
关键让大家认识下Keyfile保护~~~~~~~~~~
[ Last edited by yijun on 2005-4-9 at 07:23 PM ] 多学着点
~~~~ 练习一下先 收藏,学习 我下不了,积分太低。 我也是啊! 呵呵,再顶一下,! 不错,支持,顶一下 啊!!!!! 又要积分~~~~~~~~~~~~~~ 我是新手,先练习
页:
[1]