Если бы геймер конца девяностых изобрел машину времени и перенесся на ней в наши дни, он был бы очень удивлен. И его можно понять: в его время шикарные атмосферные игры стоили сто рублей за диск и после покупки переходили в вековечное пользование. Как может игра требовать с игрока денег ежемесячно, ежегодно, за покупку, страшно сказать, какого-то внутриигрового стаффа? Кто может удаленно заблокировать или деинсталлировать купленную тобой игру? Как «игры в компутер» могут называться «киберспортом» и почему в нем теперь крутятся весьма солидные денежки?

Добро пожаловать в будущее, коллега! Поэтому и взламывают сегодня игры не ради фана, не ради быстрого прохождения или пяти черных драконов в армию, а все по той же причине — деньги, деньги и еще раз деньги…

 

Прячем геймерский чит-софт внутри прошивки USB-мыши

Mark Williams. If You Give a Mouse a Microchip... It will execute a payload and cheat at your high-stakes video game tournament // DEF CON. 2017

На недавнем международном турнире по киберспорту призовой фонд составил 20 миллионов долларов. Более пяти миллионов игроков были решительно настроены на то, чтобы дойти до конца. Естественно, что при таких высоких ставках на турнирах по киберспорту и при таком количестве соперников многие игроки хотят смошенничать и получить конкурентное преимущество.

Читеры постоянно находят всё новые и новые способы модификации игрового софта, который используется на турнирах по киберспорту, — от попыток спрятать исполняемые файлы на флеш-носителях до применения читов, сохраненных в сетевом воркшопе Steam. В этом докладе описывается, как можно обойти продвинутые средства безопасности, чтобы тайно пронести на целевой компьютер свою «полезную нагрузку».

Обычно на турнирах по киберспорту игрокам разрешается пользоваться личными клавиатурой и мышью. Однако эти «простые» USB-устройства тоже можно использовать для передачи команд в компьютер (через HID-протокол). Докладчик описывает, как добавить полезную нагрузку к USB-мыши, оснащенной процессором ARM Cortex M. Микроконтроллер, работающий под управлением этого процессора, сохраняет пользовательские профили во внутренней флеш-памяти, чтобы внутри самой мыши можно было держать пользовательские настройки сразу для нескольких компьютеров. Докладчик демонстрирует, как он модифицировал прошивку своей мыши, разместив в незанятом пространстве ее флеш-памяти полезную нагрузку, не затрагивая при этом исходную функциональность мыши.

Данная концепция применима к любому USB-устройству.

 

На подступах к глобальному читерству в эмуляторах на Android

Nevermoe. One Step Before Game Hackers — Instrumenting Android Emulators // DEF CON. 2018

Коммерческие эмуляторы Android, такие как BlueStacks и Leidian, весьма популярны сегодня. Подавляющее большинство игр работают на эмуляторах достаточно быстро и качественно. Плохая новость для поставщиков игр в том, что эти эмуляторы, как правило, работают с root’овыми полномочиями. Разработчики читерских утилит радостно это приветствуют: им не нужно отдельно заботиться о том, чтобы самим настраивать root’овые права для различных версий ОС Android и для различных версий прошивки, и распространение их утилит значительно упрощается.

Однако повод для радости есть также и у поставщиков игр: для увеличения производительности коммерческие Android-эмуляторы, как правило, используют смешанную эмуляцию x86/ARM. Стандартные фреймворки для работы с хуками и DBI, которыми обычно пользуются изготовители читерских утилит, не работают на этих платформах. В результате создавать утилиты становится существенно сложнее.

В данной презентации докладчик представляет свой собственный фреймворк для работы с хуками и DBI, который корректно работает в условиях смешанной эмуляции x86/ARM. Докладчик демонстрирует на живом примере, как этим фреймворком пользоваться, и по ходу объясняет различные стратегии эмуляции, которые реализованы в распространенных на сегодняшний день эмуляторах, с необходимыми деталями относительно рантайм-сред, в которых они работают (Dalvik/ART). Также докладчик объясняет, почему стандартные фреймворки для работы с хуками и DBI не работают на смешанных эмуляторах.


Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


Антон Карев

Окончил физтех Алтайского госуниверситета. 20 лет занимаюсь низкоуровневым программированием на Ассемблере и Си. С уклоном в Secure Coding. Провожу в скайпе индивидуальные уроки по программированию на Ассемблере, Си, Питоне. Хочешь пообщаться? Пиши на email: anton.barnaul.1984@mail.ru

Check Also

Zello просит пользователей сменить пароли

Компания Zello предупредила клиентов, что им нужно сбросить пароли, если их учетная запись…

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии