【每日一个小程序】crackme之008

从最简单的开始来,先查一下壳,发现没有壳

【每日一个小程序】crackme之008_第1张图片

OD打开程序,先运行,弹出信息框不用关,切换到OD界面按F12暂停程序,然后Alt+k,百度一下msvbvm50 user32发现是vb程序找到两个信息框,一个在00401EA9,一个在740CEE19,程序入口是00401000,00401EA9离得比较近,应该就是这个弹框了,右键显示调用(show call)

【每日一个小程序】crackme之008_第2张图片

附近发现弹出眼熟的字样

【每日一个小程序】crackme之008_第3张图片

再往上查查发现successful字样

【每日一个小程序】crackme之008_第4张图片

在00401D9D处发现关键je跳转,直接nop掉发现成功

【每日一个小程序】crackme之008_第5张图片

但是ctf中我们需要的是找到正确的注册码算法,继续分析,重新加载程序,往上找retn的时候发现入口点

【每日一个小程序】crackme之008_第6张图片

下断点F8单步步过,

【每日一个小程序】crackme之008_第7张图片

首次发现输入的数据  123456 在00401D70处出现,ecx=123456,放入栈中,接着放入SynTax 2oo1,接下来是一个call,名字里有strcmp,应该是比较函数,结果放到eax中,eax=-1,应该SynTax 2oo1就是注册码了,输入SynTax 2oo1后再看此处的eax就变为0了,发现正确

你可能感兴趣的:(【每日一个小程序】crackme之008)