Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

ПАКЕТНЫЙ-УРОВЕНЬ-AION

-

Статьи и руководства по Aion

- Статьи и описания мира Aion в этом разделе

Закрытая тема
 
Опции темы
Старый 14.12.2009, 01:22   #1
Заблокирован
 Разведчик
Аватар для ~ВаняБелый~
 
~ВаняБелый~ лучик света в грозовом небе~ВаняБелый~ лучик света в грозовом небе~ВаняБелый~ лучик света в грозовом небе~ВаняБелый~ лучик света в грозовом небе~ВаняБелый~ лучик света в грозовом небе~ВаняБелый~ лучик света в грозовом небе~ВаняБелый~ лучик света в грозовом небе
Регистрация: 22.11.2009
Сообщений: 36
Популярность: 896
Сказал(а) спасибо: 231
Поблагодарили 53 раз(а) в 34 сообщениях
 
Exclamation ПАКЕТНЫЙ-УРОВЕНЬ-AION

Общее понятие о пакетах

В этой статье речь пойдет о технических аспектах применяемых разработчиками эмулятора сетевой игры Aion, а именно, – о самом процессе ловли и распознавании пакетов. Так что же такое пакет? – спросите Вы. Пакет условно можно представить в виде набора каких-либо данных относящихся к определенной группе. Для примера, представим, что Вы перешли своим персонажем с первого уровня на второй. При этом, чтобы отобразить на Вашем экране такие характеристики, как – Ваш новый уровень, заработанный опыт, обновленные увеличенные значения полосы жизни (HP) и маны (MP), обновленные статы и друге параметры, – серверу нужно послать на Ваш игровой клиент общий пакет, который и будет содержать всю совокупность необходимых параметров. Этот пакет, к примеру, можно назвать как CharUpdate, так как он содержит информацию об обновлении характеристик игрового персонажа при переходе с одного уровня на другой, а также, возможно, и в других случаях. Заметьте, что параметры при смене уровня вызываются в одном пакете, но с таким же успехом они могут и вызываться по отдельности, когда возникает подобная необходимость, например, при обновлении полосы жизни (HP) в бою с кем-либо (в этом случае при каждом ударе посылается пакет, который обновляет текущее значение HP для Вашего чара и отдельный пакет, обновляющих HP моба). Таким образом мы разобрали, что каждый пакет содержит логическую связь включаемых в него параметров. Кроме того, следует упомянуть, что пакеты могут идти в двух направлениях: от сервера к клиенту и от клиента на сервер. Когда клиент пытается запросить какую либо информацию у сервера, – он отправляет клиентский пакет, на что сервер отвечает ему серверным пакетом. Иногда, на один клиентский пакет, сервер отвечает группой пакетов различного типа. А иногда бывает, что один клиентский пакет порождает поток серверных пакетов, которые прекратятся после того, как клиент даст на это команду другим отдельным пакетом.

Структура пакетов

Из чего же состоит пакет? В каждом пакете TCP/IP есть заголовок и передаваемая информация. Мы не будем разбирать здесь структуру TCP/IP, так как это Вы можете сделать самостоятельно, поискав в гугле. Мы же рассмотрим саму информацию, которые несет в себе каждый TCP/IP пакет. Что же это за информация? – А это есть ни что иное, как зашифрованный «игровой» пакет. Пакеты для логин и гейм сервера зашифрованы по разному алгоритму шифрования. Предварительно хочу Вас обрадовать, что расшифровывать и зашифровывать ничего не придется. После расшифровки структура игрового пакета выглядит следующим образом:

- Первый байт – это так называемый опкод, по которому определяется тип пакета (например, баф, апдейт персонажа, прибавка MP, использование скила и т.д.).
- Второй и третий байт – это контрольная сумма, – ее трогать и распозновать не надо
- Остальные байты несут параметры и характеристики самого пакета (в зависимости от типа пакета). Они как раз и требуют распознавания, для того чтобы знать, какие параметры или действия мы хотим отправить и какие ожидаем получить.
Инструменты, которые нам понадобятся:

1) Первым делом нужно скачать и распаковать специально разработанный снифер PacketSamurai, который и будет отлавливать и автоматически расшифровывать нам пакеты между клиентом и сервером игры Aion. Доступен он вот по этой ссылке:
[Ссылки могут видеть только зарегистрированные пользователи. ]

2) Затем скачайте и установите игровой клиент Aion. (...)

3) Если на компьютере не установлена Java (а именно нужен JRE), то скачать и установить его последнюю версию можно отсюда:
[Ссылки могут видеть только зарегистрированные пользователи. ]
Внимание! Счастливые обладатели 64-х операционных систем должны установить 32-ух битную версию JRE, в противном случае снифер у Вас просто не запустится!

4) Распакуйте архив PacketSamurai.zip в какую-нибудь папку, затем откройте эту папку и перед запуском самого снифера, установите WinPcap_4_0_2.exe который лежит в той же папке (со снифером). Чтобы запустить сам снифер, запустите файл start.bat, в результате чего у Вас отобразится два окна (консоль запуска и сама программа снифера). Если Вы закроете одно из них, то второе окно закроется автоматически, т.к. они взаимосвязаны.

Запуск игры под снифером. Интерфейс.

1) Первым делом, зарегистрируйте себе аккаунт на китайском или европейском сервере. (...) (на руоффе будем тестить прим. altry1st)

2) Откройте папку со снифером и запустите файл start.bat. В результате появится консоль и запуститься само приложение (можете свернуть их чтобы не мешались).

3) Запустите игру, создайте персонажа (если у вас его еще нет) и войдите в игровой мир. Нажмите затем ALT+TAB (чтобы свернуть окно) и перейдите в окно снифера, ко вкладке Viewer. Ниже представлен скриншот снифера, на котором с левой стороны создаются поля со списком отловленных снифером пакетов. Например, самый первый в этом списке у нас пакет от сервера с названием SM_KEY, в котором передается ключ инициализации клиенту для дальнейшего обмена пакетами. Заметьте, что вместо названия пакетов, Вы можете увидеть пустые поля. Это значит – что пакет не распознан и не прописан в файл конфигурации самого снифера. После того, как Вы распознаете какой-либо нераспознанный пакет, Вы можете самостоятельно выписать его в Ваш снифер, чтобы потом наглядно видеть его и не путать с другими еще не распознанными пакетами. Кроме поля Name, с левой стороны также присутствуют такие поля как S/C, Opcode, Time и Length. Первое поле S/C говорит нам о типе пакета: C – это пакет от клиента на сервер, а S – от сервера на клиент. Следующий параметр Opcode есть не что иное как первый байт в пакете, определяющий его тип (если Вы внимательно читали то, думаю, помните). Далее идет время, в которое данный пакет был передан (начиная с момента передачи первого пакета). Далее идет поле Length которое говорит нам о длине пакета в байтах. С правой стороны, в верхней части отображается информация о параметрах подключения и чуть ниже идет состав пакета (на белом фоне). Первый байт – это опкод, который говорит нам о типе переданного пакета. Затем идут 2 байта контрольной суммы, которые мы не учитываем, а далее следуют параметры данного пакета.

Параметры могут быть следующих типов:
Тип С: – один байт (целое число)
Тип H: – два байта (целое число)
Тип D: – четыре байта (целое число)
Тип F: – четыре байта (число с точкой)
Тип S: – строка в Unicode (1 символ занимает 2 байта)
Тип B: – набор байтов (размер может быть любым)
[Ссылки могут видеть только зарегистрированные пользователи. ]

