Баг в GTA: San Andreas на Windows 11 24H2 связан с устаревшим кодом

Баг в GTA: San Andreas на Windows 11 24H2 связан с устаревшим кодом

Баг в GTA: San Andreas на Windows 11 24H2 связан с устаревшим кодом

На днях на GitHub-трекере SilentPatch и GTAForums начали активно обсуждать странную проблему: в GTA: San Andreas на Windows 11 24H2 пропал гидросамолёт Skimmer. Его нельзя найти на обычных спавнах, нельзя заспавнить через трейнер — и даже в чистой версии игры без модов он просто исчезает.

Причём ошибка повторяется у всех, кто обновился до новой версии Windows.

Поначалу это выглядело как какой-то странный случай, но после реальных тестов в виртуальной машине стало ясно: после обновления до 24H2 Skimmer действительно исчезает. Попытка заспавнить его вручную приводила к забавному результату: игрока катапультировало на немыслимую высоту — примерно на 1 квадриллион световых лет вверх!

Что оказалось не так

При расследовании выяснилось, что проблема связана с багом в самой GTA: San Andreas, который просто чудом не проявлялся больше 20 лет. Всё дело в том, что в файле vehicles.ide у Skimmer были неполные данные — отсутствовали параметры масштабов колёс, которые обязательны для самолётов. Игра при чтении этой строки полагалась на старые значения из памяти, которые «по счастливой случайности» всегда были нормальными… до Windows 11 24H2.

В новой версии Windows внутренняя работа функций типа fgets изменилась: они теперь используют больше места на стеке. Из-за этого те старые «спасительные» значения перезаписываются, и игра начинает работать с мусорными данными. В результате Skimmer появляется с поломанными координатами и либо не спавнится вовсе, либо моментально отправляет игрока в стратосферу.

Как починить проблему прямо сейчас

Разработчик SilentPatch уже подготовил исправление для патча, но если хочется вернуть Skimmer без ожидания, всё просто:

  1. Открыть файл data\vehicles.ide в папке с игрой.
  2. Найти строку, начинающуюся с 460, skimmer.
  3. Заменить её на следующую:
    460, skimmer, skimmer, plane, SEAPLANE, SKIMMER, null, ignore, 5, 0, 0, -1, 0.7, 0.7, -1
  4. Сохранить файл.

После этого Skimmer снова будет спавниться нормально!

Почему так произошло

Ошибка появилась не из-за Windows 11 24H2 как такового — Microsoft просто изменила внутренние механизмы работы системы, и старая ошибка в коде игры, на которую никто не обращал внимания десятилетиями, внезапно себя проявила. Кстати, в более поздних версиях GTA: San Andreas (на Xbox, Steam 3.0, мобильных версиях) Rockstar тихо исправили эту проблему, добавив недостающие параметры.

Вывод

История с исчезнувшим Skimmer — отличный пример того, как даже небольшие изменения в новой ОС могут «всплыть» через старые ошибки в коде приложений. И ещё одно напоминание, почему важно не оставлять неинициализированные переменные без присмотра. К счастью, у нас есть моддеры и патчи вроде SilentPatch, которые позволяют сохранять любимые игры рабочими даже через десятилетия.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

Польский регулятор обвинил Apple в сборе данных при запрете на отслеживание

Польский антимонопольный регулятор обвинил Apple в том, что корпорация якобы вводит пользователей в заблуждение относительно уровня конфиденциальности, который предоставляет функция App Tracking Transparency (ATT). По мнению ведомства, Apple может использовать пользовательские данные даже тогда, когда человек запретил отслеживание.

Как пишет Reuters, Apple с обвинениями не согласна и заявляет, что давление регуляторов может вынудить её вовсе отключить эту функцию для пользователей в ЕС.

Это уже не первый конфликт компании с европейскими правилами. ЕС требует, чтобы Apple обеспечивала равные условия для сторонних разработчиков: если у Apple есть доступ к определённым данным, то и конкуренты должны иметь возможность получать аналогичную информацию.

Apple, в свою очередь, утверждает, что доступ к данным у неё организован так, чтобы приватность пользователей соблюдалась максимально, и она не может гарантировать, что сторонние компании будут действовать так же.

Последний пример — ситуация с Apple Watch. Часы могли получать историю Wi-Fi подключений с привязанного iPhone, но другие производители — нет. Вместо того чтобы раскрыть эти данные, Apple отключила функцию в моделях для ЕС.

Претензии к App Tracking Transparency

ATT требует, чтобы приложения спрашивали разрешение на отслеживание пользователя. Если человек говорит «нет», разработчики не могут использовать рекламный идентификатор устройства.

Польский регулятор полагает, что Apple якобы продолжает собирать данные для показа таргетированной рекламы в своих сервисах, например в App Store, независимо от согласия пользователя.

Глава UOKiK Томаш Хростный заявил, что политика ATT «могла ввести пользователей в заблуждение относительно уровня защиты персональных данных и одновременно дала Apple конкурентное преимущество».

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

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