Ryzen CPU 导致幽灵行动尖峰战士2报错的修复
(编辑:jimmy 日期: 2024/11/8 浏览:3 次 )
前段时间下了个学习版尖峰战士2,在5900hx上始终报错,后来看到国外有人做了Steam版修正补丁,但是Steam已经下架这个游戏,只能自己动手。
用x64dbg启动以后直接就跳到了出错点
汇编指令是DIV EDI,寄存器里EDI为0
所以会出现divide by zero 错误
直接大力出奇迹,把这个地方nop掉。
保存补丁以后再运行,游戏程序出现文件校验失败
经过分析发现,sub_737690中调用了WinVerifyTrust
如果校验成功,则返回0
sub_737690返回al
若al=0 , test al,al ZF = 1,则跳转loc_40BB8F,程序正常运行
程序如果被修改,这里AL !=0, 只需要翻转JNZ,改成JZ,保存补丁
就可以让高贵的锐龙用户也玩上幽灵行动尖峰战士2了
补丁一共9m,附件放不下,放个度盘地址
pan.baidu.com/s/1fMnZi5Izxcm7nuyVSr1ybA?pwd=h6j8
用x64dbg启动以后直接就跳到了出错点
汇编指令是DIV EDI,寄存器里EDI为0
所以会出现divide by zero 错误
直接大力出奇迹,把这个地方nop掉。
保存补丁以后再运行,游戏程序出现文件校验失败
经过分析发现,sub_737690中调用了WinVerifyTrust
如果校验成功,则返回0
Winverify.png
sub_737690返回al
若al=0 , test al,al ZF = 1,则跳转loc_40BB8F,程序正常运行
程序如果被修改,这里AL !=0, 只需要翻转JNZ,改成JZ,保存补丁
msgbox.png
就可以让高贵的锐龙用户也玩上幽灵行动尖峰战士2了
补丁一共9m,附件放不下,放个度盘地址
pan.baidu.com/s/1fMnZi5Izxcm7nuyVSr1ybA?pwd=h6j8
下一篇:【 电工实训仿真教学软件 】 软件已二次更新,修复之前的错误!