改变飞船运动的装配说明(DEC 到 MOV)

Assembly instruction to alter for spaceship movement (DEC to MOV)

我有权修改此可执行文件。

一款名为《暮日之皇》的游戏中有宇宙飞船。当您使用特定飞船进入轨道时,该飞船将失去一个移动点。 Game\OllyDB DEC BYTE PTR DS:[EAX+2F]减少一个移动点数

我想改变这个,让你剩下 0 个移动点。

我尝试了很多东西,但现实是我根本没有足够的经验来理解我需要覆盖什么 (assemble) 才能实现每次起飞的 0 移动点。将 DEC 更改为 INC 有效。

我的开始策略是这样的:MOV BYTE PTR DS:[EAX+2F], 0
(我是汇编新手)

更长的上下文代码列表:

感谢您的提示,我真的很高兴能将此功能变成一个功能,所以我无法用语言来形容我是多么高兴有人告诉我如何做到这一点。如果需要其他信息,那么我会 post 一个更长的版本和 link 到它。

技巧是观察457dd0和457dd6处的指令相同,可以合并

457dce  8b45e4    mov eax, [ebp-1c]
457dd1  7506      jnz 457dd9
457dd3  c6402f00  mov byte ptr [eax+2f], 0
457dd7  6690      nop
457dd9  ...

您应该确保没有跳转到 457dd0 或 457dd6。