找回密码
 注册
首页 ≡≡网络技术≡≡ 编程语言 使用OllyDBG(OD)反汇编破解只能在光盘里运行的程序 ...

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

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

该文件请在光盘上使用.png

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

查壳.png

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

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

运行程序至出现窗口.png

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

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

搜索中文.png

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

表达式.png

表达式2.png

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

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

修改Z0为Z1.png

修改Z0为Z1-2.png

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

修改Z0为Z1-3.png

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

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

nop.png

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

复制到可执行文件.png


您需要登录后才可以回帖 登录 | 注册
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。