这是一个简单的Crack小程序

第一步,老样子,查壳等获取信息

[附加]CrackMe之大牛的程序_测试用例

[附加]CrackMe之大牛的程序_反汇编_02

运行一次程序,大概看看是什么个流程,然后拖入OD看一下。

[附加]CrackMe之大牛的程序_信息安全_03

获取报错信息,然后根据报错在只能搜索中所有上诉报文出现的字符串。

[附加]CrackMe之大牛的程序_寄存器_04

在00440F27下断点,在反汇编窗口我们可以看到,如果在这里会调用一个函数,返回值将直接决定是否登录成功,若登录失败程序会直接报错。如下图是我们的测试用例

[附加]CrackMe之大牛的程序_寄存器_05

我们开始运行程序,停止在断点处,我们在运行到00440F34时,我们F7单步步入,看一看系统领空中是如何进行判断的。如下图是步入后的系统领空反汇编窗口。我们可以很清晰的看到,这里做了一个cmp,比较值是eax,也就是我们的测试用例Test,另一个是edx,根据寄存器窗口,得知是:Registered User,如果输入的值与edx相等,则返回成功,所以我们得知了edx是Registered User。然后我们ctrl +F9返回程序领空。来继续判断密码输入什么。

[附加]CrackMe之大牛的程序_信息安全_06

我们单步步过,直到00440F51,我们看到了和账号获取一样的反汇编语句,同时寄存器中出现了我们的输入,我们猜测下边的字符串就是真实的密码,现在我们F7步入这个函数看看。

[附加]CrackMe之大牛的程序_反汇编_07

现在我们步入了函数,和我们的猜想是一模一样的。如下图

[附加]CrackMe之大牛的程序_测试用例_08

这样我们就获取到了账号:Registered User 密码:GFX-754-IER-954,我们重启OD,输入得到的账号密码,验证一下是否成功。

[附加]CrackMe之大牛的程序_测试用例_09

这样,我们就完成了这个CrackME3,完美!

希望大家可以学到一些东西。