変数 X = 10 の単純なコンソール アプリケーションがあります。次に、ユーザーに変数と出力の変更を求めるループがあります。デバッガーを接続し、プログラムのメモリ領域を編集して変数 X を変更します。ユーザーがこの X 変数をメモリ エディターで編集できないようにするにはどうすればよいですか?変数 X がアクセスされたときに変数 X を別の場所に移動し、変数 X が変更されたときに、それを行うべきではないというメッセージをユーザーに送信するようなエディターですか? これは私の単なる教育実験です。
たとえば、以下のコードで
byte X = 10;
X = byte.Parse(Console.ReadLine()); // scan memory looking for X to change
Console.ReadKey(); // Change X before the output
Console.WriteLine("X = " + X);
X は、プログラムが出力する前に簡単に編集できます。他のいくつかの派手なポインター トリックを使用しても、単純な外部プログラムを使用して、出力前に簡単に編集できます。