С первого взгляда довольно трудно разделить байты в нераспознанном пакете по их типам, т.к. мы не знаем какое значение несет тот или иной байт. Так как же узнать это? Для начала предлагаю посмотреть те пакеты, которые уже распознаны, в них наглядно отображается, какие байты за что отвечают. Затем плавно переходите к нераспознанным пакетам. Некоторые типы пакетов передаются довольно часто, к таким можно отнести: пакет передвижения игрока, нпс или моба из одной точки в другую; пакеты с информацией о том или ином нпс, в который описывается их внешний вид и т.п. параметры; пакет на «эмоцию», отправляемую перед каждым новым движением из одной точки в другую, каким-либо нпс и прочее. Чтобы понять смысл в пакетах, в некоторых случая приходится входить в игру, что то менять, смотреть как изменился тот или иной пакет, затем повторно входить, опять менять на что-то другое и т.д. Затем сравнивать полученные результаты и делать выводы о назначении тех или иных исследуемых параметров. По мере продвижения, Вы уже будите «узнавать» значения в нераспознанных пакетах и процесс пойдет более высокими темпами, главное набраться немного опыта

Немного информации по часто встречающимся значениям и параметрам в пакетах:

Координаты:
Как правило идут подряд 2-3 координаты, каждая по 4 байта. Каждая координата обычно заканчивается байтом 42, 43 или 44

Пример:
1D 65 8A 44(х) D4 83 78 44(у) 78 8E FE 42(z)
(чтобы получить значение координат, нужно воспользоваться утилитой ByteConverter)

ObjectId (уникальный номер у каждого объекта в игре):
Состоит из 4 байт, оканчивающие на байте 40 всегда.
Пример.
65 64 C5 40
(чтобы получить значение, нужно перевести его в калькуляторе).

Время:
Время в игре определяется значением, прошедшее с 1 января 1970 года в секундах. В виде пакета это выглядит примерно так:
B0 42 54 4A
Обращайте внимание на первые 2 байта, если это B0 42 – то скорее всего вы нашли время.

Строки:
Каждая буква представлена в виде 2ух байт, как правило первый байт это символ, а за ним байт – нуль.
Пример
49 00 4E 00 I.N.
4F 00 4C 00 49 00 41 00 00 00 00 00 01 00 00 00 O.L.I.A………
Здесь зашифровано слово INOLIA (обратите внимание что каждая буква это набор 2ух байт)

Цвета:
Цвет представлен в игре по системе RBG – хх хх хх.
Пример цвета в байтах: F5 E1 DC 00. Первые три байта это сам цвет и последний заканчивается нулем как правило всегда.

PlayOk2 и ObjectId
Это ключ сессии и Ид объекта (персонажа) в игре (уникальный, играет ту же роль что и npcId)
Каждый из этих параметров представлен в виде 4 байт.
ObjectId – F6 15 01 00
PlayOk2 – EC A0 07 00
Чтобы узнать текущие данные для того персонажа, за которого вы играете, посмотрите в пакет SM_CHARACTER_LIST (там они определены).

Map ID:
ИД области на который вы находитесь. Пока выявлены 2 такие
90 7F 84 0C – раса элиос, значение = 210010000
10 16 1D 0D – раса Asmodial, значение = 220010000
Если будут попадаться похожие байты, то скорее всего это оно и есть.

Пример разбора пакета с опкодом 4F (из личных записей):

Данные пакеты шлются сервером на клиент по каждому объекту в определенном радиусе.
В пакете сообщаются координаты переместившегося объекта. В ответ на это, клиент отображает это перемещение. Это подтверждает один случай = когда терялось связь с сервером, объекты в мире стали неподвижны, а чар бегал. В ответ на перемещение чара отправляются те же самые пакеты. Видимо для чара установлены теже правила что и для НПС, т.е. – при когда мы отправляем его в какую-то точку, то сервер нам посылает пакеты 4F о его перемещении. А вот какой чару при входе в мир присваевается ID, это вопрос Если его знать, то не трудно найти нужный пакет 4F для чара.
Пакеты с порядковыми ID в мире имеют тип D (4 байта), оканчивающие на 40

