Crackme_1

工具

OD调试器

步骤

把crackme拖进OD中打开,首先第一步我们要寻找弹出注册失败的信息框的内存地址(所对应的aip函数是MessageboxA),先点击运行

然后在crackme软件里找到注册的窗口,随便输入数字后点击注册,会出现注册失败的信息框提示

image-20220507103128960

随后在OD点击暂停,然后点击K(调用堆栈),寻找messageboxA函数,也就是我们的注册失败信息框, 然后双击跳转到汇编窗口里对应的内存地址

image-20220507103742887
image-20220507103749245

在弹出信息框的下面retn下断点,随后点击执行程序,在汇编窗口可以发现在retn处程序被断掉了

一步一步按F8单步补过,寻找关于注册成功的信息

image-20220507104556816

找到有关注册成功的信息后, 在汇编窗口往上拖寻找函数头部并下断点

点击执行程序,再次输入注册码点击注册,此时会发现程序卡住了,没有跳出注册失败的信息框,这就代表着一个信息,判断注册码是否正确的函数被OD断掉了

image-20220507105131535

转到OD汇编窗口,继续按F8,发现有个JCC(jnz)指令使程序直接跳过了"注册成功"

我们将jnz指令给它nop填充,这样程序就不会跳转,从而继续往下执行"注册成功"的相关操作

image-20220507105851143

继续按F8往下执行, 随后会出现注册成功的信息框

image-20220507110153516

最后更新于