Помощь по коду

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Stenl, 23 Nov 2011.

  1. Stenl

    Stenl New Member

    Joined:
    4 Aug 2010
    Messages:
    8
    Likes Received:
    1
    Reputations:
    0
    Помогите найти в коде где проходит сама регистрация.А вернее где ее там можно отключить .
    Ссылка на сам проект
     
  2. inCode

    inCode Member

    Joined:
    20 Jun 2011
    Messages:
    141
    Likes Received:
    22
    Reputations:
    5
    мельком код глянул, запись ключа в реестр и дальнейшая проверка, все эти функции на 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();
                        }
                    }
     
  3. Stenl

    Stenl New Member

    Joined:
    4 Aug 2010
    Messages:
    8
    Likes Received:
    1
    Reputations:
    0
    А как обойти эту регистрацию ключа , чтоб ее не запрашивало?Или что надо в реестре добавить чтоб активация всегда была true. Желательно конечно изменения в коде произвести.
     
  4. Niades

    Niades New Member

    Joined:
    30 Nov 2010
    Messages:
    28
    Likes Received:
    3
    Reputations:
    0
    В коде формы KeyForm есть кнопка btnReg, на клик этой кнопки повешен хэндлер mIrkaomgT:
    PHP:
    private void mIrkaomgT(object senderEventArgs e)
            {
                if (
    this.btnReg.Text == "Зарегистрировать")
                {
                    try
                    {
                        
    string s string.Empty;
                        
    = new WebClient().DownloadString("http://game-bots.net/moswar/verify3.php?id=" Class0.smethod_3());
                        if ((
    != "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 senderEventArgs e)
            {
                    
    base.DialogResult DialogResult.OK;
                    
    base.Hide();
            }
    то никакой проверки не будет. Я не уверен, т.к. проект собрать мне не удалось.

    inCode, сборка явно была чем-либо защищена и обфусцирована, а затем деобфусцирована, поэтому такие названия переменных и классов.
     
    #4 Niades, 23 Nov 2011
    Last edited: 23 Nov 2011
  5. Stenl

    Stenl New Member

    Joined:
    4 Aug 2010
    Messages:
    8
    Likes Received:
    1
    Reputations:
    0
    Niades, Да ты прав сборка сначало была обфусцирована reactor`om .А как же тогда изменять код в деобфуцированой сборке чтоб потом можно было нормально собрать. Т.е снять с проверки на регистрацию ключа?
     
  6. Niades

    Niades New Member

    Joined:
    30 Nov 2010
    Messages:
    28
    Likes Received:
    3
    Reputations:
    0
    Можешь попробовать с помощью ILDasm и ILAsm.
     
  7. Stenl

    Stenl New Member

    Joined:
    4 Aug 2010
    Messages:
    8
    Likes Received:
    1
    Reputations:
    0
    Ковыряюсь уже пятый день с этим IL кодом.Вообще не чего не выходит.Помогите изменить код и собрать обратно в exe файл.
     
  8. dickivs

    dickivs New Member

    Joined:
    12 Nov 2011
    Messages:
    28
    Likes Received:
    1
    Reputations:
    0
    Эту задачу с помощью асмов быдет сложно решить с помощью dumpbin придется найти место кода проверки и вырезать в двоичном виде вообщем ад скорее всего и потом если он будет зашифрован задача слишком усложниться Касперского Криса почитай Тонкости дизассемблирования возможно поможет чем-то )