Вернуться   CoderX :: Forums > Lineage II > L2PacketHack
Войти через OpenID

L2PacketHack Форум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела! Обсуждение багов Lineage ЗАПРЕЩЕНО!

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 17.05.2016, 16:11   #1
Новичок
 
Аватар для Linux
 
Регистрация: 17.05.2016
Сообщений: 14
Сказал Спасибо: 5
Имеет 0 спасибок в 0 сообщенях
Linux пока неопределено
По умолчанию Управление пакетами из консольного приложения

Вступление
Хочу устроить флеш-моб на сервере, так сказать синематик-шоу на тысяч 5 персонажей
Создавать персонажей, покупать у нпс нужные расходники, бафаться и идти на ивент по заданному маршруту в ручном режиме это очень напряжно для такого количества персонажей. Хочется потрудиться над сценарием для одного персонажа и прогнать его для всех.

План мероприятий
1) При помощи L2PH отловить нужные моей программе клиент/серверные пакеты.
2) Консольная программа (на Delphi) воспроизводит набор пакетов в заданной последовательности

Необходимые действия в игре
1) ЛогИн/ЛогОфф на сервер
*) Выбор сервера и коннект на сервер
2) Создание персонажа (ник, раса, класс, пол и т.д.)
3) Релог персонажа по имени
4) Движение (хотьба/бег) в точку с указанными координатами (X,Y,Z)
5) Использование телепорта (выбор нужного пункта в меню ГК)
6) Покупка определенного предмета у НПС
7) Получение бафа у определенного НПС
8) Получение сведений о количестве определенного предмета в инвентаре
9) Отправка личного сообщения другому персонажу, с указанием ссылки на предмет в инвентаре (шифтинг)

Исходные данные
- сервер High Five, платформа PTS
- версия L2PH имеющаяся в наличии - 3.5.34.176

Вопросы
1) Возможно ли в принципе реализовать такую задумку?
2) Позволит ли L2PH на пакетном уровне отловить все пакеты взаимодействий, что я описал в разделе "Необходимые действия в игре"?
2) Какие трудности могут встретиться на пути реализации?

Последний раз редактировалось Linux, 18.05.2016 в 17:57.
Linux вне форума   Ответить с цитированием
Старый 17.05.2016, 21:54   #2
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Необходимые действия в игре
1) ЛогИн/ЛогОфф на сервер
2) Создание персонажа (ник, раса, класс, пол и т.д.)
3) Релог персонажа по имени
эти подпункты пакетхак не сможет выполнить.
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 18.05.2016, 16:45   #3
Новичок
 
Аватар для Linux
 
Регистрация: 17.05.2016
Сообщений: 14
Сказал Спасибо: 5
Имеет 0 спасибок в 0 сообщенях
Linux пока неопределено
По умолчанию

Цитата:
Сообщение от NLObP Посмотреть сообщение
эти подпункты пакетхак не сможет выполнить.
Я из поиска нашел ваше упоминание о la2_client_emu, где говорилось что этот пример позволяет авторизоваться на Логин-Сервер L2. Собрал приложение на D7, и, за не имением документации на этот пример, вопрос: представленный лог о выполнении является ли корректным? Как понять работает ли он в целом?

Код:
WinSocket Library has been initialised
Connected to Remote Server

Server MSG, Length: 186 (0xBA)
-------------------------------------------------------

RSA Key changed
BlowFish key changed

Client MSG, Length: 42 (0x2A)
-------------------------------------------------------

Server MSG, Length: 42 (0x2A)
-------------------------------------------------------

Client MSG, Length: 178 (0xB2)
-------------------------------------------------------

Server MSG, Length: 66 (0x42)
-------------------------------------------------------

Login Ok

Client MSG, Length: 34 (0x22)
-------------------------------------------------------

RS was Disconnected
RS disconnected
смущает меня что сразу же происходит и дисконнект
может кто предоставить полный листинг рабочего коннекта данного примера? и если можно с указанием сервера Ла2, чтобы можно было проверить самолично

UPD1:
Кажется сам понял почему происходит дисконнект, этот пример только для взаимодействия с Логин-Сервером, а чтобы попасть в игровой мир нужно допилить программу для взаимодействия с Гейм-Сервером (добавить IP/PORT ГС, порядок обмена пакетами К-ГС). Вопрос: верно ли мое предположение насчет работы данного примера только с ЛС? т.к. в коде я видел процедуры по выбору игровых серверов и получении информации о них, а значит по идее программа должна заходить так далеко, или это только объявления таких процедур? пока еще так глубоко не успел копнуть исходники

UPD2:
По логике вещей я понимаю, что Логин-Сервер на мой клиентский запрос (логин+пасс) должен мне сформировать уникальный ID, который мне понадобиться для общения с Гейм-Сервером. Вопрос: что является таким ID (полученным пакетом) и как правильно его нужно будет интегрировать в последующие пакеты для общения с Гейм-Сервером?

