↑ ↓

Пакетики

Тема в разделе "Помощь", создана пользователем meridianblade, 10 июн 2018.

  1. TopicStarter Overlay
    Offline

    meridianblade Ефрейтор

    199
    19
    51
    Кредиты:
    $375,52
    Репутация:
    3
    Добрый день, решил я как-то раз разобраться с пакетной частью айона. В общих чертах понял, как это всё происходит, но вот одно мне осталось не понятно - как изначально определяют какой тип данных (f,h,d,c,s и т.д.) зашифрован под теми или иными байтами? Понятно, что есть готовые протоколы, где все эти данные уже разбиты на необходимые типы и остается только смотреть значения полученных пакетов, но кто их разбивает изначально на типы данных? Т.е. например я хочу сделать пакетку новой версии айона или добавить отсутствующие пакеты (смена сервера например), как мне понять где какой тип данных? Или это вообще как-то не так работает?
    Безымянный.png
    Вот для примера пакет SM_CASTSPELL_RESULT, ну первые 2 это опкод, потом еще 3 это чексумма, а дальше идет сама информация, первый 2 байта (02 00) в готовом протоколе обозначаются как c, но откуда они это узнали? Ведь это мог быть h)
    П.с. возможно я написал полную ахинею, т.к. изучал все сам и не имею каких-либо знаний в этой области, поэтому если не сложно прошу шарящих людей объяснить, что вообще происходит)
     
  2. Offline

    SG Shaiy Ефрейтор

    402
    95
    61
    Кредиты:
    $15.767,72
    Репутация:
    9
    что бы правильно посмотреть байты в пакете SM_CASTSPELL_RESULT надо удалить все данные из протокола оставить просто опкод и название пакета, а так показывает сейчас криво
     
  3. TopicStarter Overlay
    Offline

    meridianblade Ефрейтор

    199
    19
    51
    Кредиты:
    $375,52
    Репутация:
    3
    Ну так в любом случае получается байт-код
    Безымянный.png
    как определить где какой тип данных? Это делается по какому-то алгоритму или просто методом дедукции?
     
  4. Offline

    WeRn Ефрейтор

    496
    59
    59
    Кредиты:
    $16.147,43
    Репутация:
    8
    Я бы сказал методом тыка))
     
  5. TopicStarter Overlay
    Offline

    meridianblade Ефрейтор

    199
    19
    51
    Кредиты:
    $375,52
    Репутация:
    3
    Да ну, бред какой-то получается) Это же сотни, если не тысячи вариантов расшифровки одного пакета
     
  6. Offline

    SG Shaiy Ефрейтор

    402
    95
    61
    Кредиты:
    $15.767,72
    Репутация:
    9
    Тебе надо изучить HEX что означает 1 байт какое максимальное и минимальное десятичное значение в одном байте, а так конечно ты смотришь и не понимаешь что означает 6D,
    HEX байт всегда начинается с двух нулей -> 00, 01, 02,03,04,05,06,07,08,09,0a,0b,0c,0d,0e,0f то следующим значением будет 10 11 12 и заканчиваться 1f если смотреть по Айону B - заданное количество байт (например type="b" size="54" значит занять 54 байта) C - 1 байт H - 2 байта D - 4 байта F - 4 байта с плавающей запятой Q - 8 байт S - это текст если текста нет то S занимает 2 байта то бишь 00 00 если есть текст то один символ занимает 2 байта и читается до тех пор пока в конце появятся два пустых байта 00 00.
    Ещё надо понимать основную структуру пакетов с чего в основном начинается пакет например этот пакет начинается с ObjId персонажа или ObjId нпса или монстра а вообще пробуй подставляй байты разного значения в протокол и смотри по десятичным значениям и очень много информации в инете про это всё.

    ну примерно так сори за ошибки в написании, если заинтересует разберётесь, изучайте это дело просто так на пальцах не рассказать, а надо читать смотреть изучать метод в тыка применять пробовать)))
     
    klubheads, Qwas и meridianblade нравится это.
  7. TopicStarter Overlay
    Offline

    meridianblade Ефрейтор

    199
    19
    51
    Кредиты:
    $375,52
    Репутация:
    3
    Понял, спасибо!
     
  8. Offline

    yayaya Ефрейтор Команда форума

    587
    183
    76
    Кредиты:
    $20.524,68
    Репутация:
    38
    Please login or register to view links
     
    nokiafan1111, WeRn, klubheads и ещё 1-му нравится это.
  9. Offline

    klubheads Сержант Команда форума Модератор

    2.011
    356
    189
    Кредиты:
    $2.140,45
    Репутация:
    54
    всё таки решился показать людям свой ресурс :beer2-38:
     
  10. Offline

    WeRn Ефрейтор

    496
    59
    59
    Кредиты:
    $16.147,43
    Репутация:
    8
    Четко)
     
  11. Offline

    yayaya Ефрейтор Команда форума

    587
    183
    76
    Кредиты:
    $20.524,68
    Репутация:
    38
    та мне как то стыдно это назвать ресурсом)