Здравствуйте. Возникла проблема. Хочу сделать что то вроде само-обновляемого трейнера. Но почему то после поиска сигнатур (При включении/выключении чекбокса) функция включается, а вот назад никак не хочет выключаться. Приведу код: Для переключения функций используется статическая булева переменная: static bool func1 = false; Код поиска сигнатуры, и записи в в память: private void checkBox1_CheckedChanged(object sender, EventArgs e) { SigScan _sigScan = new SigScan(seap, new IntPtr(0x401000), 0x10bc000); byte[] buffer2 = new byte[] { 0x75, 0x05, 0xC6, 0x44, 0x24, 0x0B, 0x01, 0x85, 0xC0, 0x0F, 0x94, 0xC1, 0x83, 0xF8, 0x01, 0x0F, 0x94, 0x44, 0x24, 0x0C, 0x83, 0xF8, 0x02, 0x0F, 0x94, 0x44, 0x24, 0x0D, 0x80, 0xBE, 0xE9, 0x0C, 0x00, 0x00, 0x00, 0x53, 0x74, 0x13, 0xD9, 0xEE }; IntPtr num = _sigScan.FindPattern(buffer2, "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", 0); if (func1 == false)//если переменная [BYTE] равна 0(true - 1, false - 0) { byte[] buffer = new byte[] { 0x90, 0x90 };//байт, который записывается,если переменная [BYTE] равна 0, то есть выключена функция. memory.WriteByteArray((IntPtr)num, buffer);//записываем в адрес байты. checkBox1.Checked = true; func1 = true; } else//Иначе { byte[] buffer = new byte[] { 0x75, 0x05 };//байт, который записывается, если переменная [BYTE] равна 1, то есть включена функция. memory.WriteByteArray((IntPtr)num, buffer);//записываем в адрес байты. checkBox1.Checked = false; func1 = false; } Всё никак не могу разобраться, в чём проблема то?