А вот давайте без сИкретов.Ну все мы были новичками.Говорящий не знает, знающий не говорит
Чистый OpenKore / заработает ли он на офе?
Модератор: 4epT
- piroJOKE
- Модератор
- Сообщения: 8205
- Зарегистрирован: Сб ноя 04, 2006 2:20 am
- Сервер RO:: localhost
- Откуда: Molvania
Оффтоп!
Добавлено спустя 5 минут 7 секунд:
КМ, ты по-моему малость перегнул. Вопрос-то был относительно простой, а ты его со всеми выкладками начал объяснять...
Как шутили те же китайцы, "только не понятно, как же он с такими закидонами написал книгу в десять тысяч слов?!"Jerry писал(а):Говорящий не знает, знающий не говорит.
Добавлено спустя 5 минут 7 секунд:
КМ, ты по-моему малость перегнул. Вопрос-то был относительно простой, а ты его со всеми выкладками начал объяснять...
Funt
Ассемблер нужно знать если ты пытаешься сделать Кору совместимой с абсолютно новыми пакетами, оно сильно помогает. Но можно и без него обойтись.
С другой стороны. Посейдон, который идёт в комплекте с ОК, он-же микро сервер. Базовых функций почти 0, но например для изучения поведения клиента или-же поиску связей между пакетами итд. сильно помогает. ТЕ ты в нём, при некоторых знаниях можешь емулировать то или иное поведение сервера, не прибегая к использованию оного.
Ассемблер нужно знать если ты пытаешься сделать Кору совместимой с абсолютно новыми пакетами, оно сильно помогает. Но можно и без него обойтись.
С другой стороны. Посейдон, который идёт в комплекте с ОК, он-же микро сервер. Базовых функций почти 0, но например для изучения поведения клиента или-же поиску связей между пакетами итд. сильно помогает. ТЕ ты в нём, при некоторых знаниях можешь емулировать то или иное поведение сервера, не прибегая к использованию оного.
- 4epT
- macro-маньячина
- Сообщения: 2792
- Зарегистрирован: Чт дек 21, 2006 1:23 pm
- Сервер RO:: 4game
- Discord: ya4ept#8494
- Контактная информация:
Poseidon - the GameGuard solution
Guide to figuring server information using Poseidon
GameGuard solution: Poseidon
кароче тут всё
Guide to figuring server information using Poseidon
GameGuard solution: Poseidon
кароче тут всё
Последний раз редактировалось 4epT Пн дек 10, 2007 7:39 pm, всего редактировалось 3 раза.
-
- Грамотный
- Сообщения: 233
- Зарегистрирован: Чт дек 14, 2006 10:21 pm
- Откуда: Прекрасный город на Неве...
Хм...На днях залез в исходники(ибо наконец поставил редактор с подсветкой синтаксиса)...
Мда...
Самый больфой файл в папочке Send оказался ServerType0.pm
На скока я понял там как раз описывается каждый пакет.Но возникает сразу вопрос:Почему скажем в ServerType9 почти пустой а для 0 стока всего много прописано?
Разбираемся на примерах...
И вот что тут прописано?
Саб функция,которая добавляет статы...
Больше всего интересует строчка
Маус опиши PlS!
Мда...
Самый больфой файл в папочке Send оказался ServerType0.pm
На скока я понял там как раз описывается каждый пакет.Но возникает сразу вопрос:Почему скажем в ServerType9 почти пустой а для 0 стока всего много прописано?
Разбираемся на примерах...
Код: Выделить всё
sub sendAddSkillPoint {
my ($self, $skillID) = @_;
my $msg = pack("C*", 0x12, 0x01) . pack("v*", $skillID);
$self->sendToServer($msg);
Саб функция,которая добавляет статы...
Больше всего интересует строчка
...my $msg = pack("C*", 0x12, 0x01) . pack("v*", $skillID);
Маус опиши PlS!
Самый лучший сервер-Земля!Огромная карта,6милиардов игроков,терпеливый админ...Вот тока бота для этого сервера не существует
Funt
Ну хорошо. Опишу как работает Network::*
Это всё классы с импликациями.
Структура такова.
Network::Send -> Network::Send::ServerType0 -> Network::Send::ServerTypeN
Когда мы вызываем функцию из Network::Send оно смотрит сначала в самый последний дочерний класс и далее чем ближе к себе.
Например, мы можем написать что-то в Network::Send::ServerTypeN, но такая функция уже есть в Network::Send::ServerType0, и она заменится таким образом, что всё чего нет в Network::Send::ServerTypeN будет браться с Network::Send::ServerTypeN.
ЗЫ: Теперь конкретно по твоему вопросу:
Смотрим что оно делает. Мы видим что пакет формируется из двух частей:
Точка посерёдке говорит нам, что данные добавляются в конец массива.
Теперь посмотрим в мануал по перлу, и найдём описание функции "pack" (http://perldoc.perl.org/functions/pack.html);
С описания стаёт ясно что:
"C*" <-- побайтовая последовательность.
"v*" <-- последовательность двухбайтовых чисел.
ТЕ. Наш пакет состоит из 4х байт, где первые два всегда префикс пакета.
Ну хорошо. Опишу как работает Network::*
Это всё классы с импликациями.
Структура такова.
Network::Send -> Network::Send::ServerType0 -> Network::Send::ServerTypeN
Когда мы вызываем функцию из Network::Send оно смотрит сначала в самый последний дочерний класс и далее чем ближе к себе.
Например, мы можем написать что-то в Network::Send::ServerTypeN, но такая функция уже есть в Network::Send::ServerType0, и она заменится таким образом, что всё чего нет в Network::Send::ServerTypeN будет браться с Network::Send::ServerTypeN.
ЗЫ: Теперь конкретно по твоему вопросу:
Код: Выделить всё
my $msg = pack("C*", 0x12, 0x01) . pack("v*", $skillID);
Код: Выделить всё
1) pack("C*", 0x12, 0x01)
2) pack("v*", $skillID)
Теперь посмотрим в мануал по перлу, и найдём описание функции "pack" (http://perldoc.perl.org/functions/pack.html);
С описания стаёт ясно что:
"C*" <-- побайтовая последовательность.
"v*" <-- последовательность двухбайтовых чисел.
ТЕ. Наш пакет состоит из 4х байт, где первые два всегда префикс пакета.
- piroJOKE
- Модератор
- Сообщения: 8205
- Зарегистрирован: Сб ноя 04, 2006 2:20 am
- Сервер RO:: localhost
- Откуда: Molvania
Дополнение - "V*" - четыре байта (большое V, обрати внимание, а меленькое - два байта).
По сервер-тайпам. Коротко говоря, изначально все сервера были serverType 0. Однако потом появились версии с изменениями в пакетах. Причем зачастую они отличались структурой 5...10 пакетов, не всеми пакетами. Результат на такущий момент - в файлах serverType # описаны изменения пакетов относительно базовой версии - serverType 0.
По сервер-тайпам. Коротко говоря, изначально все сервера были serverType 0. Однако потом появились версии с изменениями в пакетах. Причем зачастую они отличались структурой 5...10 пакетов, не всеми пакетами. Результат на такущий момент - в файлах serverType # описаны изменения пакетов относительно базовой версии - serverType 0.
-
- Грамотный
- Сообщения: 233
- Зарегистрирован: Чт дек 14, 2006 10:21 pm
- Откуда: Прекрасный город на Неве...
Вот имено так как сказал пирожок я и думал.То есть преположим,если eA Что то поменяют(ServerType 9 на скока я понял из описания),то меняем мы там пакеты.Хм...Кстати раз уж зашла тема о ServerType'ах,то зачем их стока?Почему вводили их а не использовали 1 с постоянными изменениями?Хотя по любому их должно было быть как минимум два- 1 для AEGIS другой для eA.
Кстати вот ещё...Смотрим.Вот ведь в WPE любой пакет имеет вид:
Вот тут я атаковал СС'а...
М...И как тут выдрать нужный пакет?
Который дошифровывает наш шифратор или что там???ТЕ. Наш пакет состоит из 4х байт, где первые два всегда префикс пакета
Кстати вот ещё...Смотрим.Вот ведь в WPE любой пакет имеет вид:
Код: Выделить всё
1 81.177.13.35:5000 MyIP 10 Recv
0000 88 00 27 EB 00 00 21 00 20 00 ..'...!. .
2 MyIP 81.177.13.35:5000 6 Send
0000 98 4F 18 70 20 00 .O.p .
3 81.177.13.35:5000 MyIP 29 Recv
0000 8A 00 27 EB 00 00 60 EE 04 00 6D C4 84 0A 40 02 ..'...`...m...@.
0010 00 00 D8 01 00 00 00 00 00 00 00 00 00 .............
4 81.177.13.35:5000 MyIP 6 Recv
0000 7F 00 B6 C4 84 0A ......
5 81.177.13.35:5000 MyIP 43 Recv
0000 88 00 27 EB 00 00 21 00 20 00 DE 01 5B 01 27 EB ..'...!. ...[.'.
0010 00 00 60 EE 04 00 B2 C6 84 0A 40 02 00 00 00 00 ..`.......@.....
0020 00 00 00 00 00 00 FF FF 01 00 06 ...........
6 81.177.13.35:5000 MyIP 39 Recv
0000 88 00 27 EB 00 00 21 00 20 00 8A 00 27 EB 00 00 ..'...!. ...'...
0010 60 EE 04 00 A0 CF 84 0A 40 02 00 00 D8 01 00 00 `.......@.......
0020 00 00 00 00 00 00 00 .......
7 81.177.13.35:5000 MyIP 8 Recv
0000 B0 00 07 00 3D 01 00 00 ....=...
8 MyIP 81.177.13.35:5000 7 Send
0000 74 4C 27 EB 00 00 07 tL'....
9 81.177.13.35:5000 MyIP 29 Recv
0000 8A 00 60 EE 04 00 27 EB 00 00 7D D7 84 0A 33 01 ..`...'...}...3.
0010 00 00 B0 01 00 00 EA 00 01 00 00 07 00 .............
10 81.177.13.35:5000 MyIP 10 Recv
0000 88 00 27 EB 00 00 21 00 20 00 ..'...!. .
М...И как тут выдрать нужный пакет?
Самый лучший сервер-Земля!Огромная карта,6милиардов игроков,терпеливый админ...Вот тока бота для этого сервера не существует