Последний раз редактировалось Linux, 18.05.2016 в 17:58.
Linux вне форума   Ответить с цитированием
Старый 18.05.2016, 17:26   #4
Местный
 
Аватар для kpa9pt
 
Регистрация: 13.01.2010
Сообщений: 159
Сказал Спасибо: 18
Имеет 30 спасибок в 23 сообщенях
kpa9pt имеет немного плохого в прошлом
По умолчанию

Цитата:
Сообщение от Linux Посмотреть сообщение
1) ЛогОфф на сервер
2) Создание персонажа (ник, раса, класс, пол и т.д.)
3) Релог персонажа по имени
Это возможно, есть опыт

Последний раз редактировалось kpa9pt, 18.05.2016 в 22:15.
kpa9pt вне форума   Ответить с цитированием
Старый 20.05.2016, 09:48   #5
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

Linux, можешь посмотреть исходники бота, как минимум он умеет логиниться:
http://coderx.ru/showthread.php?t=9575
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
За это сообщение supernewbie нажился спасибкой от:
Старый 25.05.2016, 19:17   #6
Новичок
 
Аватар для Linux
 
Регистрация: 17.05.2016
Сообщений: 14
Сказал Спасибо: 5
Имеет 0 спасибок в 0 сообщенях
Linux пока неопределено
По умолчанию

Объясните в чем может быть такое различие при одинаковых входных данных и компиляции под

Delphi 7
Оффтоп

и Delphi 2010
Оффтоп

не могу понять, один и тот же код, а результат разный
Linux вне форума   Ответить с цитированием
Старый 25.05.2016, 20:23   #7
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от Linux Посмотреть сообщение
не могу понять, один и тот же код, а результат разный
Вроде работа со строками по разному организована.
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 26.05.2016, 13:53   #8
Новичок
 
Аватар для Linux
 
Регистрация: 17.05.2016
Сообщений: 14
Сказал Спасибо: 5
Имеет 0 спасибок в 0 сообщенях
Linux пока неопределено
По умолчанию

Цитата:
Сообщение от NLObP Посмотреть сообщение
Вроде работа со строками по разному организована.
единственное преобразование для D2010:
Код:
  SockAddr.sin_addr.S_addr := inet_addr( PAnsiChar( AnsiString( LS_HOST ) ) );
и совсем неадекватный результат:

Оффтоп

мне уже кажется, что с этими непонятками я просто хожу по замкнутому кругу, буксую на месте

UPD1
кто является автором примера la2_client_emu.rar?

UPD2
Добавлено через 17 часов 26 минут
Расширил логирование в la2_client_emu и судя по логу программа не может дойти до следующих методов: LS_ServerList() и LS_PlayOk().
После последнего успешного выполнения метода RequestServerList() в методе WMSOCK_RS_EVENT(Msg) происходит WSAECONNABORTED (#10053).
Подскажите в чем может быть проблема? Что может разрывать совет?

Текст лога:
Оффтоп

Последний раз редактировалось Linux, 26.05.2016 в 13:55. Причина: Добавлено сообщение
Linux вне форума   Ответить с цитированием
Старый 26.05.2016, 16:05   #9
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

Linux, для корректного переноса проекта на поддерживающие юникод делфи нужно также заменить PChar на PAnsiChar, Char на AnsiChar и в целом проанализировать использование строк и символов в проекте
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
За это сообщение supernewbie нажился спасибкой от:
Старый 26.05.2016, 16:47   #10
Новичок
 
Аватар для Linux
 
Регистрация: 17.05.2016
Сообщений: 14
Сказал Спасибо: 5
Имеет 0 спасибок в 0 сообщенях
Linux пока неопределено
По умолчанию

В методе LS_LoginOk есть запись двух ключей SessionKey1_1 и SessionKey1_2 в секцию пакета для RequestServerList().
Оффтоп

Скорее всего эти ключи "битые", значения которых получены не подходящим к моему серверу алгоритмом. Подскажите как и чем можно отловить "корректные" ключи или какой алгоритм формирования этих ключей для HighFive хроник?

Оффтоп

Добавлено через 1 минуту
Цитата:
Сообщение от supernewbie Посмотреть сообщение
Linux, для корректного переноса проекта на поддерживающие юникод делфи нужно также заменить PChar на PAnsiChar, Char на AnsiChar и в целом проанализировать использование строк и символов в проекте
Я в принципе так и делал, но что-то все равно проект не стартует на D2010. Я решил пока забить и довести до ума код примера на D7

Последний раз редактировалось Linux, 26.05.2016 в 16:50. Причина: Добавлено сообщение
Linux вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack



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

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


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

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!