灰儿 发表于 2021-9-12 10:32:44

使用OllyDBG(OD)反汇编破解只能在光盘里运行的程序

江苏省中小学免费语音教材光盘版(三年级至六年级)光盘镜像文件拷贝到硬盘后,双击根目录下的START.EXE程序文件,提示“该文件请在光盘上使用。”



先使用外壳识别与分析工具PEiD打开,显示编程语言为   Microsoft Visual C++ 6.0 ,没有加壳。应该很好破解。



再使用吾爱破解专用版 OllyDBG 反汇编破解此 PLAYER.exe程序
一、先分别单步步过(F8)和单步步入(F7)调试PLAYER.exe程序

1.在光驱中运行 PLAYER.exe 程序,单步步过(F8)至 0042351C 地址处,出现播放界面;拷贝到硬盘中运行 PLAYER.exe 程序,单步步过(F8)至0042351C 地址处,提示:该文件请在光盘上使用。



2.在光驱中运行 PLAYER.exe 程序,单步步入(F7)至 759EC552 地址处,出现播放界面;拷贝到硬盘中运行 PLAYER.exe 程序,单步步入(F7)至759EC552 地址处,提示:该文件请在光盘上使用。


二、搜索关键词“CDROM和光盘”,设置关键断点。
1.用OllyDBG(OD)载入,在反汇编面板中右键菜单,选择[中文搜索引擎] =>[搜索ASCII] ,输入“cdrom”,就会看到“onlyCDROM”的字符串,双击跟踪到汇编代码处。



2.数据面板 右键菜单转到=>表达式(Ctrl+G)可以打开地址窗口





3.经过多次调试分析,在关键字符“CDROM”和“光盘”两个地址间有一个“je”条件跳转指令,把此处的地址0040E2BD 设置为断点,运行到断点 0040E2BD 然后修改寄存器 Z 0 为 Z 1,即可跳过请在光盘上使用错误提示,弹出播放界面。

注:je是条件跳转,满足条件就跳转,不满足就不跳转





4.运行到断点 0040E2BD 然后修改寄存器 Z 0 为 Z 1,再单步步过(F8),会直接跳转到 0040E308地址处,即可跳过请在光盘上使用错误提示,弹出播放界面。



三、修改源代码,实现软件破解。

1.把地址段    0040E2BD =>0040E308 处都替换为“NOP”即可实现程序破解。
注:nop是删除跳转,你别问我,我看不见也听不见



2.然后右键“复制到可执行文件”,再弹出的窗口中右键“保存文件”即可。




页: [1]
查看完整版本: 使用OllyDBG(OD)反汇编破解只能在光盘里运行的程序