Сделать домашней|Добавить в избранное
 

Многопользовательский новостной движок,
предназначенный для организации собственных
СМИ и блогов в интернете.

 
на правах рекламы

Взлом Tanks Mobile

Автор: SlaDER от 24 августа 2007
  • 68
            q.m_bSprite.setPosition(3, getHeight() - 20);

            q.m_bSprite.paint(g);

            q._aStringI("Неверный ключ. Обратитесь за помощью на сайт www.tanchiki.ru"

                            , g, getWidth() - 15, getWidth() / 2, (getHeight() / 2 + q.m_agI) - 5, 1, true, true);

            return;

        } 

[/quote]

То, что разработчики держали строки типа «Благодарим вас за регистрацию! Приятной игры!» в самом коде, очень облегчило нам задачу поиска, но так будет далеко не во всех играх. Чтобы регистрация прошла необходимо, чтобы переменная m_aI = 1

Ищем все, что связано с изменением этой переменной в файле k.java.
 И находим такой кусок кода:

[quote]
_L6:
        int i = Integer.parseInt(m_aString);
        boolean flag = false;
        if(q.m_afI == 3)
        {
            long l;
            String s;
            long l1;
            l1 = (l1 = Integer.parseInt((s = String.valueOf(l = q.m_aeI)).substring(0, 1))
                       + Integer.parseInt(s.substring(1, 2)) + Integer.parseInt(s.substring(2, 3))
                       + Integer.parseInt(s.substring(3, 4)) + Integer.parseInt(s.substring(4, 5))
                       + Integer.parseInt(s.substring(5, 6)) + Integer.parseInt(s.substring(6, 7))) * 321L + 213L & 255L;
            if((s = String.valueOf(l = (l = (l = (l = (l = (l ^= 0x1c91bfL) ^ l1) ^ l1 << 8) ^ l1 << 16) << 3)
                                   * 3L + 2129L).substring(0, 7)).substring(0, 4).compareTo(m_aString.substring(1, 5)) == 0)
                flag = true;
        }
        if(flag)
        {
            m_aI = 1;
            q._aStringIV("temp", 2, i);
            q.m_eZ = true;
        } else
        {
            m_aI = 2;
        }
        this;
          goto _L8
[/quote]

Переменная m_aI=1, если flag==true. А переменная flag принимает значение true, если выполняется довольно громоздкая и непонятная проверка ( разработчики постарались wink).

В строчках:
[quote]
       int i = Integer.parseInt(m_aString);
[/quote]

и

[quote]
        l1 = (l1 = Integer.parseInt((s = String.valueOf(l = q.m_aeI)).substring(0, 1))
                            + Integer.parseInt(s.substring(1, 2)) + Integer.parseInt(s.substring(2, 3))
                            + Integer.parseInt(s.substring(3, 4)) + Integer.parseInt(s.substring(4, 5)) 
                            + Integer.parseInt(s.substring(5, 6)) + Integer.parseInt(s.substring(6, 7))) * 321L + 213L & 255L;
[/quote]

видим 2 неизвестные переменные:

[quote]
       m_aString
       q.m_aeI
[/quote]

Сначала разберемся с q.m_aeI, так как l1 участвует в проверке кода.
Открываем q. java и ищем переменную m_ aeI. Мы находим ее только в строчке:

[quote]
public static int m_aeI = 0;
[/quote]

Но этого недостаточно, так как получается, что в k.java вызывается переменная из q.java, которая равна нулю… Следовательно, ищем изменение этой переменной в остальных классах.
В i.java находим такие строчки:

[quote]
       int k;
       if((k = q._aStringII("temp", 1, 0)) == 0){
                k = q._aIII(0xf462b, 0x98967f);
                k = 0x1c9c380 + k;
                q._aStringIV("temp", 1, k);
       }
      q.m_aeI = k % 0x989680;
      q.m_afI = (k - k % 0x989680) / 0x989680;
      obj = String.valueOf(k);
      obj = ((String) (obj)).substring(0, 4) + " " + ((String) (obj)).substring(4, 8);
[/quote]

Смотрим, какое значение получает переменная k при q._aIII(0xf462b, 0x98967f). Открываем q.java и ищем функцию _aIII

[quote]
public static int _aIII(int i, int x){
        int i1;
        return (i1 = Math.abs(m_aRandom.nextInt())) % (x - i) + i;
    }
[/quote]

Исходя из этого переменной k задается случайное значение…
Проанализировав получаемые значения k, а так же исходя из этих строчек:

[quote]
        obj = String.valueOf(k);
        obj = ((String) (obj)).substring(0, 4) + " " + ((String) (obj)).substring(4, 8);
[/quote]

и

[quote]
        q.m_bString = "T" + obj + " " + s;
[/quote]

