Страница 1 из 21

The Worlds / к счастью, сервер прекратил свое существование

Добавлено: Вт дек 05, 2006 1:57 pm
morz
Проблема вот какая...Они (админы сервера) гоношатся и занимаются слиянием с РусРО (его остатками). Запустили тестовый сервер. То, что сервер тестовый, не принципиально. Запуск клиента (ихнего, пропатченного) осуществляется файлом, который что-то делает(что делает - не знаю), а потом сам запускает другой файл (клиент). Без запуска первого файла (сразу запустить клиент) при вводе логина-пароля выскакивает сообщение об отказе в доступе. Соответственно при запуске Коры происходит тоже самое.

Пытался черех х-кор...Пишет, что клиент найден, давай логинься. Логинюсь. И ничего. В коре как висела надпись давай логинься, так и висит. %)

И картинка из WPE, вдруг поможет.
Изображение


ЗЫ Ногами не бить! :)


Добавлено

Название The Worlds (скорее всего будет изменено)

http://ragnarokonline2.ru/

http://the-worlds.net

http://newro.in/


Поскольку у них пока всё в процессе инфы никакой и не давал.
Могу только дать кусок поста с форума РусРО, там ссылки...Вот и всё.


Вопрос то не о том...Вопрос как, что и почему.


Про дежавю - нипоняль.

Добавлено: Вт дек 05, 2006 2:04 pm
piroJOKE
Эй, выясни название сервера, дай URL-ки человеческие, оформи всё нормально!!!!

(На тему скриншота: дежавю, ы?)

Добавлено: Вт дек 05, 2006 2:23 pm
morz
Добавил всё, что знаю на данный момент

Добавлено: Вт дек 05, 2006 2:47 pm
kLabMouse
ГГ. XOR 4D.

Добавлено: Вт дек 05, 2006 2:50 pm
morz
Что это значит?

Добавлено: Вт дек 05, 2006 2:53 pm
kLabMouse
Возьми Обычный Виндовый Калькулятор. Переключи в Инженерный Режим. Тма В HEX там будет такой прикол.
Кадий байтик Ксорим на 4D.

Добавлено: Вт дек 05, 2006 3:01 pm
morz
Один хрен ничего не понял...Если не очень сложно - объясните.


Поигрался с калькулятором...Понял, что все числа изменены...Но что это даёт? (Сразу извиняюсь, если идиотские вопросы задаю, но хотелось бы понять)

Добавлено: Вт дек 05, 2006 3:07 pm
piroJOKE
Это всё здорово, но как этот поток "расшифровать" в Kore?

Добавлено: Вт дек 05, 2006 3:15 pm
kLabMouse
piroJOKE
Ща Подумаю. И выдам Лекарство. Правда Не исключено Что некоторые Пакеты как-то по другому Делаются.

Добавлено: Вт дек 05, 2006 3:18 pm
morz
kLabMouse писал(а):piroJOKE
Ща Подумаю. И выдам Лекарство. Правда Не исключено Что некоторые Пакеты как-то по другому Делаются.
Ну это я проверю опытным путём...Если заработает, конечно.

Добавлено: Вт дек 05, 2006 4:09 pm
kLabMouse
И так. Написал. Правда пока не тестировал потому возможны баги.
И так.
Нам нужен Network.pm
Зделаем с ним вот ето:
###############
#
# Support for Protocol HEX Encryption
#
sub encrypt_decrypt {
my $r_msg = shift;
my $themsg = shift;
my $out;
my $mask;
my $temp;
my $i;

$mask = pack("C1", 0x4D);

$out = "";
for ($i = 0; $i < length($r_msg);$i++) {
$temp = substr($r_msg, $i, 1);
$temp ^= $mask;
$out .= $temp;
}
$$r_msg = $out;
}

##
# $net->serverSend()
#
#
sub serverSend {
my $self = shift;
my $msg = shift;
encrypt_decrypt(\$msg, $msg);
$self->{remote_socket}->send($msg) if ($self->serverAlive);
}

##
# $net->serverRecv()
# Returns:
#
sub serverRecv {
my $self = shift;
my $msg;

return undef unless (dataWaiting(\$self->{remote_socket}));

$self->{remote_socket}->recv($msg, $Settings::MAX_READ);
if ($msg eq '') {
# Connection from server closed
close($self->{remote_socket});
return undef;
}
encrypt_decrypt(\$msg, $msg);
return $msg;
}

Добавлено: Вт дек 05, 2006 4:21 pm
morz
kLabMouse писал(а):И так. Написал. Правда пока не тестировал потому возможны баги.
И так.
Нам нужен Network.pm
Зделаем с ним вот ето:
###############
#
# Support for Protocol HEX Encryption
#
sub encrypt_decrypt {
my $r_msg = shift;
my $themsg = shift;
my $out;
my $mask;
my $temp;
my $i;

$mask = pack("C1", 0x4D);

$out = "";
for ($i = 0; $i < length($r_msg);$i++) {
$temp = substr($r_msg, $i, 1);
$temp ^= $mask;
$out .= $temp;
}
$$r_msg = $out;
}

##
# $net->serverSend()
#
#
sub serverSend {
my $self = shift;
my $msg = shift;
encrypt_decrypt(\$msg, $msg);
$self->{remote_socket}->send($msg) if ($self->serverAlive);
}

##
# $net->serverRecv()
# Returns:
#
sub serverRecv {
my $self = shift;
my $msg;

return undef unless (dataWaiting(\$self->{remote_socket}));

$self->{remote_socket}->recv($msg, $Settings::MAX_READ);
if ($msg eq '') {
# Connection from server closed
close($self->{remote_socket});
return undef;
}
encrypt_decrypt(\$msg, $msg);
return $msg;
}

Попробовал..Не пашет. Может я чего не так делаю?

Вопросы - это всё пулять ВМЕСТО того, что есть нетворк.пм, или ВМЕСТЕ с ним? Если вместе - то куда именно, или пофиг? И в каком режиме оно должно работать - с х-кор, без х-кор, или в обоих?

Поправка - Не пашет переводится как Ничего не изменилось.


Ещё поправка - похоже я всётаки тупой...Разбираюсь.

Добавлено: Вт дек 05, 2006 4:27 pm
kLabMouse
sub encrypt_decrypt Допишеш чуть вышше serverSend.
serverSend и serverRecv Немного подредактируй чтоб нормально подходило.
Если уже и то не сможеш. То прийдётся всё-таки выставить Network.pm (чего я не хотел бы делать)

Добавлено: Вт дек 05, 2006 4:32 pm
kLabMouse
Лана Выставлю дабы не смущать нубасов. Только Предупреждаю!
ТОЛЬКО ДЛЯ ТЕСТИРОВАНИЯ, МОЖЕТ ВЫЗВАТЬ КУЧУ БАГОВ С ВОЗМОЖНЫМ БАНОМ. ПОЕТОМУ ОСПОЛЬЗУЙТЕ НА СВОЙ СТРАХ И РИСК.

Добавлено: Вт дек 05, 2006 4:50 pm
morz
Спасибо за то, что выложил..Попробую..Хотя сделал всё в точности. Перепроверил несколько раз - результат 0. Посмотрим что будет с полным файлом.


Добавлено
Опять по нулям. Тоесть не поменялось ничего... :(