我在C#.Net中编写了一个带有简单双变量的应用程序,它在运行时被更改。我的目标是从另一个程序中读取此变量。所以我用ArtMoney查看内存以获取内存地址。但我的变量的地址在运行时更改。谁能告诉我为什么?
在两次尝试中,地址都改变了两次然后稳定下来。地址的前两个字节在两次尝试时都相同但下一个字节在应用程序的每个开始时都不同。
答案 0 :(得分:10)
“因为它被允许”; .NET不会对内存中的内容做任何保证,除非您(或者):
并且您会注意到,在这两种情况下,运行之间的都没有固定 - 它只在运行期间修复。
基本上:找到一种不同的进程间通信方式。原始内存偏移量查找:此处不起作用。