Jump to content
Korean Random

Exploratorem

Newbie
  • Content Count

    4
  • Joined

  • Last visited

Community Reputation

0 Noob

Basic information

  • Gender
    Мужчина
  1. @SkepticalFox @Monstrofil благодарю! Частично разобрался с WoWS-ReplaysUnpack и как к нему добавлять свои обработчики событий. Все же проще использовать его в качестве готового "движка", чем изобретать свой велосипед на квадратных колесах. Еще есть пара вопросов. Правильно я понял, что из реплея весь нанесенный урон можно вытянуть только для записавшего реплей через receiveDamageStat(), а для других можно лишь довольстсвоваться уроном от ГК (и возможно торпед, еще не разобрался) из receiveDamagesOnShip(), куда урон от ПМК не входит? @Monstrofil, а из-за чего в replay_unpack для 12.8 был убран вывод battle_results который был добавлен только в 12.7? В том виде как он был в 12.7 на 12.8 не "взлетел"? Но из-за чего, структура поменялась или дело в чем-то другом?
  2. Вернулся я тут к давнешней затее (хотел лет 5 назад, но тогда руки не дошли сесть и разобраться) сделать свой (на C#) минималистичный парсер реплеев (минимум данных, состав команды, нанесенный дамаг, чат и по мелочи), но столкнулся с непониманием как это работает. Сперва распишу, что понял: Понял как распарсить файл реплеев, вытянуть незашифрованный json, распаковать и раскодировать остальное до получения отдельных NetPacket. Структура пакетов более менее понятна благодаря Monstrofil и его описанию. А вот дальнейшее, как парсить содержимое пакетов - темный лес. Опытным путем, по сигнатурам нашел и понял как распарсить пакеты (по определенным messageID) содержащие нанесенный урон, кто кому и сколько, кто кого уничтожил ну и чат. Просто брал данные из генерируемого replays_unpack json и искал их в пакетах, так нашел пакеты в которых содержится нанесенный урон, пакеты сождержащие информацию кто-кого убил нашел аналолгичным способом. Пакеты содержащие сообщения чата практически случайно сам. Собственно это практически половина того, что мне надо. Но вот мне не понятно, в частности, как распарсить пакет содержащий начальные данные о составе команд (для версии 12.7 это 0x8 с messageID 130). В hex редакторе нахожу раздельно все что мне надо, но цельную структуру файла понять не могу. Исходник replays_unpack я смотрел, кое что оттуда подчеркнул, но python знаю плохо и там все сложно и запутано. В частности вообще не могу понять взаимосвязь между .xml,.def файлами и пакетами и тем более как ими пользоваться. Так же не могу понять как, например, replays_unpack парсит то, что я уже сам разобрался как получить, например кто кому и сколько нанес дамага или кто кого убил, ведь я там не нашел какой бы то нибыло привязки к messageID (или плохо искал?). Я видимо не понял какой-то базовый принцип. Прошу вкратце, но с какой-то конкретикой разъяснить принцип. По сути меня интересует только вышеупомянутый пакет с базовыми настройками боя. Прикреплю его дамп (взят из случайного реплея, принятого как исходный для разбора) к сообщению, вдруг пригодится. P.S. WoWS-ReplaysUnpack я видел и смотрел, но знаний C# и способности разбираться в чужом коде не хватает для понимая базового принципа завязанного на .xml и .def файлах. 08_130
  3. Успешно залогинился и активировал. Все работает P.S. Осталось только танчики установить, что бы этим воспользоваться
  4. А кому нибудь из тут присутствующих алгоритм распаковки .pkg случайно не известен? Готовая программа это хорошо, но хотелось бы "ручками". В отладчите разбираться нет ни опыта ни желания. А чем .pyc декомпилировать? PjOrion либо их не берет, либо я что то неправильно делаю...
×
×
  • Create New...