您的位置:首页 > 其它

简单逆向分析使用案例(1)--CrackMe_00.exe 找出密码

2015-12-13 18:49 495 查看
环境:

win7 旗舰版 x64

OD2.01

PEiD0.95

使用资源
http://download.csdn.net/detail/obuyiseng/9351217 中的 CrackMe_00.exe

技巧:

使用OD中的栈回溯。



第一步:简单测试。

随便输入点击确定,发现弹出对话框,那么我们就可以确定,程序里面含有MessageBox函数。



第二步:使用PEiD查看程序信息。



通过上面的信息,我们猜测该程序是使用的VS2013编写,并且是Debug版本。

备注:

vs2015 -- 14 vs2013 -- 12vs2012 -- 11vs2010 -- 10 vs2008 --?? vs2005--??vc++6.0--6.0

不过这都只是参考而已。

我们接下来可以查看下子系统,内容如下:



我们在输入表中发现了MessageBoxA()。

第三步:进入OD调试

1、将程序拖入OD中,并打断点 BP MessageBoxA ----注意大小写



2、查看是否有存在1中打的断点



3、按C进行返回,并点击运行。弹出程序窗口,并进行任意输入,并点击确定。程序会在MessageBoxA函数处进行断住。

4、点击堆栈窗口中的栈顶回车,进入到CPU窗口,此时CPU窗口就是MessageBoxA调用后栈中压入的返回值。



5、在 00FC14D4地址往上看,发现了MessageBoxA。再往上看就发现了,弹出框中的文本“Err code” 和 正确的文本“Good”。



6、我们要想得到正确的信息,就需要查看文本"Good"的上面的信息。



在提示的注释处,发现有strcmp函数,该函数是比较两个文本是否相等。"1111"是我们自己写的,那么"HackAv"应该就是我们要找的密钥。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: