第一步 查壳
无所谓,直接载入OD
第二步 载入OD
返回反汇编窗口,点击“暂停”后程序停了下来,在点击“工具栏”上的“K”按钮,来到下图的界面:
回到了反汇编窗口,在这一行双击下断点
重新载入程序,F9运行,打开程序,程序在断点处暂停了。
点关闭,F8往下走一步,弹出注册窗口。这是点“是”或点“否”把弹窗关了,再回到反汇编窗口,继续F8,出CALL,返回程序领空。
这时候发现刚跳出的CALL就决定是否弹出注册信息框的关键CALL
那只要找到一个跳转能跳过这个关键CALL,就能达到破解目的。
第三步 寻找跳过关键CALL的跳转
先向上翻找,一直找到段首都没有发现关键跳。
再向下翻找,一直找到段尾依然没找到。那就按F8,继续向下执行,跳出这个CALL
出CALL后,发现右侧出现了注册的弹窗信息。
向上翻找,发现有一个JE跳过了弹窗信息。接下来验证下它是不是关键跳。
第四步 验证关键跳
JE处双击下断,重载程序。F9运行,点关闭。程序停在了断点处。观察JE
修该右侧寄存器窗口的Z标志位,令跳转实现,再按F9运行,发现OD提示程序终止了。说明JE跳过了注册弹窗,程序直接关闭了。
返回头,再把这个JE改成JMP或者干脆NOP掉,保存。破解就完成了。