Введение

Метод использования программного обеспечения для изменения заданного поведения аппаратного обеспечения.

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

Софтмоды видеокарт

Видеокарты, которые можно программно модифицировать для повышения производительности (независимо от тактовой частоты), как правило, имеют схожую аппаратную часть. Софтмоддинг видеокарты не должен включать изменение её BIOS, так как это является перепрошивкой BIOS. На данный момент известно всего четыре способа софтмоддинга: преобразование Radeon 9500 NP в 9500 Pro (128 бит) или 9700 (256 бит), Radeon 9800SE (с 256-битной L-образной компоновкой памяти на печатной плате) в Radeon 9800 Pro, GeForce 6200 в 6600 и GeForce 6800NU в 6800GT. Софтмод обычно активирует конвейеры пиксельного рендеринга, хотя может включать и другие улучшения. Модифицированная таким образом видеокарта не всегда достигает той же производительности, что и оригинальная модель, но разница должна быть незначительной и, как правило, незаметной. Успех софтмоддинга не гарантирован, поскольку конвейеры могли быть отключены по определённой причине, например, из-за дефекта, вызывающего появление артефактов при их активации.

Softmods для Xbox

Softmods для Xbox включали эксплойт шрифта, устанавливаемый через уязвимости в коде сохранений для MechAssault, Splinter Cell, 007: Agent Under Fire и Tony Hawk's Pro Skater 4. Обычно рекомендуется использовать диск Splinter Cell или Tony Hawk's Pro Skater 4, так как любая версия игры запустит эксплойт, в то время как для использования эксплойта в MechAssault и Agent Under Fire требуются определенные партии производства. Изначально, с помощью программы "MechInstaller", созданной участниками команды Xbox Linux, в панель управления Xbox можно было добавить дополнительную опцию для загрузки Linux. Эксплойт шрифта работает, используя переполнение буфера в загрузчике шрифтов Xbox, являющемся частью панели управления. К сожалению, поскольку Xbox требует, чтобы системные часы были установлены, а панель управления используется для их настройки, возникает проблема, если резервный конденсатор часов реального времени (RTC) разряжается. Xbox обнаруживает, что часы не установлены, и принудительно загружает панель управления, которая затем немедленно перезагружается из-за эксплойта переполнения буфера. После перезагрузки Xbox снова обнаруживает недействительность часов, и процесс повторяется. Это стало известно как печально знаменитая "петля времени".

Софтмод для Xbox 360

Не существует комплексной системы softmod для консолей Xbox 360, обеспечивающей полный root-доступ и установку Homebrew. Однако были найдены способы модификации прошивки DVD-привода консоли. Это позволяет системе запускать игры с "копий" (неоригинальных) игровых дисков. Для этого требуется вскрытие консоли, но какое-либо дополнительное оборудование, такое как модчип, не устанавливается в систему на постоянной основе. Microsoft отреагировала введением системы блокировки консолей. Если поток данных с DVD-привода указывал на признаки несанкционированного использования, Microsoft навсегда блокировала консоль от использования сервиса Xbox Live. Блокировка не отменяется и может быть устранена только путем покупки новой консоли. Также были предприняты другие меры, такие как выпуск новых аппаратных ревизий для предотвращения модификаций и проверка/обновление прошивки привода во время обновлений панели управления.

Softmods для PlayStation Portable

Подобно Xbox, практически любую PSP можно взломать (софтмод). Используя различные эксплойты (например, TIFF-эксплойт или специально созданные сохранения для игр, таких как Grand Theft Auto: Liberty City Stories, Lumines и позже GripShift), либо оригинальную незащищенную прошивку, пользователь может запустить модифицированную версию программы обновления PSP, которая установит кастомную прошивку. Эта новая прошивка позволяет запускать ISO-образы, а также неавторизованный (домашний) код. Популярный способ запуска домашнего кода для софтмода PSP – это метод Infinity.

Softmods для Wii

