Баг в 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, которые позволяют сохранять любимые игры рабочими даже через десятилетия.

Минтруду не удалось оспорить штраф за утечку данных

Министерству труда не удалось оспорить в Верховном суде штраф за утечку персональных данных сотрудников и членов их семей. Ранее административное наказание было назначено судами нижестоящих инстанций. Основным аргументом ведомства стало то, что причиной инцидента стала халатность внешнего подрядчика.

Объём утечки оказался относительно небольшим — около 1400 записей. Однако в открытый доступ попали наиболее востребованные на теневом рынке сведения, включая номера паспортов и реквизиты банковских карт.

Мировой судья оштрафовал Минтруд на 100 тыс. рублей. Ведомство попыталось оспорить решение, настаивая, что ответственность за защиту данных лежала на подрядной организации, а значит, само министерство следует считать пострадавшей стороной. В итоге спор дошёл до Верховного суда.

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

Руководитель практики защиты данных Stonebridge Legal Денис Бушнев в комментарии для радиостанции «Коммерсантъ FM» назвал решение Верховного суда логичным продолжением сложившейся правоприменительной практики и разъяснений Роскомнадзора:

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

«Минтруд, имея возможность провести аудит, ничего не предпринял. Если бы были представлены акты проверок, ответственность можно было бы попытаться переложить на подрядчика, но для этого необходимо выполнить ряд мер. В выигрыше оказываются юристы, которые убеждают клиентов выстраивать корректную систему работы: раньше им не хватало наглядного судебного примера. Теперь он есть — с конкретным штрафом, да ещё в отношении госструктуры. А выигрывают и те, кто заранее выстроил процессы и “подстелил соломку”», — отметила руководитель практики комплаенса юридической фирмы LCH.LEGAL Елена Шершнева.

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