L2PacketHackФорум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела!
Категорически запрещено:
* Просить пакеты/скрипты на шмот/адену/другие вещи;
* Просить (помочь) взломать/сломать сервак/аккаунт или раздеть/наказать кого-то на любом серваке;
* Просить научить работать с программой, если не понимаете элементарных вещей в отношениях клиент-сервер (так как, если вы их понимаете, то вопросов по основным возможностям программы быть недолжно);
* Все посты не удовлетворяющие этим запретам, а так же не относящиеся к теме будут удаляться при первой возможности.
* Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы.
* Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
* Данные запреты неподлежат обсуждению.
Я из поиска нашел ваше упоминание о 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.
мне уже кажется, что с этими непонятками я просто хожу по замкнутому кругу, буксую на месте
UPD1
кто является автором примера la2_client_emu.rar?
UPD2 Добавлено через 17 часов 26 минут
Расширил логирование в la2_client_emu и судя по логу программа не может дойти до следующих методов: LS_ServerList() и LS_PlayOk().
После последнего успешного выполнения метода RequestServerList() в методе WMSOCK_RS_EVENT(Msg) происходит WSAECONNABORTED (#10053).
Подскажите в чем может быть проблема? Что может разрывать совет?
Linux, для корректного переноса проекта на поддерживающие юникод делфи нужно также заменить PChar на PAnsiChar, Char на AnsiChar и в целом проанализировать использование строк и символов в проекте
__________________ Начало.
За это сообщение supernewbie нажился спасибкой от:
В методе LS_LoginOk есть запись двух ключей SessionKey1_1 и SessionKey1_2 в секцию пакета для RequestServerList().
SessionKey приходит от сервера и его же нужно отправлять серверу в следующем пакете без каких-либо изменений.
Главное чтобы BF-шифрование верно отрабатывало.
к верно посоветанному
Цитата:
Сообщение от supernewbie
нужно также заменить PChar на PAnsiChar, Char на AnsiChar
могу добавить: заменить "string" на "AnsiString" и "Chr" на "AnsiChar" (об этом многие забывают, что может приводить к ошибкам). Можно тупо прогнать полную замену без анализа (но с опцией "только целые слова"), должно заработать.
PS. По статьям: зайди к нам на сайт, там на главной странице ссылки есть.