我在 Windows 32 位上逆向工程小游戏。
我在可执行文件中找到了一个对我来说很有趣的字符串(这是一个棋盘游戏,这个字符串代表有人在棋盘上移动的事实)。
您可以看到在字符串中移动到eax. 但这里更有趣的部分是在那之前的说明
mov ebx,eax
这里ebx将包含玩家移动的坐标。这是我感兴趣的。我想将此坐标转储到文件中。所以我想要做的是修改程序集(在我的情况下,此代码在 dll 中)并将该数据(在 中ebx)写入文件。
我做了一些研究,但找不到任何有用的东西。我发现的只是如何修补可执行文件,例如对程序集进行最轻微的修改,这非常简单。我什至想知道是否有任何工具可以帮助我实现这一目标(例如移动汇编代码以腾出足够的空间让我在其中编写一些代码)。
我的一个想法是编写一个转储数据的 shellcode,然后在某个部分的末尾添加该 shellcode,在 .txt 部分中找到我的字符串,编辑代码以跳转到我的 shellcode,然后返回到原始状态。但这会非常困难,因为我在编写 shellcode 方面并没有真正的经验。
