Хорошо, это странно. Нежелательные данные также не случайны, а являются подстроками самого исполняемого файла.
private void Form1_Load(object sender, EventArgs e)
{
string s = GetValue();
// at this point, s == "400". Why isn't really relevant (dumbed down a test)
if (s != "18446744073709551615")
throw new Exception();
// When the exception is thrown though, the string is set to random
// data from inside the executable.
}
Кажется, это зависит от некоторых, казалось бы, незначительных деталей реализации в GetValue (), таких как вызовы string.Format (), находящихся в разных местах.
Кто-нибудь когда-нибудь сталкивался с чем-то подобным или есть идеи, что может вызвать это?