发布网友 发布时间:2023-10-28 02:47
共1个回答
热心网友 时间:2024-12-12 00:30
光盘版的游戏一般有以下几种情况:A、安装时全部装进去了,运行时只比较有没有光盘;B、安装时绝大部分已经装进去了,运行时只读光盘上的动画和声音;C、安装时只装了一个引导程序,运行时的要从光盘上读所有的数据(很多多媒体教学光盘就是这样的)。我们主要是破解A、B两种情况。 前些天从伪装者大哥的破解乐园下载了一个非常好玩的游戏:“奇妙大百科:不可思议的机器”,觉得很不错,今天逛碟市,发现了“重返奇妙大百科:不可思议的机器-巧夺天工”,当即买了下来(D版),回到家一装,最大安装结果竟是光盘版的,可怜我那用了两年的老光驱!如果是别的游戏我就退了,但是这可是我最喜欢的游戏,就自己动手改成硬盘版,它是上面的B型,过程如下:(请先用最大安装) 首先,如果不放光盘进去的话,它就会出一个对话框,要求你放入这个游戏的光盘,这说明它肯定先判断是否有光盘放进去了,没有就弹出这个对话框,好,就用loader载入evenmore.exe,下bpx getdrivetypea,进入游戏以后马上就被拦下来了,按一下F12,就返回到evenmore的领空,来到这里: :0042C056 8B0D381F4A00 mov ecx, dword ptr [004A1F38] :0042C05C C605351F4A0001 mov byte ptr [004A1F35], 01 :0042C063 E858030000 call 0042C3C0 :0042C068 8BD0 mov edx, eax :0042C06A 8D4C244C lea ecx, dword ptr [esp+4C] :0042C06E E85D070200 call 0044C7D0 :0042C073 8A44244C mov al, byte ptr [esp+4C] :0042C077 881D351F4A00 mov byte ptr [004A1F35], bl :0042C07D 3AC3 cmp al, bl :0042C07F 7410 je 0042C091 :0042C081 8D4C244C lea ecx, dword ptr [esp+4C] :0042C085 51 push ecx :0042C086 FFD7 call edi ----从这里出来;实际上就是getdrivetypea :0042C088 83F805 cmp eax, 00000005 ----比较是不是光盘(光盘的返回值是5,硬盘是3) :0042C08B 0F8455010000 je 0042C1E6 ----是光盘就跳到后面接着执行,不是光盘就要你放入光 盘 因此,从0042C086的那个CALL中出来,EAX中应为3,下R EAX 5,将返回值强制改成5,让程序以为放了光盘,按一下F5,程序继续执行,没有要你放入光盘了,但是屏幕过一下就黑了,没有什么反应。按一下ALT+F4,程序会问你是否退出,按“确定”,就正常的退出来了。 估计造成以上现象的原因是:程序在执行时不仅判断是否有光盘放进去了,还要读光盘上的某个文件(多半是动画文件或声音文件),由于读不到,因此停下来了。 打开注册表,发现在hkey_local_machines\software\sierra online\setup\evenmore下有一个键:cdpath,值为:F:\Contraptions\Files,我就将它改成了:D:\Contraptions\Files,并将光盘上对应的目录地F:\Contraptions\Files拷