toker 发表于 2009-7-3 20:00:44

ncrackme的破解

我是刚学破解,感觉很有趣,包括免杀
随着破解及免杀的学习,它们的神秘面
纱逐步揭开。这是我破解的第3个crackme
l love crackme
看了以后有什么问题,到我论坛可看到
更详细的,http://toker.l4rge.com/
-----------------------------------------------------------------------
【文章标题】: ncrackme的破解
【文章作者】: toker
【作者邮箱】: toker@sina.com
【作者QQ号】: 512766594
【软件名称】: ncrackme
【下载地址】: www.pediy.com
【保护方式】:无
【使用工具】: od
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
我首先看看他的注册信息,随便输入一个
提示registration fail,显然注册失败
不过我知道了registration fail
我用od载入cm
找到了这个registration fail
往上移几行,看到registration successful
左边的代码是这样的
00401072      90            nop
00401072   /75 1B         jnz   short 0040108F    这里是关键


00401074   .A1 B8564000   mov   eax, dword ptr           ; |
00401079   .68 64504000   push    00405064                         ; |Text = "Registration successful."
0040107E   .50            push    eax                              ; |hOwner => NULL
0040107F   .FF15 C0404000 call    dword ptr [<&USER32.MessageBoxA>>; \MessageBoxA
00401085   .E8 A6020000   call    00401330
0040108A   .33C0          xor   eax, eax
0040108C   .C2 1000       retn    10
0040108F   >8B0D B8564000 mov   ecx, dword ptr           ; |
00401095   .68 50504000   push    00405050                         ; |Text = "Registration fail."
0040109A   .51            push    ecx                              ; |hOwner => NULL
0040109B   .FF15 C0404000 call    dword ptr [<&USER32.MessageBoxA>>; \MessageBoxA
004010A1   .33C0          xor   eax, eax
004010A3   .C2 1000       retn    10
这里有一个跳,在00401072 处,可能是个判断,fail和successful两个选择
我把他换成nop,运行一下,成功了


-----------------------------------------------------------------------------
页: [1]
查看完整版本: ncrackme的破解