题目描述:
主机C:\Reverse\1目录下有一个CrackMe1.exe程序,运行这个程序的时候会提示输入一个密码,当输入正确的密码时,会弹出过关提示消息框,请对CrackMe1.exe程序进行逆向分析和调试,找到正确的过关密码。
试运行
校验账号密码
PEiD查看基本信息
没有加壳,且它是使用VC6编译的
使用olldbg调试
1.进入find ASCII页面
2.尝试搜索刚才出现的“密码错误”
ok,find it
3.双击进入查看
看到了一个jnz跳转指令,这个指令是否跳转将决定着弹出成功的提示还是弹出失败的提示,这样的跳转也就是所谓的关键跳转。在关键跳转之上的代码往往就是关键的密码判断逻辑,因此我们可以着重分析关键跳转之上的代码
程序开头红色处下断点,单步调试,发现此处出现了我们的输入,结合上面出现的字符串,盲猜此处发生了密码比较。
测试发现,成功
IDA静态分析
进入strings页面翻找
按x查交叉引用
f5查看核心代码,很明显,这就是密码