Jump to content
Korean Random

Monstrofil

User
  • Content Count

    97
  • Joined

  • Last visited

  • Days Won

    7

Everything posted by Monstrofil

  1. С setNested_PROPERTY / setSlice_PROPERTY ещё не сталкивался?
  2. Декомпильнуть - не знаю, а влезть можно через copy_reg.pyc. Правда ходят слухи за модификацию скриптов присылают письма счастья. Вкратце: в idx лежат: - список нод (mx32 байта, тут есть id и parent_id) - строки-соответствия нодам - список структур с информацией о файлике (nx40 байт), тут же можно найти смещение и размер файла в .pkg Периодически формат немного меняют. https://github.com/Monstrofil/project_m/blob/master/dev/ResMgr.py
  3. @Dragon armor, действительно что-то заумное придумали разрабы BigWorld, особенно с этой зависимостью exposedId от размера пакета... Anyway, проверил работоспособность на версии 1.0.2.2. Для моих нужд нужны только ClientMethods, так что и парсил только их. В общем что пришлось сделать: 1. Парсим .def не забывая про implements и parent, записываем ClientMethods в список в порядке чтения def-файлов (необходимо для корректной сортировки сообщений с variable-length. 2. Высчитываем длинну тех сообщений, которые можем (те, которые нельзя вычислить помечаем как +inf) 3. Сортируем массив сообщений по их длинне. exposedIndex - индекс нужного метода в массиве после сортировки по длинне сообщения, никаких INDEX_CLIENT_METHOD_BEGIN добавлять не нужно. Прогнал на нескольких реплеях, все сообщения распаковуются без проблем. p.s. Properties по той же схеме работают.
  4. Кстати, может и правильно определяется, т.к. chatCommandFromClient в последнем клиенте вообще нет. UPD: а, не, обманываю, chatCommandFromClient есть в интерфейсе "Chat", сорри.
  5. Парсинг alias/.def я давно сделал, не заморачивайся. В принципе я уже сейчас могу весь реплей "проиграть" сторонней тулзой, включая создание Entity, вызов методов и изменение в ней proretries. Мне интересны пакеты 0x7 и 0x8, там вторым параметром приходит messageId, по которому клиент определяет какой метод вызвать/какую property установить. Вот его сейчас приходится тянуть из памяти клиента, а хотелось бы получать автоматически при парсинге def-файлов.
  6. А не разобрался случайно как происходит подгрузка информации из def-файлов и (главный вопрос - каким образом назначаются exposedId для пропертей и методов)? Мне приходится эту информацию для каждой версии из памяти клиента выдергивать, было бы круто иметь возможность "отвязаться" от клиента игры вообще. Честно, не знаю что там в заголовке/футере валяется, как вариант - для быстрой отсечки дубликатов/устаревших пакетов.
  7. Задавал себе этот вопрос когда писал парсер реплеев, могу вот такую цитату привести. Chapter 28. Encrypting Client-Server Traffic BigWorld guarantees the security of the client-server session in two important ways: The login handshake is RSA-encrypted using a public key stored in the client resources. The client-proxy channel is symmetrically encrypted using Blowfish. As a result, it is impossible for an attacker to: Steal a player's password Hijack a player's session Inject upstream packets into the player's traffic to disrupt his/her session 28.3. Customising the symmetric encryption algorithm The Client-Proxy Channel is encrypted using 128-bit Blowfish by default. This encryption method was selected as it was the most secure, high-performance symmetric cipher offered in the standard OpenSSL distribution. Should you wish to use a different encryption algorithm, you should be able to edit src/lib/network/encryption_filter.cpp to change the encryption algorithm without needing to modify any header files. https://gist.github.com/Monstrofil/939b6b16d95fab3fe16f8003093c1aa9 Цитата из вот этой документации, не думаю что со времен bw2.0 там что-то существенно меняли.
  8. Привет Под кораблики никто ещё плагин не адаптировал?
  9. В картошкоконкурсе модиков кто-то собирается участвовать?

    1. Monstrofil

      Monstrofil

      и шо? :)

    2. vlad_cs_sr

      vlad_cs_sr

      насколько они мертвы при рождении?

    3. SNART

      SNART

      Что-за кораблики, говорят есть ещё самолётики?.

    4. Show next comments  6 more
  10. Думаю стоит уточнить, что это документация от "чистого" BigWorld 2.1.0. Там нет методов, которые добавлены разработчиками танков. Еще часть может отсутствовать.
  11. Декомпильнуть питон, посмотреть что дергается по нажатию кнопки, дернуть это руками.
  12. http://forum.worldofwarships.ru/index.php?/topic/52173-
  13. Можно забить на это, скоро закроют. Блин, как же не хочется возвращаться к реализации на dokan'e...
  14. Короче пока что как-то так. https://youtu.be/Pc5kY3hYzEQ p.s. иконку позаимствовал для теста, позже поменяю... как и название :) Download.
  15. Ну не скажи, в салолётах регулярно на такое натыкался.
  16. https://drive.google.com/file/d/0B1PHCAa0vQazcF9Tc2tIeUpLNDg/view?usp=sharing Только вы ж учитывайте, что картошка доработала движок с 2012 года.
  17. То мой сайт был, дока туда видимо случайно попала, я даже не знал об этом :D В комплекте с BigWorld'ом дока есть. Сейчас закину куда-нибудь на хостинг. UPD. Питон: http://monstrofil.xyz/docs/client/ Весь движок: http://monstrofil.xyz/docs/doc/
  18. Не извращайтесь так, сегодня-завтра будет версия с нормальным конфигом.
  19. Попробуй со знаком значения scale в конфиге поиграть. UPD: а, не, не получится. Я подумаю как можно это сделать.
  20. https://github.com/Monstrofil/wows-xvm-develop UPD: Итоги вторых суток страданий.
  21. С JSON'ом разобрался - его просто не было в кораблях. В общем по итогам двух дней: 1. всё не так плохо как казалось на первый взгяд; до нужной инфы добраться можно; 2. связка dokan + flash в корабликах вполне работает; 3. мне всё ещё нужен кто-то кто может помочь =(
  22. Завтра вечерком опишу что уже получилось сделать. Есть вопросик - не сталкивались ли вы в танках вот с таким? [Scaleform] Error: ReferenceError: Error #1069: Property JSON not found on any object on the scope stack and there is no default value. Код: var data:Object = JSON.parse(e.target.data); В e.target.data точно валидная json-строка.
  23. Собственно, весь вопрос в названии темы - нет ли желания у сообщества написать мод статистики для корабликов? Вкратце о ситуации для тех кто не в теме: - player_id в корабликах не достать - python недоступен Есть флеш и никнеймы. Соответственно, придётся (скорее всего) вернуться к одной из первых реализаций XVM'a - через DOKAN. Костыльно и неудобно, но более адекватных вариантов не вижу. wot-xvm-proxy я достал из репозиториев, переделать на кораблики - дело одного вечера. Проблема для меня - отредактировать флеш. UPD: есть ещё один вариант - через реплеи. Но у автора всё ещё хуже чем с доканом - Node.js и браузер. Суть поста: автор предлагает написать мод на статистику в бою для корабликов, серверную часть берёт на себя, ищет того кто умеет во флеш и готов присоединиться к разработке. Что скажете?
  24. Намекаю: точно так же рейтинг пересчитался для других пользователей...
×
×
  • Create New...