Сейчас на форуме: _MBK_, vsv1 (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Алгоритм шифрования данных в Lineage2Server(PTS)
Посл.ответ Сообщение

Ранг: 12.4 (новичок)
Активность: 0.010
Статус: Участник

Создано: 21 марта 2007 18:26
· Личное сообщение · #1

Кто может подсказать чем зашифровываются аккаунты на lineage PTS сервере, и есть ли утилиты для рассшифровки...
Вид хэша такой: 35D0F102BB6659B2871E3838F56F4949



Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 21 марта 2007 18:36
· Личное сообщение · #2

если ява то
$encrypted=base64_encode(pack("H*", sha1(utf8_encode($_POST['pass']))));
так пакуется



Ранг: 12.4 (новичок)
Активность: 0.010
Статус: Участник

Создано: 23 марта 2007 13:09
· Личное сообщение · #3

Да с явой все ясно, меня интересует PTS(тот что потянули у NCSoft).



Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 23 марта 2007 13:24
· Личное сообщение · #4

вот код на пхп для криптования
function encrypt($str) {
$key = array();
$dst = array();
$i = 0;

$nBytes = strlen($str);
while ($i < $nBytes){
$i++;
$key[$i] = ord(substr($str, $i - 1, 1));
$dst[$i] = $key[$i];
}

$rslt = $key[1] + $key[2]*256 + $key[3]*65536 + $key[4]*16777216;
$one = $rslt * 213119 + 2529077;
$one = $one - intval($one/ 4294967296) * 4294967296;

$rslt = $key[5] + $key[6]*256 + $key[7]*65536 + $key[8]*16777216;
$two = $rslt * 213247 + 2529089;
$two = $two - intval($two/ 4294967296) * 4294967296;

$rslt = $key[9] + $key[10]*256 + $key[11]*65536 + $key[12]*16777216;
$three = $rslt * 213203 + 2529589;
$three = $three - intval($three/ 4294967296) * 4294967296;

$rslt = $key[13] + $key[14]*256 + $key[15]*65536 + $key[16]*16777216;
$four = $rslt * 213821 + 2529997;
$four = $four - intval($four/ 4294967296) * 4294967296;

$key[4] = intval($one/16777216);
$key[3] = intval(($one - $key[4] * 16777216) / 65535);
$key[2] = intval(($one - $key[4] * 16777216 - $key[3] * 65536) / 256);
$key[1] = intval(($one - $key[4] * 16777216 - $key[3] * 65536 - $key[2] * 256));

$key[8] = intval($two/16777216);
$key[7] = intval(($two - $key[8] * 16777216) / 65535);
$key[6] = intval(($two - $key[8] * 16777216 - $key[7] * 65536) / 256);
$key[5] = intval(($two - $key[8] * 16777216 - $key[7] * 65536 - $key[6] * 256));

$key[12] = intval($three/16777216);
$key[11] = intval(($three - $key[12] * 16777216) / 65535);
$key[10] = intval(($three - $key[12] * 16777216 - $key[11] * 65536) / 256);
$key[9] = intval(($three - $key[12] * 16777216 - $key[11] * 65536 - $key[10] * 256));

$key[16] = intval($four/16777216);
$key[15] = intval(($four - $key[16] * 16777216) / 65535);
$key[14] = intval(($four - $key[16] * 16777216 - $key[15] * 65536) / 256);
$key[13] = intval(($four - $key[16] * 16777216 - $key[15] * 65536 - $key[14] * 256));

$dst[1] = $dst[1] ^ $key[1];

$i=1;
while ($i<16){
$i++;
$dst[$i] = $dst[$i] ^ $dst[$i-1] ^ $key[$i];
}

$i=0;
while ($i<16){
$i++;
if ($dst[$i] == 0) {
$dst[$i] = 102;
}
}

$encrypt = "0x";
$i=0;
while ($i<16){
$i++;
if ($dst[$i] < 16) {
$encrypt = $encrypt . "0" . dechex($dst[$i]);
} else {
$encrypt = $encrypt . dechex($dst[$i]);
}
}

return $encrypt;
}




Ранг: 12.4 (новичок)
Активность: 0.010
Статус: Участник

Создано: 23 марта 2007 19:39
· Личное сообщение · #5

thx, вроде оно, терь надо разобраться как это декриптовать...



Ранг: 1.9 (гость)
Активность: 0=0
Статус: Участник

Создано: 08 апреля 2007 20:51
· Личное сообщение · #6

в линейке ПТС используется RSA шифрование пароля. насколько я помню в клиент вшит публичный ключ для шифровки. который клиент получает у сервера. типа того. если честно не помню. такая тема помнималась где-то, если не изменяет память allcheats.ru
PS: исходники Линейки ни у кого не завалялись?


 eXeL@B —› Вопросы новичков —› Алгоритм шифрования данных в Lineage2Server(PTS)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати