Все новости
Это интересно
Сейчас читают
Игры
Аватар Evernews Evernews

Первый Doom смогли взломать и сделать внутри игры «змейку»

2
0
Поделиться
Телеграфировать

Она летает прямо по экрану, поверх монстров и марсианских коридоров.

Первый Doom смогли взломать и сделать внутри игры «змейку»

Разработчик под ником kgsws нашел в коде оригинального Doom эксплойт, позволяющий запускать внутри игры собственный код. Уязвимость, связанная с обработкой сохранений, работает и в первой, и во второй части Doom.

В разговоре с Vice kgsws рассказывает, что решил поискать эксплойт, заинтересовавшись, можно ли добавить в оригинальный Doom что-то новое, не модифицируя саму игру.

Для демонстрации возможностей эксплойта разработчик реализовал в Doom «змейку». Она отрисовывается поверх игры и интерфейса, управление «змейкой» нестандартное: процесс, объясняет kgsws, больше напоминает вождение автомобиля.

Исходники «змейки» и самого эксплойта выложены в открытый доступ. В описании на GitHub разработчик поясняет, что функция игрового движка P_UnArchivePlayers некорректно проверяет состояние спрайта игрока: благодаря этому можно манипулировать структурой данных player_t.

Куча Doom при загрузке аллоцируется в случайном месте памяти, но kgsws выяснил, что отыскать нужные адреса можно благодаря копированию структуры player_t в переменную players[0], местонахождение которой известно. Дальше к нужным местам памяти можно обращаться просто по смещениям.

В итоге разработчик смог создать загрузчик, позволяющий встраивать собственный код в сохранения Doom и Doom 2. Таким образом, уверен kgsws, можно создавать очень продвинутые модификации.

Читать далее
За сколько вы готовы купить GTA VI?
До 8000 рублей
2205 голосов, 7.3%
До 7000 рублей
825 голосов, 2.7%
До 6000 рублей
1006 голосов, 3.3%
До 5000 рублей
2685 голосов, 8.9%
До 4000 рублей
1066 голосов, 3.5%
До 3000 рублей
1430 голосов, 4.7%
До 2000 рублей
3421 голос, 11.3%
За любые деньги
1694 голоса, 5.6%
Ни за сколько, я пират
15879 голосов, 52.6%
Теги: Игры, Технологии
Аватар Evernews
Evernews
8092 подписчика