我有另一个破解方法:
把 00406138 改成nop
把 00401272 改成jmp short 00401298
首先,我是初学者,这个程序是我的第一个crack(疑似)成功作品。你的算法我实在不知道在哪里看,通过ollydbg粗糙分析了你的代码(而且挺长时间的),代码拷贝到了一开始用virtualalloc开的内存中,然后在判断时调转到这段代码执行,由于这段代码是动态生成(或者说会有个东西一直更新它,初步猜测应该是那几个Timer),每次修改地址为00BXXXXX(忘了),都会在下一次按check时被搞回来。大胆猜测这段代码应该在程序中有一个位置是作为源来拷贝的,所以就找到了00406138,把它改掉。
回来的时候发现还有一个地方老是会跳转到失败的那个对话框,中间那句话00401276无论是改成je还是jnz似乎都不行。索性把他前面的一个语句00401272的jmp short 00401293 改成了 jmp short 00401298。