Microsoft открыла код BASIC 6502, запустившего Commodore и Apple II

Microsoft открыла код BASIC 6502, запустившего Commodore и Apple II

Microsoft открыла код BASIC 6502, запустившего Commodore и Apple II

Microsoft выложила на GitHub полный исходный код Microsoft BASIC для процессора 6502 — версии 1.1 от 1978 года, на которой работали такие легендарные машины, как Commodore PET, VIC-20, Commodore 64 и Apple II. Теперь 6 955 строк ассемблерного кода доступны под лицензией MIT — каждый может изучать, использовать и даже изменять софт, с которого фактически начиналась революция персональных компьютеров.

Написанный Биллом Гейтсом и Риком Вейландом интерпретатор BASIC стал для миллионов людей в конце 70-х и начале 80-х первой возможностью «поговорить» с компьютером напрямую.

Простейшие команды вроде 10 PRINT "HELLO" и 20 GOTO 10 превращались в бесконечный поток текста на экране — и в первый опыт программирования для целого поколения.

Особенность кода в том, что он умещался в смешные по нынешним меркам объёмы памяти, когда каждый килобайт стоил сотни долларов. Процессор MOS 6502 обходился всего в $25, а его конкуренты — в восемь раз дороже. Поэтому именно этот чип стал сердцем домашних компьютеров и игровых приставок, от Atari 2600 до NES.

Интересная деталь из истории: Commodore в 1977 году заплатила Microsoft всего $25 000 за бессрочную лицензию на использование BASIC — без отчислений за каждую проданную машину. Учитывая миллионы Commodore PET и C64, выпущенные позже, в Redmond наверняка вспоминают этот контракт с лёгкой грустью.

В опубликованной версии 1.1 уже есть исправления и оптимизации, сделанные в 1978-м совместно инженером Commodore Джоном Фигансом и самим Гейтсом. Код поддерживал условную компиляцию — по сути, из одной кодовой базы собирались варианты и для Apple II (Applesoft BASIC), и для KIM-1, и для других систем.

Зачем это всё сегодня? Для энтузиастов ретрокомпьютеров — это шанс прикоснуться к «чистому» историческому артефакту, увидеть, как программисты выжимали максимум из железа с минимальными ресурсами. Эти приёмы до сих пор актуальны, когда речь идёт об оптимизации — будь то смарт-часы или спутники.

Microsoft в последние годы регулярно открывает старый код: раньше компания публиковала исходники GW-BASIC, MS-DOS 4.0 и даже самого первого Altair BASIC. Для корпорации, которая когда-то называла Linux «раковой опухолью» и «коммунизмом», это настоящая метаморфоза. А теперь — ещё и красивый жест: в Git-репозитории у исходников BASIC стоят фиктивные временные метки коммитов от июля 1978 года.

В популярном WordPress-плагине для редиректов пять лет скрывался бэкдор

В плагине Quick Page/Post Redirect для WordPress обнаружили скрытый бэкдор. Плагин установлен более чем на 70 тыс. сайтов и используется для настройки редиректов на страницах, записях и пользовательских URL.

Проблему нашёл основатель хостинг-провайдера Anchor Остин Гиндер после того, как на его инфраструктуре сработали предупреждения сразу на 12 заражённых сайтах. WordPress.org временно убрал плагин из каталога на время проверки.

По данным исследователя, в официальных версиях 5.2.1 и 5.2.2, выпущенных в 2020-2021 годах, был скрытый механизм самообновления. Он обращался к стороннему домену anadnet[.]com и позволял подгружать код в обход контроля WordPress.org.

Позже этот механизм убрали из следующих версий, но часть сайтов успела получить подменённую сборку 5.2.3 с внешнего сервера. Именно она добавляла пассивный бэкдор. Он срабатывал только для пользователей, которые не вошли в админку, чтобы владельцы сайтов не замечали подозрительную активность.

По оценке Гиндера, механизм использовали для скрытого SEO-спама: заражённые сайты фактически сдавали свои позиции в поисковой выдаче тем, кто управлял этой инфраструктурой.

Главная опасность при этом не только в самом SEO-спаме. Встроенный механизм обновления теоретически позволял выполнить произвольный код на сайте по команде. Сейчас он, по словам исследователя, неактивен, потому что управляющий поддомен не резолвится, но сам домен остаётся действующим.

Пользователям Quick Page/Post Redirect рекомендуют удалить плагин и заменить его чистой версией 5.2.4 из каталога WordPress.org, когда она снова станет доступна после проверки. Владельцам сайтов также стоит проверить следы подозрительных обновлений и сравнить хеши установленных файлов с официальными версиями.

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