第一期 02 JMP 法破解

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

错误提示

OD 载入程序

CPU 窗口 智能搜索

查找刚才的错误信息Password Wrong

双击进入其所在的代码

看到这个字符串上面正好有个跳转, 并且这个跳转越过了这个字符串

可疑的跳转

我们在这个跳转这里下个断点, 然后运行, 随便输个密码

程序断在了这个跳转这里, 并且跳转未实现, 只有程序执行到这里了, OD 才能判断跳转是否实现

分析代码, 这个跳转未实现, 程序就会执行错误信息Password Wrong, 如果这个跳转实现了, 跳过了这个错误信息, 那么是否有可能会提示正确信息呢 ?

这个跳转未实现

我们 F8 单步, 程序提示密码错误, 我们接下来尝试修改这里的跳转

F9 运行, 让程序断在断点

我们修改 ZF 标志位为 1, 让这个跳转实现, 我们 F9 运行

修改标志位

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

程序登录进去了

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

强转

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

搞定~

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