DOOM запустили в Microsoft Paint, холст кормят кадрами через буфер обмена

DOOM запустили в Microsoft Paint, холст кормят кадрами через буфер обмена

DOOM запустили в Microsoft Paint, холст кормят кадрами через буфер обмена

Технический директор Microsoft Azure Марк Руссинович выпустил DoomPaint — проект, который позволяет играть в DOOM прямо на холсте Microsoft Paint. Правда, калькулятором Paint так и не стал: игру обсчитывает движок ViZDoom, а встроенный редактор Windows лишь показывает готовые кадры.

DoomPaint запускает движок без отдельного окна, формирует изображение и отправляет его в Paint через буфер обмена.

Каждый кадр вставляется на холст как новая картинка. Разрешение по умолчанию составляет 640×400 пикселей, а частота достигает родных для DOOM 35 кадров в секунду. При нагрузке производительность может скатиться до уровня, который Руссинович метко назвал табличным.

Играть при этом можно полноценно: доступны управление с клавиатуры, стрельба, бег, открытие дверей, звуковые эффекты и MIDI-саундтрек. Есть и бонус, которого не было в оригинале: Ctrl+Z превращается в перемотку времени.

Каждый кадр хранится в истории Paint, поэтому несколько отмен способны буквально оживить погибшего героя. А сохранение файла создаёт обычный PNG со сценой игры — Paint ведь понятия не имеет, что его заставили изображать монитор.

 

Главной проблемой стал сам буфер обмена. Если десятки раз в секунду очищать его и записывать новый кадр, Paint может не успеть прочитать предыдущий и выдать ошибку. Поэтому DoomPaint публикует один объект OLE на всю сессию и обновляет содержащиеся в нём данные. Следующий кадр появляется только после подтверждения, что Paint забрал предыдущий.

Вставка запускается синтетическим Ctrl+V либо через меню Paint, если приложение игнорирует нажатие. Низкоуровневый перехватчик клавиатуры не даёт игровым клавишам случайно нажимать кнопки редактора.

Проект опубликован на GitHub и требует Python. После запуска файла run.bat скрипт сам создаёт окружение, устанавливает зависимости и открывает Paint.

Подпишитесь на новости

Дешёвая поддельная вышка позволяет следить за абонентами 5G

Исследователи из i2CAT Foundation, Университета Мурсии и NEC Laboratories Europe собрали недорогой инструмент 5G-Shark, который заманивает смартфоны на поддельную базовую станцию. Без глушилок, хитрых пакетов и предупреждений на экране телефон сам цепляется за фейковую вышку, считая её подходящей сетью.

Разработка использует открытую программную платформу и доступное SDR-оборудование.

Фальшивая станция объявляет высокий приоритет и достаточно сильный сигнал, после чего находящийся поблизости смартфон может автоматически переключиться на неё в режиме ожидания.

Как показало исследование 5G-Shark, протестированные сети почти всегда скрывали постоянный идентификатор абонента, ради чего 5G и должен был отправить классические IMSI-catcher в музей. Но временные идентификаторы GUTI некоторые операторы выдавали почти последовательно.

Учёные собрали 3742 идентификатора в сетях трёх операторов. В отдельных случаях до 84-96% последовательных регистраций одного абонента удавалось связать только по значению GUTI. У оператора, который распределял номера случайнее, показатель упал до 7%.

На слежке сюрпризы не закончились. Поддельная станция отправляла смартфонам сообщения Registration Reject и заставляла Samsung Galaxy S23 откатываться в ограниченный режим 3G без интернета, бесконечно пытаться зарегистрироваться либо намертво подвешивать модем до ручной перезагрузки.


Авторы считают, что часть проблем заложена в самом протоколе: смартфон вынужден обрабатывать некоторые команды ещё до установления защищённого соединения. Другие дыры появились из-за решений операторов и производителей оборудования.

Впрочем, объявлять весь 5G дырявым пока рано. Работа опубликована как препринт и ещё не прошла рецензирование, тесты проводились только на семи собственных устройствах исследователей, а атака требует находиться рядом с целью.

RSS: Новости на портале Anti-Malware.ru