Игра на BASIC из 80-х прятала машинный код внутри комментария. Объяснить это удалось только через 40 лет (beej.us)
Загадочный комментарий REM, открывающий подземельную игру на BASIC 1980-х, оказался сырым машинным кодом Z80, а не текстом — размещённым точно по адресу, откуда его должен был выполнить вызов функции USR().
Трюк эксплуатировал то, как интерпретатор BASIC на Exidy Sorcerer хранил исходник в памяти — байты комментария попадали ровно туда, где нужен был исполняемый код, замаскированные под нечитаемую ремарку.
Полезная нагрузка делала кое-что изящное: читала постоянно растущий регистр R процессора Z80 как дешёвый источник случайности для сида RNG игры — за десятилетия до аппаратных чипов случайности.
Войдите, чтобы сохранить