将寄存器的值转储到文件中

逆向工程 视窗 部件 x86 C++
2021-06-13 04:44:18

我在 Windows 32 位上逆向工程小游戏。

我在可执行文件中找到了一个对我来说很有趣的字符串(这是一个棋盘游戏,这个字符串代表有人在棋盘上移动的事实)。

有趣的内存地址

您可以看到在字符串中移动到eax. 但这里更有趣的部分是在那之前的说明

mov ebx,eax

这里ebx将包含玩家移动的坐标。这是我感兴趣的。我想将此坐标转储到文件中。所以我想要做的是修改程序集(在我的情况下,此代码在 dll 中)并将该数据(在 中ebx)写入文件。

我做了一些研究,但找不到任何有用的东西。我发现的只是如何修补可执行文件,例如对程序集进行最轻微的修改,这非常简单。我什至想知道是否有任何工具可以帮助我实现这一目标(例如移动汇编代码以腾出足够的空间让我在其中编写一些代码)。

我的一个想法是编写一个转储数据的 shellcode,然后在某个部分的末尾添加该 shellcode,在 .txt 部分中找到我的字符串,编辑代码以跳转到我的 shellcode,然后返回到原始状态。但这会非常困难,因为我在编写 shellcode 方面并没有真正的经验。

0个回答
没有发现任何回复~