前言
今天收到了 PETS 口语练习光盘,我想 2022 年了,用光驱的几乎都见不到了吧?将程序提取出来后,发现有光驱验证。但办法总比困难多,今天就来记录下 PETS 光盘程序的破解过程。
步骤
首先,打开程序,提示需要通过光盘启动运行,随后程序退出。
于是我们打开 Ollydbg,附加 Exercise.exe 进程。
查找字符串“本练习软件只能通过光盘启动运行”,定位至 005CBAE6
。
分析汇编码,程序通过 call <Exercise.MessageBox>
显示信息框,随后跳转到 005CBE5D
这个地址。我们先设置断点,拦截 MessageBoxA
函数看看。
调试运行,按 Enter
键跟随,程序跳转至 005CBE5D
。
关闭信息框后,程序运行到 retn 0x8
退出。
查看堆栈,程序调用 ntdll.ZwTerminateProcess
退出。因此,阻止程序跳转到 005CBE5D
这个地址,就可以达到破解光驱的目的。
回到 005CBAF2
,汇编 jmp Exercise.005CBE5D
,用 nop
填充。
保存修改。
右键,选择复制到可执行文件 -> 所有修改。
选择全部复制。
右键,保存文件。
打开修改后的程序,可以看到,弹出信息框后,成功显示出主界面。经测试,所有功能一切正常。至此,PETS 光盘程序破解完成。
注意
破解后的程序首次启动需以管理员身份运行,否则会闪退。
PS
顺便可以修改一下提示信息。
回到 005CBAE6
。
右键,选择数据窗口中跟随 -> 立即数。
修改对应的 ASCII 码即可。
最后看下效果。
大功告成!
下载
请注意,程序仅供学习交流使用,请勿用于非法用途,本人不承担任何责任。
蓝奏云
声明
本文由 Scott Sloan 原创,转载请标明原作者。