前言今天收到了 PETS 口语练习光盘,我想 2022 年了,用光驱的几乎都见不到了吧?将程序提取出来后,发现有光驱验证。但办法总比困难多,今天就来记录下 PETS 光盘程序的破解过程。步骤首先,打开程序,提示需要通过光盘启动运行,随后程序退出。于是我们打开 Ollydbg,附加 Exercise.exe 进程。查找字符串“本练习软件只能通过光盘启动运行”,定位至 005CBAE6。分析汇编码,程序通过 call <Exercise.MessageBox> 显示信息框,随后跳转到 005CBE5D 这个地址。我们先设置断点,拦截 MessageBoxA 函数看看。调试运行,按 Enter 键跟随,程序跳转至 005CBE5D。关闭信息框后,程序运行到 retn 0x8 退出。查看堆栈,程序调用 ntdll.ZwTerminateProcess 退出。因此,阻止程序跳转到 005CBE5D 这个地址,就可以达到破解光驱的目的。回到 005CBAF2,汇编 jmp Exercise.005CBE5D,用 nop 填充。保存修改。右键,选择复制到可执行文件 -> 所有修改。
Scott Sloan