这是一个简单的Crack小程序
第一步,老样子,查壳等获取信息
运行一次程序,大概看看是什么个流程,然后拖入OD看一下。
获取报错信息,然后根据报错在只能搜索中所有上诉报文出现的字符串。
在00440F27下断点,在反汇编窗口我们可以看到,如果在这里会调用一个函数,返回值将直接决定是否登录成功,若登录失败程序会直接报错。如下图是我们的测试用例
我们开始运行程序,停止在断点处,我们在运行到00440F34时,我们F7单步步入,看一看系统领空中是如何进行判断的。如下图是步入后的系统领空反汇编窗口。我们可以很清晰的看到,这里做了一个cmp,比较值是eax,也就是我们的测试用例Test,另一个是edx,根据寄存器窗口,得知是:Registered User,如果输入的值与edx相等,则返回成功,所以我们得知了edx是Registered User。然后我们ctrl +F9返回程序领空。来继续判断密码输入什么。
我们单步步过,直到00440F51,我们看到了和账号获取一样的反汇编语句,同时寄存器中出现了我们的输入,我们猜测下边的字符串就是真实的密码,现在我们F7步入这个函数看看。
现在我们步入了函数,和我们的猜想是一模一样的。如下图
这样我们就获取到了账号:Registered User 密码:GFX-754-IER-954,我们重启OD,输入得到的账号密码,验证一下是否成功。
这样,我们就完成了这个CrackME3,完美!
希望大家可以学到一些东西。