C# でメモリからバイト値を直接読み込もうとしました。Marshal.Copy
Marshal.ReadByte
すべての範囲でさまざまなアドレスを試してみました。
常に例外が発生します:
System.AccessViolationException: 保護されたメモリを読み書きしようとしました。これは多くの場合、他のメモリが破損していることを示しています。
保護されたメモリにアクセスするにはどうすればよいですか?
いくつかのメモリ表示ツールを使用していますが、これらのツールは問題なくメモリ全体にアクセスできます。
例:
IntPtr bufPtr = new IntPtr(0x00000772);
byte data = Marshal.ReadByte(bufPtr);
アドレスは既知のプロセス内にないため、使用できませんReadProcessMemory()
。