Помогите найти в коде где проходит сама регистрация.А вернее где ее там можно отключить . Ссылка на сам проект
мельком код глянул, запись ключа в реестр и дальнейшая проверка, все эти функции на RegistrationForm, ну и конечно же есть проверка. исходники альфа версии,код хороший, но раздражают называния переменных и классов, отсутствуют некоторые классы, так же есть специально сделаные ошибки в коде. //Загрузка формы регистрации на мейне Code: private void MainWindow_Load(object sender, EventArgs e) { try { this.registrationForm_0 = new RegistrationForm(); this.keyDialog = new KeyForm(); } catch (Exception) { base.Close(); return; } this.bStartBot.Enabled = false; this.timer_1.Start(); } //Проверка ключа в реестре Code: private string method_4(string string_0, string string_1) { RegistryKey key = Registry.LocalMachine.OpenSubKey(string_0); if (key == null) { return string.Empty; } if (key.GetValue(string_1) == null) { key.Close(); return string.Empty; } string str = key.GetValue(string_1) as string; key.Close(); return str; } //Обработка Code: if (this.registrationForm_0.ShowDialog(this) == DialogResult.Cancel) { base.Close(); } else { this.bStartBot.Enabled = true; if (this.method_5(@"Software\MoswarGameBots", "key") && (this.method_4(@"Software\MoswarGameBots", "key") == Class0.smethod_4())) { this.timer_1.Interval = 0x36ee80; this.timer_1.Start(); } else { base.BringToFront(); this.registrationForm_0.Visible = false; this.timer_0.Start(); } }
А как обойти эту регистрацию ключа , чтоб ее не запрашивало?Или что надо в реестре добавить чтоб активация всегда была true. Желательно конечно изменения в коде произвести.
В коде формы KeyForm есть кнопка btnReg, на клик этой кнопки повешен хэндлер mIrkaomgT: PHP: private void mIrkaomgT(object sender, EventArgs e) { if (this.btnReg.Text == "Зарегистрировать") { try { string s = string.Empty; s = new WebClient().DownloadString("http://game-bots.net/moswar/verify3.php?id=" + Class0.smethod_3()); if ((s != "false") && (long.Parse(s) > 0x69780L)) { base.DialogResult = DialogResult.OK; base.Hide(); } else { this.lblInfo.Text = "Ключ не был продлен"; } } catch (WebException) { this.lblInfo.Text = "Ошибка соединения с сервером `game-bots.net`!"; } } else { base.DialogResult = DialogResult.OK; base.Hide(); } } Я так понимаю, что если заменить его на PHP: private void mIrkaomgT(object sender, EventArgs e) { base.DialogResult = DialogResult.OK; base.Hide(); } то никакой проверки не будет. Я не уверен, т.к. проект собрать мне не удалось. inCode, сборка явно была чем-либо защищена и обфусцирована, а затем деобфусцирована, поэтому такие названия переменных и классов.
Niades, Да ты прав сборка сначало была обфусцирована reactor`om .А как же тогда изменять код в деобфуцированой сборке чтоб потом можно было нормально собрать. Т.е снять с проверки на регистрацию ключа?
Ковыряюсь уже пятый день с этим IL кодом.Вообще не чего не выходит.Помогите изменить код и собрать обратно в exe файл.
Эту задачу с помощью асмов быдет сложно решить с помощью dumpbin придется найти место кода проверки и вырезать в двоичном виде вообщем ад скорее всего и потом если он будет зашифрован задача слишком усложниться Касперского Криса почитай Тонкости дизассемблирования возможно поможет чем-то )