Софтмодинг Wii также тесно связан с методами, используемыми для софтмодинга Xbox и PSP. Первый известный метод загрузки неподписанного кода на Wii (без аппаратной модификации) известен как взлом Twilight. Это позволило пользователям запускать неподписанные файлы с расширением .elf. Этот эксплойт был вытеснен разработкой Bannerbomb, которая позволяет пользователю запускать неподписанный код на консоли, не полагаясь на эксплойт внутри игры. Bannerbomb работает, используя некорректный баннер для внедрения программы-загрузчика в программу Wii Menu в памяти. При сбое Wii Menu выполняется неподписанный исполняемый файл. Bannerbomb был заменен Letterbomb, который использует ошибку в Wii Message Board для вызова сбоя в Wii Menu и загрузки файла /elf, позволяя пользователю установить Homebrew Channel. Эти типы эксплойтов позволили разработать и использовать сторонние приложения для домашнего использования, такие как Homebrew Channel, сторонние игры, медиаплееры и многие другие. Их также можно использовать для запуска резервных копий игр, что открыло путь к нарушению авторских прав на видеоигры. Сообщество Wii Homebrew обычно не рекомендует использовать термин "softmod" для обозначения Wii Homebrew в целом, поскольку он считается имеющим негативные коннотации из-за его связи с нарушением авторских прав. Поскольку аппаратные модификации не помогают в использовании стороннего программного обеспечения из-за архитектуры безопасности консоли, программная модификация подразумевается всякий раз, когда используется программное обеспечение для домашнего использования. Таким образом, термин используется для обозначения программных модификаций, выполняющих ту же функцию, что и существующие аппаратные модификации, то есть позволяющих использовать копии игр.

Softmods для Wii U

Wii U можно софтмодифицировать с помощью различных эксплойтов. По состоянию на февраль 2024 года самый простой способ софтмодификации Wii U – использование эксплойта DNSpresso, который использует несколько ошибок в сетевом стеке и обеспечивает доступ к ядру, а также требует наличия специально подготовленной SD-карты. Это работает на последних версиях прошивки. Это, в свою очередь, позволяет установить CFW (пользовательскую прошивку). В настоящее время наиболее поддерживаемой CFW является Aroma. Другие варианты CFW – Mocha, Haxchi и Tiramasu. Софтмодификация Wii U позволяет пользователям запускать homebrew, загружать резервные копии игр, обходить региональные ограничения и изменять скорость вращения вентилятора и частоты процессора/GPU. Важно отметить, что Wii U обратно совместима с играми Wii (vWii), однако софтмодификация также открывает обратную совместимость с играми GameCube, как и у её предшественницы, поскольку необходимое для эмуляции аппаратное обеспечение присутствует на материнской плате. Тем не менее, Nintendo не реализовала поддержку чтения дисков GameCube на Wii U, фактически отключив эту обратную совместимость. USB-накопитель можно использовать для хранения игр; это единственный способ хранить и запускать игры Wii U вне внутренней памяти. Игры Wii и GameCube можно запускать, если они хранятся на специально подготовленной SD-карте, используемой для софтмодификации Wii U, или на USB-накопителе. Ранее некоторые игры Virtual DS можно было использовать с помощью специально созданных сохранений для установки постоянной CFW, которая активировалась сразу после включения консоли. Однако после закрытия eShop этот метод стал невозможен, если игра не была загружена до закрытия магазина.

Softmods для PlayStation / PsOne

