Botva Assistance новые версии попытка взлома

Discussion in 'Реверсинг' started by lobster, 19 Feb 2010.

  1. lobster

    lobster New Member

    Joined:
    28 Feb 2006
    Messages:
    13
    Likes Received:
    3
    Reputations:
    0
    Многие знают про игру Botva Online, а скорее всего и про ее удобного бота Botva Assistance, но отдавать за него 330 рублей... меня душит жаба (наверно не только меня).

    Может попробуем коллективно его сделать бесплатным? :)

    Прошу о помощи, так как сам еще совсем зеленый в этом деле, но научится хочу.

    Для вскрытия проги использую софт:
    Kurapica DotNET DeObfuscator v0.5 - для деобфускации функций
    Reflector + модуль Reflexil (для внесения изменений в код IL)
    Деобфусцированный экзешник проги не запускается, поэтому в рефлекторе приходится открывать сразу два экзешника и по эталону деобфусцированного редактировать обфусцированый.

    Чего я добился пока:
    В деобфусцированном файле Namespace_1 -> Class_6_Form -> Function_Boolean_4

    Code:
    private bool Function_Boolean_4()
    {
        if (this.Function_String_1(this.Field_3.Text) == this.Function_String_1(this.Function_String_1(this.Field_2.Text + Class_9_Object.Function_String_1(0x1b7bf8fa)).ToUpper()))
        {
            MessageBox.Show(Class_9_Object.Function_String_1(0x1b7b2f0b));
            this.Procedure_2();
            return true;
        }
        MessageBox.Show(Class_9_Object.Function_String_1(0x1b7b2ed4));
        return false;
    }
    В данной функции в первом if сменить его на if !(... , что заставит прогу принимать любой серийник кроме правильного.

    Но дальше идут еще какие-то проверки, что не дает проге до конца принять неправильный серийник.

    Я нашел еще одну функцию, в деобфусцированном файле Namespace_1 -> Class_3_Form -> Procedure_85(object , EventArgs) в которой, как мне кажется идет последующая проверка кода......
    но вот к сожалению, что делать дальше я не знаю... пытался что то сделать дня 3, потом времени не было, сейчас время появилось, опять решил побиться..... а так же попробовать обратиться к более продвинутым в этом деле.
    У кого какие мысли еще есть по дальнейшим шагам? :)

    ЗЫ: не по уровню я себе выбрал объект для взлома, но эта прога мне была бы полезна в дальнейшем, а платить за нее не хочется :(

    Всем заранее спасибо за отклики на мою просьбу.

    ЗЫ: скачать прогу можно вот тут http://botva.onlinebots.net/download
     
    1 person likes this.
  2. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Сделай чтобы тут всегда true возвращалось

    [​IMG]

    Наверное этого хватит
     
    _________________________
  3. lobster

    lobster New Member

    Joined:
    28 Feb 2006
    Messages:
    13
    Likes Received:
    3
    Reputations:
    0
    Да, этого действительно было достаточно...
    Как я сам то не догадался что проверка регистрации проходит в форме типа сплэшскрина.

    Но теперь другая проблема.... эта зараза рвется на сервер чтобы проверить обновления и соответственно проверяет ключ. (естественно введённый ей не нравится :( )
     
  4. EksTasy

    EksTasy Member

    Joined:
    26 Oct 2008
    Messages:
    69
    Likes Received:
    6
    Reputations:
    10
    файерволом прикрыть доступ к серваку обновлений
     
  5. .::f-duck::.

    .::f-duck::. Member

    Joined:
    30 May 2009
    Messages:
    343
    Likes Received:
    32
    Reputations:
    7
    Не запустится.
    Мб идея бредовая,но все же.
    Заменить сервер проверки на свой в hosts и создать свой скриптик,который возвращал true,или,что он там должен возвращать :)
     
  6. lis84

    lis84 Banned

    Joined:
    28 Apr 2009
    Messages:
    59
    Likes Received:
    10
    Reputations:
    1
    Ботва ассистанс строит защиту на следующем:
    1. Генерится ключ на основе аппаратуры компа (незнаю какой да и не важно)
    2. По ключу автор генерит свой ключ, он проверяется при вводе формы, и теперь ещё при запуске программы (кусок кода показанный Kaimi)
    3. При запуске бота, он стучится к серверу ассистанса, при этом проверяет серийный ключ, и версию. Причём проверка серийного ключа сделана с помощью той же функции которая работает непосредственно с ботвой, и есть проверка на выпиливание (она обязанна выполнится). Если сервер не найден, бот не запустится (отсечение файрволлом тоже забудьте)
    4. Проверяется модификация файла hosts, чтобы вы не перенаправили бота на локальный сервер (я его только за это поломал бы)

    Вот собственно и всё.

    Из подсказок лично от себя скажу.
    1. У тебя отвратительный деобфускатор, найди тот, который хотябы строки будет показывать, а от того что ты используешь толку нету, проще копаться сразу в недеобфусцированном
    2. Серийный ключ ассистанса это md5(ключ исходный+botva assistance) в верхнем регистре разумеется. То есть можно попробовать изящно выпилить обращение к серваку, и сгенерить себе ключ, или выпилить проверку hosts и сделать свой сервак, или перенаправить трафик чем то ещё (проксиком например).

    ПыСы. если помог, плюсик знаешь где :))

    Ну и на последок, если взломаешь, используй для себя, но не кидай в паблик, автор на него всётаки кучу времени потратил, а товарищы которые не могут залезть внутрь и покопаться, пусть платят 330р, не огромные это деньги.
     
    #6 lis84, 22 Feb 2010
    Last edited: 22 Feb 2010
    2 people like this.
  7. Hwma

    Hwma New Member

    Joined:
    7 Jul 2009
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    lis84, подскажи пожалуйста деобфускатор, показывающий строки.
     
  8. lis84

    lis84 Banned

    Joined:
    28 Apr 2009
    Messages:
    59
    Likes Received:
    10
    Reputations:
    1
    http://sites.google.com/site/simpledotnet/simple-assembly-explorer

    (отдельное спасибо zeppel1n за то что открыл для меня в своё время эту замечательную тулзу)
     
  9. lobster

    lobster New Member

    Joined:
    28 Feb 2006
    Messages:
    13
    Likes Received:
    3
    Reputations:
    0
    lis, спасибо за подсказки. Попытаюсь покопать....