Обычно вы просто используете отладчик и помещаете переменную, которую хотите изменить, в окно Watch, а затем просто вводите новое значение.
Похоже, вы хотите, чтобы программа .NET модифицировала определенный адрес памяти другой программы.
Насколько я знаю, с .NET сделать это невозможно, и есть только способ сделать это вне .NET. Как я предположил, вы можете сделать это с помощью отладчика. Чтобы сделать это из программы, ваша программа должна быть отладчиком!
Хорошая новость в том, что это возможно. См. Расширяемость отладчика Visual Studio . Не стоит откладывать тот факт, что для этого требуется Visual Studio. Чего вы можете не знать, так это того, что можно создать программу на основе Visual Studio, которая будет выглядеть и вести себя как отдельный исполняемый файл.
Я считаю, что есть также способы «быть отладчиком» с помощью API, описанных в Windows SDK, но я не знаю, где находится документация для них.