Пакет 4F с L = 30:
4F 5D EC A0 1E 70 40 B6 34 F7 43 41 0A 7E 44 8A O]…[Ссылки могут видеть только зарегистрированные пользователи. ].~D.
15 E5 42 3F E4 29 32 F9 43 07 25 7E 44 5A 60 E3 ..B?.)2.C.%~DZ`.
42 B
Параметры:
1 – D(); – ID объекта в игровом мире
2 – F(); – координата Х – 494.
3 – F(); – координата У – 1016.
4 – F(); – координата Z – 114.
5 – С(); – ориентация
6 – C(); – тип
7 – F(); – координата Х – 498.
8 – F(); – координата У – 1016.
9 – F(); – координата Z – 113.

Пакет 4F с L = 18:
4F 5D EC A0 1E 70 40 46 32 F9 43 E2 24 7E 44 2A O]…[email protected].$~D*
60 E3 42 0B 00 `.B..
Параметры:
1 – D(); – ID объекта в игровом мире
2 – F(); – координата Х – 498.
3 – F(); – координата У – 1016.
4 – F(); – координата Z – 113.
5 – С(); – ориентация
6 – С(); – тип

Общие рекомендации

1) Тот пакет который вы пытаетесь распознать, – снифте его больше и результат каждого дампа байтов сохраняйте в блокноте например, а потом сравнивайте, что вы изменили в игре и что изменилось в байтах.

2) Чаще переводите байты в числа через калькулятор в десятеричный вид, а затем попробуйте определить что это за число.

Автор: SEr (c) (aionemu.ru)

[Ссылки могут видеть только зарегистрированные пользователи. ]

Последний раз редактировалось ~ВаняБелый~; 14.12.2009 в 02:49.
 
3 пользователя(ей) сказали cпасибо:
Flapes (25.12.2009), SlipX (07.01.2010), Tiger (14.12.2009)
Старый 29.12.2009, 00:24   #2
Подпольщик
 Сержант
Аватар для roma!sk
 
roma!sk лучик света в грозовом небеroma!sk лучик света в грозовом небеroma!sk лучик света в грозовом небеroma!sk лучик света в грозовом небеroma!sk лучик света в грозовом небеroma!sk лучик света в грозовом небеroma!sk лучик света в грозовом небе
Регистрация: 12.04.2008
Сообщений: 147
Популярность: 748
Сказал(а) спасибо: 100
Поблагодарили 103 раз(а) в 52 сообщениях
Отправить сообщение для roma!sk с помощью Skype™
 
По умолчанию Re: ПАКЕТНЫЙ-УРОВЕНЬ-AION

