改变宇宙飞船运动的装配指令(DEC 至 MOV)

发布于 2025-01-09 06:19:16 字数 629 浏览 2 评论 0原文

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

一款名为“衰日皇帝”的游戏中有宇宙飞船。当您将一艘特定的飞船发射到轨道时,该飞船会失去一个移动点。 游戏\OllyDB DEC BYTE PTR DS:[EAX+2F] 将移动点减少 1

我想更改此设置,以便剩下 0 个移动点。

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

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

更长的上下文代码列表:
更长的程序集image

感谢您的提示,我真的很高兴能够将此作为一个功能,所以我无法用言语来形容我是多么高兴有人告诉我如何做到这一点。如果需要其他信息,我将发布更长的版本并链接到它。

I have permission to modify this executable.

A game called Emperor of the Fading Suns has spaceships in it. When you launch into orbit with a specific ship, said ship lose one movement point.
Game\OllyDB
DEC BYTE PTR DS:[EAX+2F] reduces movement points by one

I want to alter this so that you have 0 movement points left.

I have tried a lot of stuff, but the reality is that I simply don't have enough experience to understand what I need to overwrite (assemble) in order to achieve 0 movement point per takeoff. Changing out DEC with INC works.

My beginning strategy went to this: MOV BYTE PTR DS:[EAX+2F], 0
(I am a novice at assembly)

Longer list of code for context:
Longer assembly image

Thanks for the tip, I'm really excited about making this a function so I don't have words to describe how happy I am for anyone to tell me how to do this. If there is additional info required then I'll post a longer version and link to it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半衾梦 2025-01-16 06:19:16

诀窍是观察 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。

The trick is to observe that the instruction at 457dd0 and 457dd6 are the same and can be combined.

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

You should ensure that there are no jumps to 457dd0 or 457dd6.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文