小甲鱼OD学习第19讲

 

这次我们的任务是破解这个需要特定注册码的软件,如下图所示

 

然后关闭软件的时候,软件会出现提示过期的对话框,如下图所示

 

这个时候我们还是打算从对话框入手,我们先观察软件的资源,如下图所示,我们找到了这个提示过期的对话框

 

然后,我们把程序放进OD,点击  所有命令,输入push  0x64,0x64是十进制的100的16进制

 

 

把搜索到的push 0x64全部下断点,如下图所示

 

 

最后我们通过一个个尝试,找到了提示过期的那个对话框,如下图所示

经过观察,我们可以得知0040670B代码是判断是否注册的函数,并且eax的值很有可能影响了程序的走向,我们下断点,如下图所示

 

再次运行程序, 程序断在0040670B处,如下图所示

 

 

接着,我们进入到这个函数的内部,发现最后0043174E赋值给eax,我们可以从这里入手,如下图所示

 

但是由于修改一行代码,剩下的代码都被修改,所以我们使用inline patch 的形式,如下图所示

 

这个要修改的代码,如下图所示

 

最后,我们用 所有修改 保存,运行程序,发现破解成功!

 

posted on 2018-02-22 17:13  孙悟空son_ku_kong  阅读(182)  评论(0编辑  收藏  举报

导航