您正在访问亚汇网香港分站,本站所提供的内容均遵守中华人民共和国香港特别行政区法律法规。

Win11 24H2 揭开《GTA:圣安地列斯》游戏 20 年老漏洞:Skimmer 飞机凭空消失

文 / 小亚 2025-04-24 12:03:08 来源:亚汇网

亚汇网4月24日消息,科技媒体NeoWin昨日(4月23日)发布博文,报道称在这一现象在玩家社区引发热议,最终引起了SilentPatch开发者Silent的注意。SilentPatch是一个致力于修复老游戏漏洞、提升兼容性的非官方项目。游戏常规位置已不见SkimmerSilent最初怀疑问题可能来自其他MOD或特定系统配置,但随后在未安装任何MOD的纯净版游戏上,只要在Windows1124H2上运行Skimmer就会消失。Silent在Windows1124H2环境下测试,发现Skimmer确实从常规位置消失。更为诡异的是,当他通过游戏内命令强制生成飞机后,角色CJ会被弹射到天空中,距离高达1.087quadrillionlight-years(约1.087千万亿光年),游戏画面失控或直接卡死。显示高度1.087quadrillionlight-yearsSilent进一步分析代码,发现问题源于Skimmer的物理边界框(boundingbox)计算错误,其Z值被设置为一个荒谬的数字(-4.30747210e+33),导致游戏误判飞机位置。深入追踪后,Silent发现问题根源在于游戏配置文件vehicles.ide中Skimmer的定义不完整,缺少轮子尺寸参数。这源于《GTA:ViceCity》时期Skimmer被归类为船只,无需这些参数,而在《SanAndreas》中改为飞机后,Rockstar未更新配置。游戏代码在读取数据时未初始化相关变量,导致其值依赖于内存堆栈中的随机数据。过去20年,在Windows10上并未调整堆栈值但Windows1124H2更新改变了内存堆栈使用方式(涉及LeaveCriticalSection函数),覆盖了残留值,导致Skimmer的物理计算彻底失控。在Windows1124H2版本中,新的临界区实现方式修改了更多的堆栈空间。Silent强调,这并非Windows11的问题,而是《GTASanAndreas》代码本身的漏洞,长期依赖内存布局的“侥幸”运行。他将在下一版SilentPatch中修复此问题。玩家目前可手动编辑游戏目录下的data\vehicles.ide文件,找到Skimmer行并添加轮子尺寸参数(0.7),即可恢复飞机。广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,亚汇网所有文章均包含本声明。

相关新闻

加载更多...

排行榜 日排行 | 周排行