打开目标软件, 提示需要密码, 我们直接点击 OK
, 显示 Password Wrong
, 输入密码, 还是显示 Password Wrong
, 我们记下这个信息.

OD 载入程序
CPU 窗口 智能搜索
查找刚才的错误信息Password Wrong
双击进入其所在的代码
看到这个字符串上面正好有个跳转, 并且这个跳转越过了这个字符串

我们在这个跳转这里下个断点, 然后运行, 随便输个密码
程序断在了这个跳转这里, 并且跳转未实现, 只有程序执行到这里了, OD 才能判断跳转是否实现
分析代码, 这个跳转未实现, 程序就会执行错误信息Password Wrong
, 如果这个跳转实现了, 跳过了这个错误信息, 那么是否有可能会提示正确信息呢 ?

我们 F8 单步, 程序提示密码错误, 我们接下来尝试修改这里的跳转
F9 运行, 让程序断在断点
我们修改 ZF 标志位为 1, 让这个跳转实现, 我们 F9 运行

这时候我们已经登录成功了, 这说明刚才那个是一个关键跳转

我们现在回到刚才的断点, 修改这个跳转指令, 重新载入再运行

我们直接把这个 je
指令改成 jmp
指令, 让它强制跳转, 然后右键保存

打开破解后的软件, 直接点击OK
, 发现可以登录, 至此我们的破解工作大功告成~