Оригинальную PlayStation можно взломать с помощью эксплойта TonyHax. Эксплойт совместим со всеми североамериканскими и европейскими консолями, за исключением стартовой модели (SCPH 100x), но не совместим с японскими консолями. Он также совместим с ранними версиями PlayStation 2 (SCPH 3900x или более ранними), хотя только для запуска дисков PS1. TonyHax можно запустить либо с помощью эксплойта, встроенного в сохранение игры (обычно Tony Hawk's Pro Skater 2, 3 или 4, отсюда и название, но поддерживается и ряд других игр), либо, кроме PS2, непосредственно с особой перепрошитой карты памяти. Эксплойт позволяет консоли запускать самодельные игры, игры из других регионов и копии CD-R. Некоторые модели PlayStation частично несовместимы (медленная загрузка, пропуск аудио и видео) с CD-R дисками на основе фталоцианина, предпочитая более старые диски на основе цианина. TonyHax – это не постоянный взлом; привод блокируется при выключении или перезагрузке консоли, что требует от пользователя повторной загрузки эксплойта каждый раз при запуске CD-R или игры из другого региона. Более старый метод заключался в запуске оригинального лицензионного диска с удерживаемой кнопкой определения закрытия крышки, быстрой замене диска на копию CD-R или диск из другого региона, извлечении этого диска и повторной вставке оригинала, а затем снова замене на CD-R или диск из другого региона. Это требовало точной синхронизации, и неправильное выполнение могло повредить привод или диск(и).

Softmods для PlayStation 2

У PlayStation 2 существует несколько способов выполнения софтмода. В ранних версиях использовалась замена дисков для обхода защиты от копирования PlayStation 2: с помощью специальных загрузочных дисков, таких как 007: Agent Under Fire или Swap Magic, можно было загрузить самодельное программное обеспечение. Это делалось путем вставки загрузочного диска, блокировки датчика закрытия крышки и быстрой замены его на диск с самодельным ПО. Несмотря на сложность выполнения, универсальность этого метода часто использовалась для софтмодификации. Один из первых разработанных софтмодов – Independence Exploit – позволяет PlayStation 2 запускать самодельное ПО, используя переполнение буфера в коде BIOS, отвечающем за загрузку оригинальных игр PlayStation. Однако этот метод работает только на моделях V10 и ниже, исключая PlayStation 2 slim, и все равно требует записи диска. FreeMcBoot – это эксплойт, работающий на всех моделях, кроме серии SCPH-9000x с BIOS версии 2.30 и выше. Он не требует загрузочного диска и позволяет напрямую загружать ELF-файлы с карты памяти. Fortuna, Funtuna и Opentuna – это еще одна разновидность эксплойта карты памяти. В отличие от FreeMcBoot, они работают на моделях SCPH-9000x и совместимы со сторонними картами памяти, не поддерживающими MagicGate. HD Loader – это эксплойт для моделей PS2 с подключаемым жестким диском. FreeDVDBoot – эксплойт, обнаруженный в 2020 году, требующий записи образа диска с полезной нагрузкой на DVD-R. Он совместим с рядом моделей PlayStation 2 и работает, используя переполнение буфера в DVD-видео функциональности PS2. MechaPwn – это эксплойт, который навсегда разблокирует DVD-привод тонкой PS2 (и некоторых более поздних ревизий толстой PS2), позволяя запускать диски PS1 и PS2 из любого региона. Копии CD-R PS1 можно запускать непосредственно из встроенного меню PS2; копии CD-R/DVD-R PS2 требуют дополнительного программного обеспечения для обхода проверки логотипа PlayStation 2.

Softmods для PlayStation 3

У PlayStation 3 есть несколько способов для установки софтмода. Они основаны на уязвимостях WebKit в веб-браузере PS3. Софтмод возможен на всех моделях PS3, независимо от их типа. Консоли с заводской прошивкой версии 3.55 или ниже могут быть взломаны для установки пользовательской прошивки (неофициальной прошивки). Это относится ко всем моделям "толстым" и "тонким" 20xx и 21xx годов выпуска. Модели Slim 25xx могут быть уязвимы, но только если их дата-код 0D или ниже; иногда консоли с дата-кодом 1A могут иметь заводскую прошивку 3.55, однако на это полагаться не стоит. Модели Slim 30xx и все "супер-слим" модели не подлежат взлому. Данные инструкции подразумевают, что консоль не отправлялась в Sony для обслуживания, так как Sony может обновить заводскую прошивку. Пользовательскую прошивку можно установить с помощью модчипа или эксплойта WebKit, который изменяет текущую прошивку и позволяет консоли "понизить" версию, что в обычных условиях невозможно. Пользовательская прошивка обеспечивает полный контроль над консолью, предоставляя доступ к LV0 (загрузчику), LV1 (гипервизору) и LV2 (ядру). Это позволяет пользователям запускать самодельные программы (homebrew), загружать резервные копии игр, обходить региональные ограничения, изменять скорость вращения вентилятора и частоты CELL/RSX, получать доступ к корневым ключам, а также запускать PS2 ISO на неподдерживаемых моделях с обратной совместимостью. Некоторые реализации пользовательской прошивки восстанавливают функции, удаленные Sony, такие как "OtherOS". Другой популярный софтмод – PS3HEN. Этот софтмод использует эксплойт WebKit для установки подписанного файла через веб-браузер PS3, а затем использует другой эксплойт WebKit и эксплойт ядра, предоставляющий доступ к ядру LV2 при запуске. В отличие от пользовательской прошивки, это "привязанный" софтмод, то есть PS3HEN необходимо активировать каждый раз при включении консоли, однако он поддерживает все модели консолей PS3. Пользователям с официальной прошивкой 4.84 или более поздней версии необходимо установить гибридную прошивку (ещё один тип неофициальной прошивки), так как Sony удалила только точку входа WebKit, но гибридная прошивка восстанавливает её. Этот софтмод обладает многими функциями пользовательской прошивки: пользователи могут запускать homebrew, загружать резервные копии игр, обходить региональные ограничения и изменять скорость вращения вентилятора. Обратная совместимость с PS2 ограничена, так как пользователи могут запускать только зашифрованные PKG-образы PS2 Classics вместо ISO. Гипервизор остается нетронутым и периодически проверяет, подписан ли текущий выполняемый код. Существует небольшой риск, что если код не подписан, консоль может зависнуть или выключиться, что делает её менее стабильной, чем при использовании пользовательской прошивки.

Softmods для PlayStation 4

У PlayStation 4 существуют способы установки софтмода. Большинство из них основаны на уязвимостях WebKit в веб-браузере PS4 в сочетании с эксплойтом ядра. Софтмод можно установить на все модели PS4. Все они являются tether-эксплойтами, то есть требуют выполнения при каждом включении консоли, хотя некоторые эксплойты могут сохраняться с помощью режима ожидания. Софтмод PS4 позволяет пользователям запускать homebrew, загружать резервные копии игр, обходить региональные ограничения и изменять скорость вращения вентилятора и частоты процессора/GPU. Некоторые полезные нагрузки позволяют загрузить PS4 в дистрибутив Linux, однако это не является постоянным, и при перезагрузке консоль вернется к Orbis OS. Наиболее значимыми версиями прошивки, позволяющими установить софтмод, являются: 1.76, 4.05, 4.74, 5.05/5.07, 6.72, 7.02, 7.55, 9.00, 11.00, при этом 5.05/5.07 считается наиболее стабильной, а 9.00 – наиболее стабильной после нее. Следует отметить, что для эксплойта 9.00 требуется подключение специально подготовленной USB-флешки к консоли, а для эксплойта 11.00 – подключение к вредоносному PPPoE-серверу через сеть.

Softmods для PlayStation 5

У PlayStation 5 существуют способы достижения софтмода. Они основаны на эксплойте пользовательского уровня, который может быть уязвимостью WebKit в веб-браузере PS5, специально созданным Blu-ray диском или эксплойтом сохранения игры PS4, объединенным с эксплойтом ядра (и опционально гипервизора). Эксплойт HV (гипервизора) пока не был публично раскрыт, однако существуют цепочки эксплойтов пользовательского уровня и ядра, которые работают в рамках ограничений HV и XOM (execute only memory), частично разблокируя привилегированные части системы. Все они являются tether-эксплойтами, то есть требуют выполнения при каждом включении консоли, хотя некоторые эксплойты могут сохраняться через режим ожидания. Софтмод PS5 позволяет пользователям запускать homebrew, загружать резервные копии игр, изменять черный список обратной совместимости PS4, запускать PS4 "FPKG" (включая PS4 homebrew и резервные копии игр PS1/PS2/PS4), изменять скорость вращения вентиляторов и подменять прошивку (что позволяет устанавливать игры, требующие патча обновления, а также блокировать обновления). Однако подмена прошивки не позволит запускать игры, версия которых выше реальной версии прошивки консоли, без необходимого патча обновления. По сравнению с предшественницей PS4, эксплойта пользовательского уровня и ядра было бы достаточно для достижения того, что обычно считается полноценным джейлбрейком, поскольку софтмоды PS4 работают путем патчинга ядра, однако PS5 добавила дополнительные меры безопасности, в основном HV и XOM, которые не позволяют патчить ядро без эксплойта гипервизора, а также значительно усложняют реверс-инжиниринг. Несмотря на это, было создано несколько HEN (Homebrew ENablers), которые работают в рамках ограничений HV и XOM для запуска неподписанного кода, обходя достаточную защиту для создания homebrew-среды. Прошивки 3.00–4.51 уязвимы для цепочки эксплойтов пользовательского уровня и ядра. Ни одна общедоступная цепочка не позволяет полностью скомпрометировать гипервизор. Эксплойт ядра IPv6 (который привел к джейлбрейку прошивки PS4 6.72) был исправлен на PS4 за несколько месяцев до выхода PS5, затем повторно появился в PS5 с прошивкой 3.00 и затронул версии до 4.51. Это наиболее часто используемый эксплойт ядра для софтмода PS5. Эксплойт ядра файловой системы exFAT, затронувший прошивки PS4 до 9.00, также затронул прошивки PS5 до 4.03, однако из-за дополнительных мер защиты на PS5 его нельзя использовать для софтмода PS5. Эксплойт ядра PPPoE, затронувший прошивки PS4 до 11.00, также затронул прошивки PS5 до 8.20 и изучается возможность его использования для софтмода PS5. В июне 2023 года была опубликована полезная нагрузка под названием libhijacker, ставшая надежным методом запуска homebrew и частично обходящая HV для запуска неподписанного кода, работающая путем создания нового, отдельного процесса через взаимодействие с Daemon PS5, фактически выступая в роли фонового загрузчика ELF. Это отличается от предыдущих загрузчиков ELF, таких как WebKit или Blu-ray, поскольку эти загрузчики завершали работу при остановке соответствующего процесса. Еще одним преимуществом этого нового метода является то, что новому отдельному процессу не накладываются ограничения на фиксированное максимальное выделение ресурсов, характерные для процессов WebKit или BD J. В июле 2023 года разработчик сцены Flat z сообщил, что получил доступ для чтения к Platform Secure Processor (PSP) PS5, одной из наиболее защищенных частей системы, содержащей критически важные ключи для дешифрования. Он также подтвердил успешную эксплуатацию HV через цепочку эксплойтов сохранения игры PS4. Flat z заявил, что не планирует публиковать свои результаты, однако использует эти эксплойты для дальнейшего реверс-инжиниринга PS5, теперь, когда он может дешифровать больше частей системы. В ноябре 2023 года разработчик сцены LightningMods сообщил об успешной загрузке и запуске резервной копии розничной игры PS5. В декабре 2023 года разработчик сцены LightningMods обновил свое homebrew-приложение Itemzflow для поддержки загрузки резервных копий игр PS5.

Softmods для Nintendo 2DS/3DS

Nintendo 3DS (и её аналог Nintendo 2DS) стали одними из самых популярных консольных платформ для установки пользовательских прошивок (softmod), поскольку для этого требуется только сама консоль 2DS/3DS и модификация её карты microSD. Все модели 3DS и 2DS подлежат установке пользовательской прошивки, включая обновлённые модели "New". После закрытия Nintendo eShop для 2DS/3DS, softmodding стал популярен для восстановления функций, которые теперь официально недоступны. Наиболее развитая и широко используемая пользовательская прошивка (CFW) известна как Luma3DS. Она включает в себя такие функции, как EmuNAND (перенаправление NAND), запуск пользовательских загрузчиков вместо системного меню при включении, и установку неофициальных игр в главное меню. Популярное неофициальное приложение, использовавшееся для пиратства, Freeshop, было закрыто Nintendo с прошивкой 11.8, благодаря требованию авторизации ключа заголовка на серверах загрузки eShop, что привело к неработоспособности всех загрузчиков NUS для 2DS/3DS.

Softmods для Nintendo Switch

Ранние версии Nintendo Switch, известные как "V1 Unpatched", уязвимы к аппаратному эксплойту режима восстановления (RCM) при одновременном удержании кнопки увеличения громкости, кнопки питания и неопределённой кнопки, что загружает устройство в RCM, после чего оно подключается через USB к другому устройству, способному передавать полезные нагрузки. Это произошло из-за упущения, поскольку режим RCM предназначался для использования Nintendo в целях обслуживания консолей, а не конечными пользователями. Было обнаружено, что неопределённую кнопку можно эмулировать, закорачивая контакт на правой планке Joy-Con, что инициирует режим восстановления. Находясь в этом режиме, дополнительный недостаток в USB-драйверах Switch позволяет использовать для передачи полезных нагрузок через USB на Switch, находящийся в режиме RCM. Эксплойт RCM основан на аппаратном обеспечении, поэтому любая версия прошивки на этих "V1 Unpatched" уязвима. В некоторых версиях прошивки появилось ограниченное количество softmods, однако при обновлении эксплойты будут устранены. Softmods позволяют запускать неофициальное программное обеспечение, устанавливать пользовательскую прошивку (с использованием эксплойта RCM), обходить региональные ограничения, загружать резервные копии игр и изменять скорость вращения вентилятора и процессора/GPU. С помощью эксплойта RCM также можно установить дистрибутив Android в качестве дополнительной опции загрузки, что делает устройство более универсальным для кроссплатформенных игр (например, Xbox Game Pass), позволяя играть в игры с других платформ. Joy-Con полностью функциональны в среде Android, что делает его серьёзным конкурентом игровым планшетам. Nintendo внедрила меры защиты, при которых, если консоль попытается подключиться к серверу Nintendo с модифицированным загрузчиком или если загружена неавторизованная копия игры, устройство будет либо мгновенно заблокировано, либо заблокировано позже после отправки телеметрических данных на серверы Nintendo. После блокировки консоль будет идентифицирована Nintendo и больше не сможет получить доступ к серверам Nintendo, что заблокирует доступ к eShop, онлайн-играм и другим функциям. В декабре 2023 года группа хакеров представила первый картридж для Switch, получивший название Mig Switch. Этот картридж принимает карту microSD, содержащую резервные копии игр, и пользователь может переключаться между загруженными играми, повторно вставляя картридж. В настоящее время неизвестно, повлечёт ли за собой риск блокировки консоли загрузка резервных копий игр через картридж при подключении к сети. Mig Switch работает на всех моделях и с любой прошивкой, частично обходя некоторые меры безопасности для запуска резервных копий игр и неофициального программного обеспечения.

Дисковые диски для компьютеров

Некоторые DVD-приводы, например, производства Lite-On, могут быть подвергнуты программной модификации для игнорирования регионального кодирования, очистки данных калибровки, запомненных приводом для различных носителей, и обеспечения постоянного переключения типа буктypes DVD+R на DVD-ROM даже после перезагрузки. Это отличается от перепрошивки или установки неофициальной прошивки и не изменяет заводскую прошивку привода.