MOBI.GEOWAP.MOBI - мобильные технологии








 
Востанавливаем забытый пароль от World Of Tanks средствами PHP

Очень давно поставил себе игру "World Of Tanks", и благополучно о ней забыл.

Недавно меня попросили сыграть за компанию и я вспомнил, что у меня был аккаунт, но пароль от него я не помнил, но он был сохранен в файле настроек игры. Пароль естественно зашифрован и я начал искать пути его расшифровки.

 

 

Нашел в сети ресурс с примером реализации дешифратора на Perl-е, но PHP наше все и я решил исправить это недоразумение и переписать скрипт на PHP.

 

Вот что получилось из этого:

 

<?php

/**
 * @author Ray Icemont
 * @copyright 2012
 * @site http://mobi.geowap.mobi
 * @icq 225-88-35
 */


/**
 * Наш класс для расшифровки
 */

class wot_pass
{
    protected 
$key;
    protected 
$pass;
    private 
$pass_len;
    public 
$result;

    public function 
__construct($pass '')
    {
        
$this->pass $pass;
        
$this->pass base64_decode($this->pass);
        
$this->pass substr($this->pass11strlen($this->pass) - 1);

        
$this->key = array();
        
$this->pass_len strlen($this->pass);

        
$max_index ceil($this->pass_len 8);
        for (
$a 0$a $max_index$a++)
        {
            
$this->key array_merge($this->key, array(651085210210369120107));
        }
    }

    public function 
decode()
    {
        for (
$x 0$x $this->pass_len$x++)
        {
            
$char_pass substr($this->pass$x1);
            
$this->result .= chr(ord($char_pass) ^ $this->key[$x]);
        }
        echo 
$this->result;
    }
}

/**
 * Пример использования
 */

# Создаем новый объект и задаем base64 строку c паролем
$mypass = new wot_pass('I29iZnVzY2F0ZTpwXQVXVnRJWnBdBVdWdEk=');
# Расшифровываем и выводим пароль
$mypass->decode();

?>

 

Сам файл с настройками "preferences.xml" лежит в папке "Application Data" текущего пользователя. Например, если имя пользователя Vasya, то файл будет лежать по следующему пути для Windows XP:

 

C:\Documents and Settings\Vasya\Application Data\wargaming.net\WorldOfTanks\

 

А сам пароль в файле в разделе <loginInfo>, например:
<password> I29iZnVzY2F0ZTpwXQVXVnRJWnBdBVdWdEk= </password>



Комментарии посетителей

Мегареспектище и уважуха!!! Твой скриптик мне очень помог, читал ту статейку про способ на на Perl-е, мозг чуть не сломал, наткнулся на твой пост, пол дня изучения азов PHP, + твой скрипт и вуаля - все получилось!!! Еще раз большое тебе человеческое спасибо!!!


Имя: *

E-mail: *


Текст сообщения (max. 1000 символов): *
 B  I  U  S
:-) :-( ;-) :-P 8-) :-D :-O :-[ :-* [:] ;-[



Код: Проверочный код




  Яндекс тИЦ
© 2009 by "MOBI.GEOWAP.MOBI - Mobile technologies"
Сайт создан и управляется системой управления контентом "MKateCMS"
Запрещено полное и/или частичное копирование материалов сайта.