чет у меня вообще пакеты не ловит =\
________________
какгвсигда!11(9(
 
Старый 31.07.2010, 16:22   #3
 Разведчик
Аватар для zuzukas
 
zuzukas никому не известный тип
Регистрация: 31.07.2010
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: ПАКЕТНЫЙ-УРОВЕНЬ-AION

Кто нить еще следит за темой??
ERROR: No Network Interfaces have been found!
вкладка Viewer пустая, система 7ка
 
Старый 26.08.2010, 20:18   #4
 Разведчик
Аватар для Bladeses
 
Bladeses никому не известный тип
Регистрация: 11.08.2010
Сообщений: 6
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: ПАКЕТНЫЙ-УРОВЕНЬ-AION

1) Первым делом нужно скачать и распаковать специально разработанный снифер PacketSamurai, который и будет отлавливать и автоматически расшифровывать нам пакеты между клиентом и сервером игры Aion. Доступен он вот по этой ссылке:
[Ссылки могут видеть только зарегистрированные пользователи. ] када кликаю на ссылку ошибку пишет
 
Старый 26.08.2010, 20:27   #5
Подпольщик Aion
 Лейтенант-командор
Аватар для talala
 
talala сломал счётчик популярности :(talala сломал счётчик популярности :(talala сломал счётчик популярности :(talala сломал счётчик популярности :(talala сломал счётчик популярности :(talala сломал счётчик популярности :(talala сломал счётчик популярности :(talala сломал счётчик популярности :(talala сломал счётчик популярности :(talala сломал счётчик популярности :(talala сломал счётчик популярности :(
Регистрация: 17.07.2009
Сообщений: 683
Популярность: 11669
Золото Zhyk.Ru: 100
Сказал(а) спасибо: 567
Поблагодарили 1,011 раз(а) в 383 сообщениях
Отправить сообщение для talala с помощью ICQ
 
По умолчанию Re: ПАКЕТНЫЙ-УРОВЕНЬ-AION

Используйте другой браузер


[Ссылки могут видеть только зарегистрированные пользователи. ]
________________
подполье Аион - для суровых подпольщиков
Восстановлена работоспособность одного из лучших радаров для Аион. Спасибо автору(ам) =)
Path of Exile - в настоящее время там.

Последний раз редактировалось talala; 27.08.2010 в 00:27.
 
Старый 26.08.2010, 20:34   #6
 Разведчик
Аватар для Bladeses
 
Bladeses никому не известный тип
Регистрация: 11.08.2010
Сообщений: 6
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: ПАКЕТНЫЙ-УРОВЕНЬ-AION

я дурак=) да вроде нет=) не работает
 
Старый 31.08.2010, 17:15   #7
 Пехотинец
Аватар для VSamurayV
 
VSamurayV на правильном пути
Регистрация: 29.06.2010
Сообщений: 72
Популярность: 71
Сказал(а) спасибо: 47
Поблагодарили 24 раз(а) в 14 сообщениях
Отправить сообщение для VSamurayV с помощью Skype™
 
По умолчанию Re: ПАКЕТНЫЙ-УРОВЕНЬ-AION

перехожу в Viewer А там ничево нет просто белый фон
 
Старый 02.09.2010, 16:31   #8
 Разведчик
Аватар для mosdon
 
mosdon на правильном пути
Регистрация: 29.07.2010
Сообщений: 35
Популярность: 26
Сказал(а) спасибо: 4
Поблагодарили 8 раз(а) в 8 сообщениях
 
По умолчанию Re: ПАКЕТНЫЙ-УРОВЕНЬ-AION

а подскажите хотя бы примеры что можно делать с этими пакетами и получать какие нибудь приемущества в игре:-)))
 
Старый 06.11.2010, 15:09   #9
 Разведчик
Аватар для hope18666
 
hope18666 никому не известный тип
Регистрация: 05.11.2010
Сообщений: 21
Популярность: 18
Сказал(а) спасибо: 0
Поблагодарили 4 раз(а) в 4 сообщениях
 
По умолчанию Re: ПАКЕТНЫЙ-УРОВЕНЬ-AION

Цитата:
Сообщение от BladesesПосмотреть сообщение
я дурак=) да вроде нет=) не работает

если не отлавливает пакеты значит на серве не включена функция на принятие ложных пакетов(# This will enable or disable the messages for unknown packets
gameserver.network.display.unknownpackets = <true>)не стоит true после =
 
Старый 06.11.2010, 15:22   #10
 Разведчик
Аватар для Кирилл14
 
Кирилл14 никому не известный тип
Регистрация: 11.04.2010
Сообщений: 36
Популярность: 10
Сказал(а) спасибо: 6
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: ПАКЕТНЫЙ-УРОВЕНЬ-AION

у мну не словило пакеты((
________________
 
Старый 06.11.2010, 16:08   #11
 Разведчик
Аватар для hope18666
 
hope18666 никому не известный тип
Регистрация: 05.11.2010
Сообщений: 21
Популярность: 18
Сказал(а) спасибо: 0
Поблагодарили 4 раз(а) в 4 сообщениях
 
По умолчанию Re: ПАКЕТНЫЙ-УРОВЕНЬ-AION

Цитата:
Сообщение от Кирилл14Посмотреть сообщение
у мну не словило пакеты((

папробуй тогда эту прогу <wpe pro>
 
Пользователь сказал cпасибо:
Кирилл14 (06.11.2010)
Закрытая тема


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Руководство] FAQ по l2phx, пакетный уровень Razzor Скрипты и перехват пакетов 140 10.10.2023 12:03
[Статья] Пакетный уровень RF Online для новичков Den1S Rising Force Online 7 08.02.2010 13:48
Java сервер Aion от Aion-Unique версии 301 OneShot Серверная часть 0 06.11.2009 15:01
[Пакеты] Уменьшаем время "отсидки" (пакетный уровень) Razzor Подполье Lineage 2 (0 уровень) 1 26.07.2009 23:49

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 18:14.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net