Получаем, что k это первые 8 цифр из 12-значного кода, которые генерируется в игре при первом запуске.

Теперь объединяем все воедино и пишем подбор ключа

Используемые переменные:

Kod – первые 8 цифр из кода, который генерируется при запуске игры
Kod1 – дополнительная переменная

             Klych – ключ который необходим для регистрации

[quote]
   //вначале считываем код в переменную kod
   //далее идет объединенные части из разных классов, которые мы раскопали
        Kod1 = Kod % 0x989680;
        obj = String.valueOf(Kod);
        long l;
        String s;
        long l1;
        boolean progress=true;
        String Klych ="10000000";
        while(progress){
                    Klych = String.valueOf(Integer.parseInt(Klych)+1);
                    l1 = (l1 = Integer.parseInt((s = String.valueOf(l = Kod1)).substring(0, 1))
                    + Integer.parseInt(s.substring(1, 2)) + Integer.parseInt(s.substring(2, 3))
                    + Integer.parseInt(s.substring(3, 4)) + Integer.parseInt(s.substring(4, 5))
                    + Integer.parseInt(s.substring(5, 6)) + Integer.parseInt(s.substring(6, 7))) * 321L + 213L & 255L;
                            if((s = String.valueOf(l = (l = (l = (l = (l = (l ^= 0x1c91bfL) ^ l1) ^ l1 << 8) ^ l1 << 16) << 3)
                                            * 3L + 2129L).substring(0,7)).substring(0,4).compareTo(obj.substring(1, 5)) == 0){
                                            progress=false;
                            //вывод переменной Klych
       }
   }
[/quote]

Для ускорения перебора можно вынести:

[quote]
       l1 = (l1 = Integer.parseInt((s = String.valueOf(l = Kod1)).substring(0, 1)) + ... + 213L & 255L;
 [/quote]

и

[quote]
         String.valueOf(l = (l = (l = (l = (l = (l ^= 0x1c91bfL) ^ l1) ^ l1 << 8) ^ l1 << 16) << 3) * 3L + 2129L).substring(0, 7);
[/quote]

за цикл,так же можно установить "шаг перебора" равным 1000.

Получаем следующий код:
[quote]
          Kod1=Kod % 0x989680;
          long l;
          String s;
          String Klych  ="10000000";
          long l1;
          boolean progress=true;
                      l1 = (l1 = Integer.parseInt((s = String.valueOf(l = Kod1)).substring(0, 1))
                                    + Integer.parseInt(s.substring(1, 2)) + Integer.parseInt(s.substring(2, 3))
                                    + Integer.parseInt(s.substring(3, 4)) + Integer.parseInt(s.substring(4, 5)) 
                                    + Integer.parseInt(s.substring(5, 6)) + Integer.parseInt(s.substring(6, 7))) * 321L + 213L & 255L;
                      s = String.valueOf(l = (l = (l = (l = (l = (l ^= 0x1c91bfL) ^ l1) ^ l1 << 8) ^ l1 << 16) << 3) * 3L + 2129L).substring(0, 7);
          while(progress){
                      Klych = String.valueOf(Integer.parseInt(buf)+1000);
                         if ( s.substring(0, 4).compareTo(Klych.substring(1, 5)) == 0){
                                       //вывод Klych
                                      progress=false; 
                         }
          }
[/quote]

Теперь этот код можно перенести на любой другой язык программирования или оставить в J2ME.
Вместе со статьей идут два Key-Gen'а в котором он реализован… ( J2ME и VB.NET)
Вот так, просто анализируя код мы создали свой генератор ключей

Генераторы ключей для Tanks Mobile 3.0:
Внимание! У вас нет прав для просмотра скрытого текста.
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий
  • SlaDER

  • 24 августа 2007 15:19
  • Группа: Посетители
  • ICQ: 241
  • Регистрация: 20.08.2007
  • Статус: Пользователь offline
  • Комментариев: 251
  • Публикаций: 420
^
Если сгенерированный ключ не подойдет, то переустановите игру и используя новый код попытайтесь снова.

--------------------
  • Группа: Посетители
  • ICQ: 1258735
  • Регистрация: 29.05.2007
  • Статус: Пользователь offline
  • Комментариев: 77
  • Публикаций: 37
^
Надеюсь хоть кто-нибуть что-нибуть поймет :)
  • Группа: Посетители
  • ICQ:
  • Регистрация: 27.08.2007
  • Статус: Пользователь offline
  • Комментариев: 4
  • Публикаций: 0
^
Спасибо, работает smile
  • Syslic

  • 18 сентября 2007 22:31
  • Группа: Посетители
  • ICQ:
  • Регистрация: 18.09.2007
  • Статус: Пользователь offline
  • Комментариев: 2
  • Публикаций: 0
^
на сименсах не пашет!!!!!! там когда код наберешь, то на галочку уже никак не нажмешь, может кинете кракнутый Jar, на мыло bio_forever@rambler.ru
  • BlackFan

  • 19 сентября 2007 13:38
  • Группа: Посетители
  • ICQ: 1258735
  • Регистрация: 29.05.2007
  • Статус: Пользователь offline
  • Комментариев: 77
  • Публикаций: 37
^
Крякнутого jar нету, либо скачивай второй генератор для компа, либо напиши здесь свой код регистрации... я ключ напишу для него
  • Syslic

  • 19 сентября 2007 22:47
  • Группа: Посетители
  • ICQ:
  • Регистрация: 18.09.2007
  • Статус: Пользователь offline
  • Комментариев: 2
  • Публикаций: 0
^
да скочал я оба генератора, и ключи она выдают одинаковые проблема в другом:
первое я записал код на листик(ОК)
2-е ввел в строчке регистрации уже на самой мобиле(регистрация-ввести код)
3- нужно нажать галочку - вот тут то и проблема, т.к. в игре у меня галока это 3, выбор это 5 так вот нажатие на любые кнопки ничего не дает, единственное это нажать на кнопкут звонка, тогда перекидывается в предыдущее менюшко, надеюсь нормально написал.

слушай а нельзя просто отключить проверки регистрации перед восьмой миссией?
или вообще парочку миссий убрать, и сразу 10-ую?
  • EvilTH

  • 29 октября 2007 22:29
  • Группа: Посетители
  • ICQ: 397413645
  • Регистрация: 8.09.2007
  • Статус:
  • Комментариев: 14
  • Публикаций: 0
^
Спасибо за "глюч"(шутка) все подошло,просто при переустановке получилось,что игра не переустановилась,и даже не стерла старую,а просто установилась как совсем другая игра!Вот такие глюки со смартами бывают wink

--------------------
  • Группа: Посетители
  • ICQ:
  • Регистрация: 21.12.2007
  • Статус: Пользователь offline
  • Комментариев: 1
  • Публикаций: 0
^
генератор для компа не работает выдает какую то ошибку
  • SlaDER

  • 22 января 2008 14:49
  • Группа: Посетители
  • ICQ: 241
  • Регистрация: 20.08.2007
  • Статус: Пользователь offline
  • Комментариев: 251
  • Публикаций: 420
^
Санек поставь FW 2.0 или 3.5. С XP идет 1.1

--------------------
  • Группа: Посетители
  • ICQ:
  • Регистрация: 7.01.2008
  • Статус: Пользователь offline
  • Комментариев: 1
  • Публикаций: 0
^
Привет всем! BlackFan и SlaDER Вы бы не могли мне ответить на вопрос? Там в игре есть "Обменный пункт" с ним можно что-нибудь сделать? Я имею введу чтобы он СМС не отправлял, а монетки и звезды добавлялись.
  • Группа: Посетители
  • ICQ: 1258735
  • Регистрация: 29.05.2007
  • Статус: Пользователь offline
  • Комментариев: 77
  • Публикаций: 37
^
sfgsfhsjj, ну это уже совсем не интересно получается :)
Можно попробовать отправлять смски, когда у тебя нехватает денег на отправку, но вот некоторые операторы могу снять деньги которые ты наотсылал когда у тебя они будут на счете
  • Группа: Посетители
  • ICQ:
  • Регистрация: 17.10.2007
  • Статус: Пользователь offline
  • Комментариев: 1
  • Публикаций: 0
^
в новой версии 4.0 непрокатывает кейген
прогеры отнеслись с юмором к вашему кейгену wink регестрацтю засчитывает , но после 7 уровня по центру экрана слово из 3-х букв и надпись что нелегальный ключ
  • SlaDER

  • 13 апреля 2008 08:41
  • Группа: Посетители
  • ICQ: 241
  • Регистрация: 20.08.2007
  • Статус: Пользователь offline
  • Комментариев: 251
  • Публикаций: 420
^
sanek999, администратор нашего сайта BlackFan, как раз и помогал сделать новую защиту.

--------------------
  • Группа: Посетители
  • ICQ: 1258735
  • Регистрация: 29.05.2007
  • Статус: Пользователь offline
  • Комментариев: 77
  • Публикаций: 37
^
Я просто пару советов дал :) Которыми кстати практически не воспользовались wink
  • Группа: Посетители
  • ICQ:
  • Регистрация: 21.04.2008
  • Статус: Пользователь offline
  • Комментариев: 1
  • Публикаций: 0
^
BlackFan, а как избавиться от этой "красивой" надписи? :)
  • Группа: Посетители
  • ICQ: 1258735
  • Регистрация: 29.05.2007
  • Статус: Пользователь offline
  • Комментариев: 77
  • Публикаций: 37
