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