cray 27 Опубликовано 27 июня, 2021 Подскажите пожалуйста при апе пакетки с ИЛ (пв) до ХФа, какие пакеты нужно изменить чтобы дойти до выбора чара хотя бы? Больше ничего не нужно чтобы список чаров увидеть ведь, только оп коды и структуру пакетов? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
cray 27 Опубликовано 28 июня, 2021 Ладно, тогда другой вопрос, возьмется кто-то сделать вход на ХФ клиенте до выбора чара на ПВ софте, и за сколько? ) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Evolution 243 Опубликовано 28 июня, 2021 9 минут назад, cray сказал: Ладно, тогда другой вопрос, возьмется кто-то сделать вход на ХФ клиенте до выбора чара на ПВ софте, и за сколько? ) Что у тебя за проблемы? Минимум смотри на протокол версии, и auth. Настрой логирование пакетов какие опкоды летят и какие мешают входу Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
cray 27 Опубликовано 28 июня, 2021 (изменено) 4 минуты назад, Evolution сказал: Что у тебя за проблемы? Минимум смотри на протокол версии, и auth. Настрой логирование пакетов какие опкоды летят и какие мешают входу Знаний просто ноль, мне бы понять что именно колупать просто. ) Скачал исходники лост вордов, там все очень похожее, даже синтаксис сборки, перенести легко все, ошибок не дает, просто я не понимаю где колупать, меня бы носом ткнуть какие пакеты нужно изменить по минималке просто. ) Я менял только CharacterSelected и CharSelectInfo, а в ProtocolVersion отпилил проверку на протокол (в гс вывел сообщение с какого протокола войти пытаются), на ИЛе перестает входить в выбор чаров после изменения в пакетах, но и на ХФе не входит еще. А как логировать пакеты и оп коды - на этом мои знания все, увы. ) Я не понимаю куда именно это прикрутить. Изменено 28 июня, 2021 пользователем cray Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Evolution 243 Опубликовано 28 июня, 2021 6 минут назад, cray сказал: Знаний просто ноль, мне бы понять что именно колупать просто. ) Скачал исходники лост вордов, там все очень похожее, даже синтаксис сборки, перенести легко все, ошибок не дает, просто я не понимаю где колупать, меня бы носом ткнуть какие пакеты нужно изменить по минималке просто. ) Я менял только CharacterSelected и CharSelectInfo, а в ProtocolVersion отпилил проверку на протокол (в гс вывел сообщение с какого протокола войти пытаются), на ИЛе перестает входить в выбор чаров после изменения в пакетах, но и на ХФе не входит еще. А как логировать пакеты и оп коды - на этом мои знания все, увы. ) Я не понимаю куда именно это прикрутить. GamePacketHandler тут опкоды считываются и выбирается нужное действие. Там наверно у тебя есть case CONNECTION или чет такое. Тут происходит стыковка клиента и сервера (Проверка протокола например) 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
cray 27 Опубликовано 28 июня, 2021 (изменено) 17 минут назад, Evolution сказал: GamePacketHandler тут опкоды считываются и выбирается нужное действие. Там наверно у тебя есть case CONNECTION или чет такое. Тут происходит стыковка клиента и сервера (Проверка протокола например) Изменил оп коды там, теперь при выборе сервера с ХФа шлет протокол в ГС: Спойлер 273 - это протокол Но к выбору чаров не пускает все еще. Подскажите в тех ли местах я колупаюсь: мне нужно оп коды здесь сверить и изменить как на лостах: Спойлер И в пакетах чар селект/селектед структуры сделать одинаковыми и этого достаточно чтобы в меню выбора чара войти, или что-то упускаю? Спойлер Изменено 28 июня, 2021 пользователем cray Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
cray 27 Опубликовано 28 июня, 2021 36 минут назад, Evolution сказал: GamePacketHandler тут опкоды считываются и выбирается нужное действие. Там наверно у тебя есть case CONNECTION или чет такое. Тут происходит стыковка клиента и сервера (Проверка протокола например) Кажется вышло прикрутить вывод оп кодов в консоль: Спойлер Теперь при входе с ИЛа и ХФа такое шлет и дальше не двигается: Спойлер Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 620 Опубликовано 28 июня, 2021 (изменено) ну это ты чисто клиентские коды выводишь, а для полноты картины еще и то что сервер шлет выводить стоит для этого можно вывод в sendPacket класса GameClient добавить, как-то примерно так public void sendPacket(L2GameServerPacket gsp) { if (isConnected()) { if (DevConfig.SHOW_SERVER_PACKET_NAME && gsp != null && !DevConfig.HIDE_SERVER_PACKET_NAME.contains(gsp.getClass().getSimpleName())) _log.info(getLogin() + " <-- [S] " + gsp.getClass().getSimpleName()); getConnection().sendPacket(gsp); } } а для клиентских, более информативное что-то типа такого, в конце handlePacket класса GamePacketHandler, перед return msg; if (DevConfig.SHOW_CLIENT_PACKET_NAME) { if (msg != null) { if (!DevConfig.HIDE_CLIENT_PACKET_NAME.contains(msg.getClass().getSimpleName())) { _log.info(client.getLogin() + " --> [C] " + msg.getClass().getSimpleName()); if (DevConfig.SHOW_CLIENT_PACKET_DUMP && !DevConfig.SHOW_ONLY_UNKNOWN_PACKET_DUMP && buf.remaining() > 0) _log.info("Data [" + buf.remaining() + "]:\n\n" + Util.printData(buf.asReadOnlyBuffer())); } } else if (name != null) { if (!DevConfig.HIDE_CLIENT_PACKET_NAME.contains(name)) { _log.info(client.getLogin() + " --> [C] " + name + " [not implemented]"); if (DevConfig.SHOW_CLIENT_PACKET_DUMP && !DevConfig.SHOW_ONLY_UNKNOWN_PACKET_DUMP && buf.remaining() > 0) _log.info("Data [" + buf.remaining() + "]:\n\n" + Util.printData(buf.asReadOnlyBuffer())); } } } Изменено 28 июня, 2021 пользователем Gaikotsu 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
cray 27 Опубликовано 28 июня, 2021 6 минут назад, Gaikotsu сказал: ну это ты чисто клиентские коды выводишь, а для полноты картины еще и то что сервер шлет выводить стоит Прикрутил пока что коряво и без вывода имени, глянуть на чем стопорится, но так и не понял. ) Спойлер Вот так только доходит. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 620 Опубликовано 28 июня, 2021 В итоге будет у тебя в логе что-то типа такого выводить при входе и далее: Спойлер [15:36:55] INFO null --> [C] ProtocolVersion [15:36:55] INFO null <-- [S] KeyPacket [15:36:55] INFO null --> [C] AuthLogin [15:37:12] INFO test --> [C] RequestUserBanInfo [15:37:19] INFO test --> [C] CharacterSelected [15:37:20] INFO test <-- [S] CharSelected [15:37:20] INFO test <-- [S] SkillList [15:37:20] INFO test <-- [S] SkillList [15:37:37] INFO test --> [C] RequestManorList [15:37:37] INFO test <-- [S] ExSendManorList [15:37:37] INFO test --> [C] RequestBR_NewIConCashBtnWnd [15:37:37] INFO test <-- [S] ExBR_NewIConCashBtnWnd [15:37:37] INFO test --> [C] RequestBookMarkSlotInfo [15:37:37] INFO test <-- [S] ExGetBookMarkInfo [15:37:37] INFO test --> [C] RequestKeyMapping [15:37:37] INFO test <-- [S] ExUISetting [15:37:37] INFO test --> [C] RequestTodoList [15:37:37] INFO test <-- [S] ExOneDayReceiveRewardList [15:37:39] INFO test --> [C] EnterWorld [15:37:39] INFO test <-- [S] ExSetCompassZoneCode [15:37:39] INFO test <-- [S] ExBR_PremiumState [15:37:39] INFO test <-- [S] SendMacroList [15:37:39] INFO test <-- [S] HennaInfo [15:37:39] INFO test <-- [S] ItemList [15:37:39] INFO test <-- [S] ExQuestItemList [15:37:39] INFO test <-- [S] ShortCutInit [15:37:39] INFO test <-- [S] SkillCoolTime [15:37:39] INFO test <-- [S] ExVitalityEffectInfo [15:37:39] INFO test <-- [S] TutorialShowQuestionMark [15:37:39] INFO test <-- [S] PlaySound [15:37:39] INFO test <-- [S] ExPledgeCount [15:37:39] INFO test <-- [S] PledgeShowMemberListAll [15:37:39] INFO test <-- [S] PledgeShowMemberListAll [15:37:39] INFO test <-- [S] PledgeShowInfoUpdate [15:37:39] INFO test <-- [S] PledgeSkillList [15:37:39] INFO test <-- [S] UserInfo [15:37:39] INFO test <-- [S] ExUserInfoEquipSlot [15:37:39] INFO test <-- [S] ExUserInfoAbnormalVisualEffect [15:37:39] INFO test <-- [S] ExRotation [15:37:39] INFO test <-- [S] ExAutoSoulShot [15:37:39] INFO test <-- [S] ExAutoSoulShot [15:37:39] INFO test <-- [S] ExAutoSoulShot [15:37:39] INFO test <-- [S] ExAutoSoulShot [15:37:39] INFO test <-- [S] ExUserInfoAbnormalVisualEffect [15:37:39] INFO test <-- [S] ExStorageMaxCount [15:37:39] INFO test <-- [S] ExVoteSystemInfo [15:37:39] INFO test <-- [S] ExSubjobInfo [15:37:39] INFO test <-- [S] ExUserInfoInvenWeight [15:37:39] INFO test <-- [S] ExCastleState [15:37:39] INFO test <-- [S] ExCastleState [15:37:39] INFO test <-- [S] ExCastleState [15:37:39] INFO test <-- [S] ExCastleState [15:37:39] INFO test <-- [S] ExCastleState [15:37:39] INFO test <-- [S] ExCastleState [15:37:39] INFO test <-- [S] ExCastleState [15:37:39] INFO test <-- [S] ExCastleState [15:37:39] INFO test <-- [S] ExCastleState [15:37:39] INFO test <-- [S] ExUnReadMailCount [15:37:39] INFO test <-- [S] MagicSkillUse [15:37:39] INFO test <-- [S] ExMonsterBook [15:37:39] INFO test <-- [S] ExBeautyItemList [15:37:39] INFO test <-- [S] ExAdenaInvenCount [15:37:39] INFO test <-- [S] ExAcquireAPSkillList [15:37:39] INFO test <-- [S] ExConnectedTimeAndGettableReward [15:37:39] INFO test <-- [S] ExWorldChatCnt [15:37:39] INFO test <-- [S] UserInfo [15:37:39] INFO test <-- [S] AbnormalStatusUpdate [15:37:39] INFO test <-- [S] ExUserInfoEquipSlot [15:37:39] INFO test <-- [S] SkillList [15:37:39] INFO test <-- [S] MagicSkillLaunched [15:37:39] INFO test <-- [S] ExUserInfoAbnormalVisualEffect [15:37:39] INFO test <-- [S] AbnormalStatusUpdate [15:37:40] INFO test --> [C] RequestPledgeInfo [15:37:40] INFO test <-- [S] PledgeInfo [15:37:42] INFO test --> [C] RequestExSeedPhase [15:37:42] INFO test <-- [S] ExShowSeedMapInfo Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rogue 248 Опубликовано 28 июня, 2021 Могу поднять тебе пакетку, но это может занять некоторое время, смотри сам. Потом еще ловить баги придется и править в любом случае. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
cray 27 Опубликовано 28 июня, 2021 1 минуту назад, Rogue сказал: Могу поднять тебе пакетку, но это может занять некоторое время, смотри сам. Потом еще ловить баги придется и править в любом случае. У меня больше цель стоит разобраться как самому делать, ибо понимаю что без багов не обойдется, а потом захочется что-то из контента хфа, например - опять правки, и вечно дергать исполнителя не очень вариант. ) Но на всякий случай, сколько будет стоить ап только нужных пакетов до выбора чара / фул ап пакетки? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rogue 248 Опубликовано 28 июня, 2021 2 минуты назад, cray сказал: У меня больше цель стоит разобраться как самому делать, ибо понимаю что без багов не обойдется, а потом захочется что-то из контента хфа, например - опять правки, и вечно дергать исполнителя не очень вариант. ) Но на всякий случай, сколько будет стоить ап только нужных пакетов до выбора чара / фул ап пакетки? До выбора чара там полтора пакета поменять. Если с ИЛа и ХФ то там надо в пакете логин сервера что-то сначала поменять, а потом чар лист с сервера. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
cray 27 Опубликовано 28 июня, 2021 6 минут назад, Rogue сказал: До выбора чара там полтора пакета поменять. Если с ИЛа и ХФ то там надо в пакете логин сервера что-то сначала поменять, а потом чар лист с сервера. Ага, логин еще надо, вот что я упускаю походу, там я не трогал. ) А оп коды тоже ведь надо менять сразу, без этого никак? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rogue 248 Опубликовано 28 июня, 2021 1 минуту назад, cray сказал: Ага, логин еще надо, вот что я упускаю походу, там я не трогал. ) А оп коды тоже ведь надо менять сразу, без этого никак? Не логин, там все норм. Меняй Keypacket Примерно так должен выглядить. package net.sf.l2j.gameserver.network.serverpackets; public final class KeyPacket extends L2GameServerPacket { private final byte[] _key; public KeyPacket(byte[] key) { _key = key; } @Override public void writeImpl() { writeC(0x2e); writeC(1); //0 - wrong protocol, 1 - protocol ok for (int i = 0; i < 8; i++) { writeC(_key[i]); // key } writeD(0x01); writeD(0x01); // server id writeC(0x01); writeD(0x00); // obfuscation key } } 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
cray 27 Опубликовано 28 июня, 2021 Только что, Rogue сказал: Не логин, там все норм. Меняй Keypacket Во, как раз как Гайкотсу сказал вывел пакеты (ну как не так же, а как умею ), и на нем как раз стопорнулось все: Буду пробовать что-то. ) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rolo 279 Опубликовано 28 июня, 2021 (изменено) Вклинюсь в тему, с Вашего позволения. ) Подскажите, пожалуйста, в чем заключается разница между 267 протоколом и более новым (206 если не ошибаюсь), я таким же занимаюсь, собрал себе хф, чтобы убедиться что он рабочий хотя бы, и на 267 протоколе уже не пускает, это протоколы настроены криво именно, или пакеты где-то минимально отличаются тоже? Мне критично именно до 267 протокола апнуть. Изменено 28 июня, 2021 пользователем Rolo Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rogue 248 Опубликовано 28 июня, 2021 (изменено) 2 минуты назад, Rolo сказал: Вклинюсь в тему, с Вашего позволения. ) Подскажите, пожалуйста, в чем заключается разница между 267 протоколом и более новым (206 если не ошибаюсь), я таким же занимаюсь, собрал себе хф, чтобы убедиться что он рабочий хотя бы, и на 267 протоколе уже не пускает, это протоколы настроены криво именно, или пакеты где-то минимально отличаются тоже? Не помню такого протокола. Есть 267, 268, 273. 273 это последний хф. По пакетам они все одинаковые по сути. Изменено 28 июня, 2021 пользователем Rogue 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rolo 279 Опубликовано 28 июня, 2021 1 минуту назад, Rogue сказал: Не помню такого протокола. Есть 267, 268, 273. 273 это последний хф. Черт, что же я за франкенштейна там собрал? Спасибо большое за ответ, сэкономили много времени. )) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты