Бесплатно60
Free60 является преемником проекта Xbox Linux , целью которого является установка Linux , BSD или Darwin на Microsoft Xbox 360 с помощью программного или аппаратного «взлома». Xbox 360 использует аппаратное шифрование и не запускает неподписанный код сразу после установки.
Цели проекта были достигнуты в марте 2007 года, когда вскоре после объявления о критической уязвимости программного обеспечения [1] Xbox 360 в гипервизоре появился загрузчик для Linux, который позволял запускать Linux портированный на Xbox 360 .
На сегодняшний день доступны два набора исправлений ядра Linux : один для 2.6.21 и один для 2.6.24.3. На Xbox 360 можно запустить три основных дистрибутива Linux; Gentoo , Debian и Ubuntu Linux, два последних из которых легко устанавливаются на жесткий диск Xbox 360 с помощью сценариев, предоставленных участниками проекта Free60. [2] [3] [4]
Метод выполнения
[ редактировать ]Поскольку исполняемый код на Xbox 360 имеет цифровую подпись и выполняется под гипервизором , для выполнения самодельного кода необходим эксплойт или взлом. На Xbox 360 первый эксплойт, позволивший загружать неподписанный код, основывался на модифицированной прошивке привода DVD-ROM , модифицированном записанном диске с игрой King Kong (для Xbox 360) и целевой консоли, имеющей одно из двух уязвимых ядер. редакции. В качестве альтернативы можно использовать самодельный кабель для дампа и исправления биоса с помощью перемычек, прикрепленных к соответствующему контактному разъему на материнской плате консоли, для исправления гипервизора и обеспечения неподписанного выполнения непосредственно при загрузке, известного как «эксплойт JTAG/SMC». ", который был исправлен после июня 2009 года, но заменен на "Reset Glitch Hack" в 2011 году, который применим к любой версии ядра на всех версиях материнской платы Xbox 360, кроме последней (большинство 360 выпущено с 2014 года до окончания производства в 2015 году). ), одно предостережение: это сбой, зависящий от времени, время загрузки может быть нестабильным. [5]
При использовании оригинального эксплойта King Kong консоль должна запустить модифицированную игру, которая будет использовать уязвимость программного обеспечения для загрузки небольшого фрагмента кода, включенного в диск. Этот код может либо инициализировать последовательный порт, чтобы разрешить загрузку дальнейшего кода на консоль, либо извлечь лоток для диска и подготовить консоль для загрузки дальнейшего кода из указанной точки на оптическом носителе, который затем помещается в дисковод. Последний метод использует двоичный файл readcd , созданный специально для этой цели. Код, который выполняет readcd в этом случае, известен как XeLL, сокращение от Xenon Linux Loader . XeLL захватывает потоки ЦП и запускает ядро Linux либо по сети ( tftp ), либо по оптическому носителю (в качестве своей единственной цели), обеспечивая плоское дерево устройств для ядра. В случае выпуска « Live CD » двоичный файл readcd обычно включается в модифицированный диск с игрой, из которого извлекается привод, и вставляется компакт-диск, содержащий двоичный файл XeLL, а также полное ядро и файловую систему Linux.
Ограничения
[ редактировать ]- Первоначально метод readcd был ограничен только приводами DVD-ROM марки Hitachi, но теперь поддерживает также приводы марки Samsung. [6] Все остальные коммерчески используемые диски считаются неподдерживаемыми; на данный момент единственные используемые диски производятся компаниями BenQ и Lite-ON.
- Для самой Xbox 360 требуется более старая версия ядра, которую может оказаться сложно найти, поскольку при подключении к службе Xbox Live на консоли применяются обновления, а многие игры включают обновления, которые необходимо применить перед запуском игры. Это ограничение не так важно, как раньше, поскольку теперь известно, что можно понизить версию ядра выше, чем последнее из двух уязвимых ядер, с помощью временной атаки .
- В настоящее время не существует аудиодрайверов для поддержки внутреннего аудиооборудования консоли, однако USB . можно использовать аудиоустройство
- Некоторые кодеки несовместимы с текущим драйвером дисплея, из-за чего некоторые видео не воспроизводятся. В дополнение к этому, проблемы с кадровым буфером и кешем означают, что видео, которые воспроизводятся, дергаются после первых нескольких секунд, когда кеш заполнен.
Разработка
[ редактировать ]Один из основных участников проекта Free60 разработал метод ускорения 3D-графики на графическом процессоре Xbox 360 (под кодовым названием Xenos) под Linux. [7] [8] [9] Эта работа была инкапсулирована в API для упрощения использования. Чтобы добиться такого ускорения, некоторые данные из флэш-памяти Xbox 360 необходимо загрузить в графический процессор Xenos. Этот процесс может быть автоматизирован, чтобы гарантировать законность любого ускорения 3D-графики.
Поскольку лишь небольшая часть Xbox 360 в настоящее время способна выполнять неподписанный код, в последнее время проект Free60 мало развивался. Это можно в некоторой степени контрастировать с предшественником Free60, проектом Xbox Linux, который получил гораздо большее развитие в результате относительной простоты запуска неподписанного кода на Xbox и простоты переноса кода x86 для Xbox. на специальный процессор Intel Pentium III - на базе процессора .
Для продолжения разработки участники проекта Free60 обращаются за помощью. [10] Возможно, самая важная из просьб о помощи — предоставить аудиодрайверы; Члены Free60 попросили кого-нибудь со знанием компонента ядра ALSA и материнской платы на базе SiS966, чтобы добиться этого.
Одним из проектов, созданных в результате успеха Free60, является Kernel Rebooter . [11] Цель этого состоит в том, чтобы после первоначальной загрузки уязвимого ядра и использования его для получения контроля над системой получить возможность перезагрузить консоль в модифицированный неподписанный гипервизор и ядро. Возможность перезагрузки с использованием более новой версии ядра позволит запускать на консоли игры, зависящие от этих версий ядра. Этот проект имел определенный успех; доступны бинарные файлы (которые можно запустить последовательным загрузчиком или readcd) для частичной перезагрузки гипервизора.
Ссылки
[ редактировать ]- ^ Bugtraq: уязвимость повышения привилегий гипервизора Xbox 360 http://seclists.org/bugtraq/2007/Feb/0514.html
- ^ Руководство по установке Debian-Etch «Debian-etch — проект Free60» . Архивировано из оригинала 4 июля 2008 года . Проверено 7 июля 2008 г.
- ^ Сценарий установки Ubuntu 7.04 «Ubuntu7.04 — проект Free60» . Архивировано из оригинала 4 июля 2008 года . Проверено 7 июля 2008 г.
- ^ Скрипт установки Ubuntu 7.10 «Ubuntu7.10 — проект Free60» . Архивировано из оригинала 4 июля 2008 года . Проверено 7 июля 2008 г.
- ^ Техническая информация о разъемах и разъемах Speedy22. «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 22 октября 2006 г. Проверено 7 июля 2008 г.
{{cite web}}
: CS1 maint: архивная копия в заголовке ( ссылка ) - ^ Примечания к выпуску Gentoo Live CD Xenon Beta 2 http://sourceforge.net/project/shownotes.php?group_id=139616&release_id=506402
- ^ debugmo.de » модно
- ^ debugmo.de » Бойтесь, треугольники!
- ^ debugmo.de » Обновление графического процессора Xbox 360
- ^ Бесплатная помощь 60 «Помощь – Проект Free60» . Архивировано из оригинала 4 июля 2008 года . Проверено 7 июля 2008 г.
- ^ Перезагрузка ядра http://www.xboxhacker.net/index.php?topic=8738.0