Crackme_1
最后更新于
最后更新于
OD调试器
把crackme拖进OD中打开,首先第一步我们要寻找弹出注册失败的信息框的内存地址(所对应的aip函数是MessageboxA),先点击运行
然后在crackme软件里找到注册的窗口,随便输入数字后点击注册,会出现注册失败的信息框提示
随后在OD点击暂停,然后点击K(调用堆栈),寻找messageboxA函数,也就是我们的注册失败信息框, 然后双击跳转到汇编窗口里对应的内存地址
在弹出信息框的下面retn下断点,随后点击执行程序,在汇编窗口可以发现在retn处程序被断掉了
一步一步按F8单步补过,寻找关于注册成功的信息
找到有关注册成功的信息后, 在汇编窗口往上拖寻找函数头部并下断点
点击执行程序,再次输入注册码点击注册,此时会发现程序卡住了,没有跳出注册失败的信息框,这就代表着一个信息,判断注册码是否正确的函数被OD断掉了
转到OD汇编窗口,继续按F8,发现有个JCC(jnz)指令使程序直接跳过了"注册成功"
我们将jnz指令给它nop填充,这样程序就不会跳转,从而继续往下执行"注册成功"的相关操作
继续按F8往下执行, 随后会出现注册成功的信息框