^
Prohojii, купить игру :)
  • Группа: Посетители
  • ICQ:
  • Регистрация: 4.03.2008
  • Статус: Пользователь offline
  • Комментариев: 4
  • Публикаций: 0
^
Я купил игру а вместо кода прислали - (танчики)(монеты).Че делать?

--------------------
  • Группа: Посетители
  • ICQ: 241
  • Регистрация: 20.08.2007
  • Статус: Пользователь offline
  • Комментариев: 251
  • Публикаций: 420
^
Пиши разработчикам, мы то что можем сделать)

--------------------
  • jjazz

  • 19 мая 2008 12:00
  • Группа: Посетители
  • ICQ: 375055397
  • Регистрация: 19.05.2008
  • Статус: Пользователь offline
  • Комментариев: 1
  • Публикаций: 0
^
никак не разберусь!!мозгов маловато recourse

надо было более ясно написать,а то я никак не поиму что с чем сложить.
  • jarumi

  • 3 июня 2008 17:33
  • Группа: Посетители
  • ICQ:
  • Регистрация: 3.06.2008
  • Статус: Пользователь offline
  • Комментариев: 1
  • Публикаций: 0
^
не пашет кряк у мну, помогите с ключиком, пожалуйста:
T3623 8004 7552
  • Vityok

  • 22 июня 2008 10:54
  • Группа: Посетители
  • ICQ:
  • Регистрация: 21.06.2008
  • Статус: Пользователь offline
  • Комментариев: 1
  • Публикаций: 0
^
А Ралли Мастер Про сможешь взломать, чтобы игра не конектилась к интернету?
  • Группа: Посетители
  • ICQ: 1233145
  • Регистрация: 16.07.2008
  • Статус: Пользователь offline
  • Комментариев: 1
  • Публикаций: 0
^
Спасибо за инструкцию. Будем пробовать.

--------------------
  • Группа: Посетители
  • ICQ:
  • Регистрация: 27.07.2008
  • Статус: Пользователь offline
  • Комментариев: 1
  • Публикаций: 0
^
Спасибо большое все работает?Я рад что есть люди которые хотят и умеют помогать другим.
  • Slavin

  • 15 августа 2008 21:51
  • Группа: Посетители
  • ICQ:
  • Регистрация: 15.08.2008
  • Статус: Пользователь offline
  • Комментариев: 2
  • Публикаций: 0
^
а почему никак не скачать кейгены? перебрасывает на гл страницу...
  • Slavin

  • 16 августа 2008 14:33
  • Группа: Посетители
  • ICQ:
  • Регистрация: 15.08.2008
  • Статус: Пользователь offline
  • Комментариев: 2
  • Публикаций: 0
^
о, спасибо большое:)
так и не могу сесть и норм свой Аутпост настроить..)если вообще реально такую защиту лишь когда надо убирать...

по крякам - спасибо тоже!:) на версию 2.3 подошло:)
  • Nzt 54

  • 17 сентября 2008 12:35
  • Группа: Посетители
  • ICQ:
  • Регистрация: 11.09.2008
  • Статус: Пользователь offline
  • Комментариев: 1
  • Публикаций: 0
^
чет я не могу найти такой строчки, может редакция прознала про взломали изменила файлики? тута вышла новая версия 4.0может потому и защиту поменяли?... recourse
  • d13

  • 26 ноября 2008 21:33
  • Группа: Посетители
  • ICQ: 2877643
  • Регистрация: 27.11.2008
  • Статус: Пользователь offline
  • Комментариев: 1
  • Публикаций: 0
^
Пожалуйста скинте KeyGen на XP для танчиков 4
Если можно на мыло sewer_mc@mail.ru & sewer_mc@hotmail.com
или напишите в icq ссылку 2877643
  • Lexus

  • 7 мая 2009 12:52
  • Группа: Посетители
  • ICQ: 6143691
  • Регистрация: 30.03.2009
  • Статус: Пользователь offline
  • Комментариев: 1
  • Публикаций: 0
^
я ниче не понял)

--------------------
  • Jban

  • 9 октября 2009 13:43
  • Группа: Посетители
  • ICQ:
  • Регистрация: 9.10.2009
  • Статус: Пользователь offline
  • Комментариев: 1
  • Публикаций: 0
^
Помогите кто-нибудь! Скиньте ссылку на кейген 4 версии....
  • Marky

  • 1 ноября 2009 13:11
  • Группа: Посетители
  • ICQ:
  • Регистрация: 1.11.2009
  • Статус: Пользователь offline
  • Комментариев: 2
  • Публикаций: 0
^
Blackfan, спасибо, скинь пожалуйста Cheats for j2me games v. 2.3

Назад Вперед
Наверх
 

Уважаемые вебмастера, Вы
просматриваете тестовую страницу
DataLife Engine.
Текущая версия 9.6.