|
|
|
<p><span class="tpc_content"><strong> 最开始有产生这个想法,是因为想玩血战MOD,下了野鸟版的BOS。从里面解压的BOS.EXE和3个FONT文件复制到BOS目录下面。发现这样就能正常显示中文了,只是每次都要加载虚拟光驱比较麻烦。看到网上也没有简体版的免CD补丁,于是就想自己来找找看。<br /><br /> 于是就按照《电脑爱好者》上面的方法,用W32Dasm打开简体中文的BOS.EXE。在菜单FUNCTIONS中选IMPORTS,查询"GetDriveType"在007AB3BD这个地址后面发现了TEST EAX,EAX,按照文章上面说的,这个就表示检查是否有光盘。那么后面JE 007AB3D1就是若相等则跳到007AB3D1上面。</strong> <b><br /><img src="attachment/62_53554_e6912b9901b90e5.jpg" border="0" /> <b><br /><img src="attachment/62_53554_5d885f26c27cc9d.jpg" border="0" /><br />我就用RTA找出007AB3C5,007AB3CA对应的代码地址用ULTRAEDIT改成75。保存后运行,提示依然...</b></b></span></p><p><span class="tpc_content"></span><span class="tpc_content"><strong> 之后我就漫无目的的查找TEST EAX,EAX附近有JNZ的,改成JMP...(中间过程忽略,反正都是用RTA查对应的地址,用ULTREDIT改)...就这么改了十几个地址,依然没有结果。呵呵,乱改怎么能对呢,反正我对能找出来也没抱太多希望。于是就暂时放下了。</strong></span></p><p><span class="tpc_content"><br /><strong> 有天我突发奇想,既然已经有英文版的补丁了,那么我能不能对照着来修改呢。于是用ULTRAEDIT来对比补丁前,补丁后的英文BOS.EXE</strong><br /><br /><b><br /><img src="attachment/62_53554_cb096907dd3b1a8.jpg" border="0" /> <b><br /><img src="attachment/62_53554_7c761bd380a1ab7.jpg" border="0" /> <br />发现仅仅有1处差异在0024D4D2以后连续6字节。用RTA打开补丁后的BOS.EXE,发现是改写为JMP 0064D8DA。<span class="tpc_content">也就是直接跳到64D8DA了,估计应该是从这里跳过了CD校验的过程。1.27破解补丁的作者在readme中提到“The original information I got from the 1.25 crack which I found, which included some assembly code as to what the crack did. I used this information to create the enw crack, which ends up being the exact same crack, except applied at a different offset.”那么1.25的破解程序中就应该有如此修改的说明。可惜我从GameCopyWorld上面发现的链接失效了,补丁没有下载下来。而后我又注意到1.27破解补丁的作者又提到“Note that my first crack was actually chinging the je to jne after the test al,al;”,于是我又开始以TEST AL,AL为目标,进行搜索。查找在TEST AL,AL下面附近的JE语句,并改成JNE。这样的尝试最终也没有结果.......<br /><br /> 事情终于出现了转机,那天我在<a href="read.php?tid=20395&fpage=3" target="_blank"><font color="#003366">http://www.bn13. ... 395&fpage=3</font></a>看到了liuxudong926提供的免CD补丁。经过对比,发现和原始文件仅比较仅改了2个字节,而且都是JNE(75)改成JE(74),与上次那个跳过CD校验的容易理解多了。而后用W32Dasm打开发现这个2个地址上面明显的注释“*Possible StringData Ref from Data Obj →"FOT_1",*Possible StringData Ref from Data Obj →"FOT_3"”。<br /><b><br /><img src="attachment/62_53554_d03c5e652a71ce2.jpg" border="0" /> <br /> 我就想既然这样,那么是不是繁体中文也有这样的注释,进而照猫画虎的修改呢。试验了下果然是这样,于是就做出了这2个补丁。我想这可能和你的方法差不多,但是我确实没有看到过你的文章,要不然就不会这么费劲了。<br /><br /> 最后还是希望你能把你的文章贴出来~~~分享给大家,共同学习,共同进步嘛。</b></span><br /><br /></b></b></span></p> |
|