1

有没有办法在 PE 文件的特定偏移量处存储变量(在 C++ 中)?类似的问题:我可以定义存储在数据部分中的变量的特定顺序吗?

我听说有些程序可以将设置存储在其可执行文件中。

4

2 回答 2

1

“最简单”的方法是使用资源部分。您不需要偏移量:LoadString取而代之的是一个 ID,它在重建过程中是稳定的。但是,顾名思义,这只是加载部分。Windows 在执行时会锁定您的可执行文件,这使得该SaveString部分变得更加困难。

并不是说锁并不重要,因为您的程序可能存储在\Program Files\其中并且用户无论如何都无法在那里编写。

于 2012-04-19T13:09:58.120 回答
1

根据数据的大小,您可以使用 PE 映像的已弃用(未使用)区域(如 MS-DOS 存根)来存储变量。许多这些未使用区域的偏移量是众所周知的(因为它们是由 PE 格式定义的)。

于 2012-04-20T20:27:49.083 回答