Почему и зачем: длинная и необязательная преамбула
Хорошо, что опыта игрового модостроительства у меня было немного — так, пару кастомных прицелов для Deer Hunter 2005 и «нелицензионный» недоклиент
с сопутствущим «взломом» протокола последнего. Ещё лучше, что ни разу не приходилось с головой погружаться в сколь-нибудь трудоёмкую и длительную отладку и дизассемблирование. То есть, с IDA и OllyDBG я поверхностно знаком, но не как с ежедневными рабочими инструментами.
В WOT играю с начала 2022 года. Не запоем, а, скорее, набегами — по 5-6 боёв вечером. Было время 2 года назад, наш клан состоял в Красном Альянсе, ходил на глобалку по ночам, выполнял какие-то тактические задачи на европейском ТВД, устраивал тренировки и спарринги, вовсю бурлили внутриигровые политические страсти, отпочковывались учебные кланы. Сейчас всего этого уже нет, и наш золотой ёжик превратился в табличку над «Домом Ветеранов».
Впадать в ересь сравнения танков с другими MMO не буду, так как хорошо знаком только с танками. Тем более не знаком ни с одним другим проектом, использующим BigWorld, поэтому искренне верю WarGaming’у на слово, что существуют и (не)тривиально (не)преодолеваются различные техномагические ограничения движка — на размер карты, на максимальную скорость юнита, на численность команд и прочее.
Оставаясь в рамках внутренней критики, я также понимаю, что, с точки зрения целевой аудитории танков вообще, и их активного игрового коммьюнити в частности, каждое нововведение из очередного патча, безусловно, гораздо более востребовано и обосновано, сколь бы малым оно ни было.
Итак, я уверен, что в обозримом будущем никаких планов по введению полноценного режима спектатора в WOT нет и не будет. Под полноценным режимом спектатора я понимаю множественные подключения игроков в сеанс боя изначально как невзаимодействующих на игру «привидений»-наблюдателей, а не на технике.
Это тот самый режим, из-за отсутствия которого комментаторы на чемпионатах WOT вынуждены заходить в бой 15-м танком, убиваемым своими на базе. Это тот самый режим, из-за которого появились моды «командирского zoom» и «кинематографической камеры» — по сути, просто костыли.
А нужен такой режим затем, чтобы командир роты занимался командованием, а не скакал впереди на лихом танке по-чапаевски, чтобы он видел ситуацию на карте в целом непрерывно, а не отвлекался на неё в пылу нападения из засады. В идеале, командиру даже не нужны красоты трёхмерного мира — достаточно одной большой карты на весь монитор с игровой ситуацией в реальном времени — HP, повреждениями модулей, членов экипажа, направлениями стволов и прицелов союзной техники, засвеченных в каждый момент вражеских юнитов и прочей вспомогательной информации.
WOT предоставляет широкие возможности модостроительства, но такая идея выходит за рамки классического «заменить пару swf-файлов на свои». Потребуется перехват и разбор самого игрового протокола для того, чтобы иметь возможность передать на командирский планшет своё видение игровой ситуации.
Что же там внутри?
Здесь матёрые гуру реверс-инжиниринга, в духе
подумают: «ага, ну теперь можно написать на питонеэзотерическом языке вот такой скриптплагин для олькииды, который будет делать с этими данными всё что хочешь и даже за пивом сбегает». Но мы пойдём другим путём. Я хочу сразу ориентироваться на то, что ещё до того, как дело дойдёт до разработки командирского планшета, то есть даже для самого полноценного разбора протокола WOT мне понадобятся помощники и тестировщики, далёкие от мира программирования. Им нужен будет простой инструмент с понятным интерфейсом, выдающий легко читаемые данные.
Так что предвидя скептические ухмылки, я засел за Lazarus и набросал в нём специализированный win32-отладчик, основной функцией которого является поставить два INT3-брекпоинта в нужных местах и по их срабатыванию вытаскивать данные по адресу и длине буфера, лежащим на стеке по известным смещениям.
А вот так он себя ведёт уже находясь в ангаре.
Какие выводы можно сделать, даже не смотря на пояснения к пакетам, которые я поленился убрать для этих скриншотов? Сразу несколько.
Во-первых, видно, что все пакеты начинаются либо с 0x48, либо с 0x58, либо с 0x78; какой-нибудь закономерности на этот счёт я ещё не уловил, кроме того, что пакеты с уже известной функцией свой значащий байт не меняют.
Во-вторых, почти в каждом пакете есть один или несколько счётчиков сообщений; например, в keep-alive и ответах на них этим занимается третий и четвёртый байт в заголовке, кроме того сам пакет содержит ещё счётчик сообщений общий (включая keep-alive) и какой-то специфический (считающий пакеты без учёта количества keep-alive); всё это имеет отношение к контролю доставки пакетов, который пришлось прикрутить к UDP, вероятно, для оценки потерь и пересылки BLOBов (об этом позже).
Размеры всех пакетов выравнены по границам 8 байт, что ненавязчиво указывает нам на размер блока всё того же BlowFish; пока я до этого догадался, прошло немало времени в попытках обьяснить странную «контрольную сумму» в конце, да ещё и переменной длины. В конце концов, получив в этом паддинге вместо простого мусора слово «Flags» я, наконец, прозрел.
Ну и в лучших хакерских традициях, в конце каждого пакета находится сигнатура мёртвой говядины; кто бы мог подумать где мы её найдём 🙂
После получения Session ID от сервера приезжает пакет, содержащий номер игрока в неожиданно текстовом формате (792067). А вот пакет, который начинается на 0x78 0x00 на первом скриншоте — особо интересен. Сочетание сигнатуры 0x80 0x20 вкупе с тем, что перед каждым строковым литералом в нём стоит 0x55 и байт длины строки, а после каждого 0x71 находится возрастающий номер, должно насторожить опытных питонщиков — это же, чёрт побери, Python Pickle со своим запихиванием всего подряд в мемо! Вот он такой:
Dct[15]:(xmpp_host = wot-ru.loc captchaKey = 6Lc8GcASAAAAAKffZdxeZZvOvmSTNXbZvsy6CgBR voipDomain = www.wotp.vivox.com file_server = Dct[6]:(clan_emblems_small = Dct[1]:(url_template = http://ce.worldoftanks.ru/dcont/clans/emblems/%d/emblem_32x32.png) clan_emblems_big = Dct[1]:(url_template = http://ce.worldoftanks.ru/dcont/clans/emblems/%d/emblem_64x64.png) rare_achievements_images_big = Dct[1]:(url_template = http://ce.worldoftanks.ru/dcont/achievements/medals/180x180/%d.png) clan_emblems = Dct[1]:(url_template = http://ce.worldoftanks.ru/dcont/clans/emblems/%d/emblem_64x64_tank.png) rare_achievements_images = Dct[1]:(url_template = http://ce.worldoftanks.ru/dcont/achievements/medals/67x71/%d.png) rare_achievements_texts = Dct[1]:(url_template = http://ce.worldoftanks.ru/dcont/achievements/medals/medals_%s.xml)) newbieBattlesCount = 100 roaming = Lst[4]:(1,1,Lst[3]:(Lst[4]:(1,1,499999999,RU),Lst[4]:(2,500000000,999999999,EU),Lst[4]:(3,1000000000,1499999999,NA)),Lst[0]:()) xmpp_enabled = True jdCutouts = 0 xmpp_port = 5222 isTutorialEnabled = True wallet = Lst[2]:(True,True) xmpp_connections = Lst[1]:(Lst[2]:(xmppcs.worldoftanks.net,5222)) xmpp_resource = wot regional_settings = Dct[2]:(starting_day_of_a_new_week = 0 starting_time_of_a_new_day = 0) reCaptchaParser = )
В следующей части, если она заинтересует уважаемых обитателей Хабра, я расскажу о том, как в протоколе WOT передаются файлы, размеры которых намного больше реалистичного размера UDP пакета и MTU. И о том, что эти файлы оказывается сжатыми zlib’ом а внутри у них всё тот же Python Pickle с разными неожиданными вещами.
Спасибо за внимание!
UPD. Свежие новости! По агентурным данным из самого сердца КВГ, мой лёгкий намёк на потенциал коммерческого использования командирского планшета поднял «небольшой бугурт» (дословно), в результате чего кровавые модераторы в полнейшей панике наконец заметили и слили в мусорник тему проекта на официальном форуме танков, а мне было доверительным шёпотом посоветовано замылить данные своего аккаунта на скриншотах.
Я, имярек, находясь в здравом уме и трезвой памяти, торжественно клянусь, что разработка эта имеет исключительно академический характер, клянусь никогда в жизни не покупать компанию WarGaming.net за несметные миллиарды, вырученные от продажи ещё даже не существующей разработки либо иным способом покушаться на финансовое благополучие любимой фирмы! Аминь.
UPD2.
It-аналитик vs хакер расследование. кто кладет сервера wot?
GameArena. Залетай и оформляй Альфа-карту тут —
https://gamearena.ru/alfacard?utm_source=amb_octop_ab
Telegramm (Вся
доп.инфа
там) —
https://teleg.one/joinchat/AAAAAExtZTOKgUy0aSFjuw
Группа в VK (Музыка из видео мемы) —
https://vk.com/doctor0ctopus
СТРИМЫ ОКТОПУСА —
https://www.youtube.com/channel/UCVa-C-a1tYcf_CYKGXHqNmA
Тут интересно. Каждый день по вечерам.
Сказать автору «Спасибо» копеечкой задать вопрос —
https://www.donationalerts.com/r/doctor0ctopus
➖➖➖
ИНТЕРВЬЮ С ХАКЕРОМ —
https://youtu.be/SjA_1nuFXuI
РЕАКЦИИ БЛОГЕРОВ ПРО DDOS —
https://youtu.be/mKtDrORUYG4
.
✔️ Стать спонсором и получить уникальные эмблемки и смайлы —
https://www.youtube.com/channel/UCr425Zs_t0I_kUq-Xz1zuYA/join
↓ Таймкоды ниже ↓
↓ По вопросам рекламы также вниз↓
➖➖➖
Всем привет, вещает Доктор Октопус! Кажется, для компании Wargaming наступили не легкие времена. На их ресурсы — форум world of tanks, wotreplays, Центр поддержки пользователей WG (саппорт), а также на сервера RU4, RU10, RU6 и другие — были произведени дудос атаки (DDOS). Они продолжаются и по сей час. Подтверждения были и в официальных источниках, и в группе WoT Express. Безусловно, это не выдумки. Новогоднее наступление уже совсем скоро, коробки wot на носу. А премиум магазин варгейминга периодически ложится. Кто за этим стоит? Может это все фейк и WG дудосят сами себя? За этим стоит Корбен даллас или Джов? Сейчас все выясним. В гостях IT-аналитик, который разберет прошлое интервью октопуса.
➖➖➖➖➖➖ТАЙМКОДЫ➖➖➖➖➖➖➖
0:00
— В ЭТОМ ИНТЕРВЬЮ…
1:23
— Кто мой гость? Как он связан с IT?
2:00
— Как ты отбивал DDOS-атаки на своей платформе?
4:00
— Как реализованы ddos-атаки? Кто за ними стоит?
5:30
— Бюджет на защиту от атак Про сотрудников WG.
8:55
— Бизнес по тематике World of tanks. Стоит ли начинать?
10:05
— WG решили нагнать хайпа? Это спланированная акция?
➖ Разбор интервью по деталям ➖
12:30
— С чем согласен. Доводы «ЗА» . Аналитика от гостя
15:15
— Хватило ли технической части? Про уровни защиты (L3,L4,L7)..
17:40
— Про сайт Корбена, Интерпол и Госуслуги… «Чебурашка» говорит правду?
19:20
— Важная часть про безопасность и последствия.
➖
20:50
— Доводы «ПРОТИВ». Чебурашка обманывает?
24:50
— ПОДВЕДЕНИЕ ИТОГОВ
26:35
— Про страх перед хакером.
28:00
— Танкистов больше чем ДОТеров и КСеров?
28:50
— Про новогодние «плюшки». Не забывай про лайк 😉
➖➖➖➖➖➖➖➖➖➖➖
✍ Для связи с Октопусом:
telegramm @octopus_wot (по разным вопросам)
РЕКЛАМА —
https://vk.com/mchikovani2000
;
➖➖➖➖➖➖➖➖➖➖➖
✖ Не читать ✖
#wot#ddos#интервью#wargaming#октопус#it
Серверы разработчика world of tanks подверглись массовой ddos-атаке
Больше недели серверы компании Wargaming подвергаются DDoS-атакам. Они совпали по времени с объявлением бывшего сотрудника о желании создать «Партию прямой демократии», но сам он не связывает эти события
О том, что серверы Wargaming подвергаются продолжительной DDoS-атаке, сообщила сама компания на своем официальном сайте.
«Из-за продолжительной DDoS-атаки на наши серверы вы можете столкнуться с трудностями при входе в игру, а также с периодическими проблемами в самом игровом клиенте: лагами (замедленный отклик игры на команды пользователя. — РБК), зависаниями, «вылетами» и тому подобным. Проблемы особенно заметны в вечернее время, когда в игре больше пользователей и возрастает нагрузка на серверы», — говорится в сообщении центра поддержки Wargaming от 15 января. В среду, 22 января, компания указывала, что «приняла ряд защитных мер, что позволило снизить негативный эффект», но «на отдельных перифериях в определенные промежутки времени все еще могут встречаться лаги и отключение игроков от сервера». При этом о первых проблемах с авторизацией компания написала еще 12 января, но на тот момент их не связывали с атаками.
Wargaming — разработчик игр World of Tanks, World of Waships, World of Warplanes и др. Компания была основана белорусским предпринимателем Виктором Кислым в 1998 году. Штаб-квартира расположена на Кипре, центры разработок — в Минске, Киеве, Санкт-Петербурге, Сиэтле, Чикаго, Балтиморе, Сиднее, Хельсинки, Остине и Праге.
Наиболее популярной игрой компании является World of Tanks — по подсчетам аналитиков SuperData, в 2022 году она принесла разработчикам доход в $471 млн, заняв четвертое место среди самых прибыльных бесплатных игр (впоследствии не входила в этот рейтинг). В России в World of Tanks ежедневно играют 3 млн человек, сообщала сама компания.
В четверг, 23 января, в группе во «ВКонтакте» представитель центра технической поддержки Wargaming сообщил, что проблемы со входом могут наблюдаться не только в World of Tanks, но и в World of Warships и World of Warplanes. Он уточнил, что проблемы возникли из-за очередной DDoS-атаки на дата-центр в Москве. В качестве компенсации игрокам пообещали предоставить три дня премиум-аккаунта.
Представитель Wargaming подтвердил РБК, что технические неполадки из-за DDoS-атаки продолжаются. «Мы делаем все возможное, чтобы противостоять атаке и наладить стабильную работу игры», — заявила пресс-секретарь компании Дарья Лыгач. Причины DDoS-атаки, откуда и кем она производится, Лыгач не пояснила.
Атака началась практически сразу после того, как Wargaming покинул директор по продукту World of Tanks Вячеслав Макаров, чтобы основать «Партию прямой демократии». Помимо него в партию войдут директор Евразийского коммуникационного центра Алексей Пилько, замначальника юридической службы «Яндекс.Деньги» Борис Чигидин и гендиректор Unwired Devices Олег Артамонов. Особенностью партии станет мобильное приложение на базе блокчейна, через которое члены партии будут осуществлять голосование, на его разработку Макаров планирует потратить $1 млн, сообщил «Коммерсантъ».
Вячеслав Макаров сказал РБК, что из отзывов пользователей знает об атаке, но не знает, с чем она связана. «Поскольку не знаю никаких внутренних подробностей, гипотез происхождения [атаки] нет. Связывать с моей политической деятельностью смысла не вижу, я Wargaming покинул, и на меня проблемы игры никак не влияют», — отметил он.
Менеджер по развитию бизнеса Kaspersky DDoS Protection в России Алексей Киселев объяснил, что в данном случае речь идет о достаточно сложных атаках, которые не удается полностью нейтрализовать имеющимися средствами. «За сложными атаками, как правило, стоят уже достаточно квалифицированные злоумышленники. Такая настойчивость может быть свидетельством высокой мотивации или хорошего финансирования, так как атака на защищаемые ресурсы несет высокие риски для атакующей стороны, в том числе привлечение к ответственности, потерю бот-сетей и т.д.», — заявил он.
Хакеры похитили конфиденциальные данные 15 тысяч пользователей онлайн игры
Хакеры украли логины, пароли и адреса электронной почты пользователей онлайн игры WoT.
Неизвестные злоумышленники получили доступ к конфиденциальным данным 15 тысяч пользователей онлайн игры World of Tanks (WoT). Хакеры украли логины, пароли и адреса электронной почты. Полученную информацию можно использовать для организации фишинг атак, а также для продажи учетных записей, на счету которых находится большое количество реальных или игровых денег.
Администрация игры не сообщает, каким образом был осуществлен взлом. В сети появилась неофициальная информация о том, что скомпрометированным мог быть форум WoT, так как недавно служба перешла на унифицированную систему аутентификации во всех своих сервисах. Также уязвимыми могли быть неофициальные патчи для клиента игры.
Все клиенты WoT были уведомлены об утечке их учетных данных, и им было предложено сменить пароль. Пользователи, которые используют одни и те же аутентификационные данные на различных учетных записях, например, на почте и в социальной сети, рискуют утратить доступ также и к ним.
Администрация SecurityLab советует не использовать одинаковый пароль для доступа к различным сайтам. Также не доверяйте личностям, которые пытаются выдать себя за руководство той или иной службы с целью получения от Вас какой либо конфиденциальной информации.