关老游戏XP系统可以运行,WIN10兼容模式却运行不了,生成.crash.dump的原因在于加壳

您所在的位置:网站首页 win7玩win10游戏的补丁 关老游戏XP系统可以运行,WIN10兼容模式却运行不了,生成.crash.dump的原因在于加壳

关老游戏XP系统可以运行,WIN10兼容模式却运行不了,生成.crash.dump的原因在于加壳

2024-07-09 19:31| 来源: 网络整理| 查看: 265

在2000年左右的那几年,CD游戏刚刚取代软盘游戏,盗版游戏层出不穷,为了防拷光盘和制作免CD补丁,黄油厂商开始懂得为游戏程序加壳,那时候主流的系统是Windows2000和XP,还是没什么问题的,直到Windows7的出现,问题才爆发了出来,为什么好多游戏XP系统跑得了,Win7乃至现在的Win10开兼容模式却全都没用呢?

兼容模式是什么?指的是用HOOK钩子钩住目前电脑操作系统的API,换成兼容模式选择的NT系统版本的API,也就是说Win10,是包含WIN8、WIN7、XP和以前所有NT系统的API的,兼容模式是没有问题的,可为什么还是运行不了,下面开始解答。

首先查看几个实例。

死妹人形

这个游戏在XP完美运行,在Win10却崩溃了,并生成了.crash.dump文件,我们都有经历,有时候打开程序闪退了就闪退了,是不会生成.crash.dump文件的,为什么这个会生成?.crash.dump文件是程序出现内存错误才会产生的,为何会内存错误?

这时候用反编译软件ollydgb打开reg.exe

发现提示你这个程序加了密,原来是加壳程序

打开一看

尽是些意义不明的循环跳转,废物代码,和少得可怜的4个API函数。看到这里大家心里都可能有个猜测了。

2.雪のち、ふるるっ!

这个游戏XP完美运行,Win10闪退,同样生成.cash.dump文件

这时候用反编译软件ollydgb打开动态链接库pc.dll

同样提示加密了,原来又是加壳程序。

点是打开一看

又是意义不明的循环跳转,废物代码,和少得可怜的5个API函数。

看到这里就基本确信了,是因为游戏程序加了壳,在Win7Win10系统下他就靠这少得可怜的个位数API函数根本在内存里还原不了原来的机器码,他根本解密不了,能加壳却脱不了壳,所以内存错误了。

验证

为了证明猜测是正确的,把脱壳后的pc.dll替换原来的文件

脱壳后没有意义不明的跳转,逻辑清晰可见,API函数多到数不过来要拖进度条才能看完。

然后打开游戏

能进了,完美运行。

充分证明了很多古老游戏高版本系统不能运行闪退,原因在于游戏程序的加壳不能脱壳,而不是所谓的兼容性问题,换Windows NT的版本API没有任何用处。

PS:写得太快,没空一个个去截图,现在我又贴出6个.crash.dmp的加密游戏给你们看看。

3.[MEGAMI] どきどきサマーレッスン ボイスバージョン

4.[Pure Platinum] D ~その景色の向こう側~

5.[Terios] 夜刀姫斬鬼行

6.[ザウス【純米】] Floralia 

7.[ザウス【発泡】] ちょこれ~とDays

8.[テリオス] りこりす

以上游戏XP能运行,WIN10玩不了并生成.crash.dump文件的原因,全部都是游戏程序加了壳却在内存里脱不了壳。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3