Некоторые интересуются, почему я рекомендую выкинуть в помойку некоторые модели приставок конкретных ревизий, в особенности – PS3 slim с заводской прошивкой старше 3.55 и все так называемые суперслим модели – с субномером 3000 и выше.
До PS3 мы еще дойдем, но сначала поговорим о ее конкуренте – приставке XBOX 360. Связано это с тем что обе консоли построены на схожем по архитектуре PowerPC процессоре у Xbox и процессоре Cell у PS3, оба процессора производства фирмы IBM, с той лишь разницей что у процессора Xbox 360 ядер три, а у PS3 – 8, из которых доступны 7. Что делает 8-ое ядро я тоже скажу чуть позже. Итак, процессор IBM Cell. В нем применена технология E-Fuse, что в переводе означает “электронный предохранитель”. Вы наверняка видели обычный плавкий предохранитель? Это такая трубочка с проводом внутри, рассчитанная пропускать ток определенной силы, ну например 1А. Если ток превысить, и подать скажем 2А, то проволочка моментально перегреется и перегорит, физически разорвав контакт. Предохранители так называются потому что они предохраняют технику от поломок при сильных изменениях тока, ну например когда у вас в щитке “отвалился” ноль и в розетках вместо 220 вольт стало 380, а плавкими они называется потому, что расплавляются. Ну так вот. Подобные плавкие предохранители, только размера “нано”, содержатся в IBMовских процессорах Cell для того чтобы можно было менять схемотехнику уже сошедшего с конвейера процессора. Подал ток – предохранитель перегорел, и конфигурация платы внутри процессора изменилась. Процесс этот разумеется необратим. Так вот, фирма Microsoftдогадалась использовать эту технологию поистине дьявольским способом. Тут нужно сделать еще одно отступление. Майкрософт одна из первых ввела цифровую подпись всех запускаемых программ. Это довольно муторная математическая тема об умножении очень больших чисел, где даже зная одно, практически невозможно вычислить второе. Если интересно, почитайте на тему шифрования парой открытого и закрытого ключа и связанной с этим темой цифровой подписи. Общий смысл, что Xbox 360 может запускать только программы, подписанные фирмой Microsoft. Поскольку сторонние хакерские программы и homebrew Майкрософт не подпишет никогда, а ее закрытые ключи хранятся за семью печатями и вряд ли будут известны хакерам, то в теории Xbox 360 никогда не будет запускать сторонние утилиты, написанные неофициальными разработчиками. Достигнуто это следующим образом. Эти самые E-Fuse – предохранители внутри процессора – по сути двоичные последовательности, биты тобишь. Целый предохранитель – единичка, сгоревший – нолик. Таким образом, 128 таких предохранителей позволяют записать внутри процессора 128-битный ключ шифрования. Что Майкрософт и делает – каждый процессор получает свой, уникальный ключ. Затем пережигаются еще предохранители, и становится невозможным считать ключ из вне, так как контакты к нему сожжены. Единственный способ узнать ключ такого процессора – это спросить у Майкрософта. Ну или срезать кремний пласт за пластом, и в туннельном микроскопе пытаться углядеть последовательность эти самых перегоревших и не перегоревших плавких предохранителей. Авось и увидите ключ, вот только проц работать уже не будет. Сам же процессор устроен так, что он запускает только правильным образом подписанные программы. Когда вы покупаете игру на диске – Майкрософт подписывает ее “для всех”, и поэтому один и тот же диск запускается на всех консолях. Когда же вы скачиваете игру из Xbox Live, то ее подписывают под конкретную вашу консоль, и даже если вы перепишите эти файлы на другую консоль, скаченная игра там попросту не запустится, как она подписана для другой приставки, и только она может ее расшифровать. Поскольку без подписи Майкрософт программы запускаться не будут, это обеспечивает стопроцентную гарантию, что все производители игр не смогут выпускать их в обход Майкрософт, а та разумеется берет свою комиссию за каждую подпись. Замкнула на себе так сказать. Лицензирование называется. Ну это как если бы чайный пакетик наотрез отказывался бы завариваться, если бы на нем не было подписи производителя чашки. Все хакерские ухищрения – и JTAG, и более поздний хак для Xbox 360 Slim заключались в том, чтобы тем или иным способом заставить процессор запускать неподписанный код. Хак для Slim просто дрочит процессор до тех пор пока он не войдет в предусмотренный IBM аварийный режим, позволяющий в диагностических целях запускать неподписанный код. Поэтому иногда нужно долгое время включать и выключать консоль, пока хакерскому чипу удастся запустить процессор в этом режиме. Это одна сторона. Вторая сторона – в процессоре есть еще некоторое количество этих самых e-fuse, и Microsoft стала их использовать в еще более демонических целях. Если одно время было возможно откатить версию прошивки приставки на более раннюю, то определенным апдейтом Майкрософт взяла и расплавила один из свободных предохранителей. По сути, Майкрософт удаленно, без вашего ведома, изменила аппаратную начинку принадлежащего вам устройства. Прошу поразмыслить над этим. Для оценки величины трагедии, представьте что например Мосэнерго взяла и повысила напряжение в вашей квартире, чтобы перегорела лампочка в сортире, изменив таким образом схему освещенности вашего дома. Проблема в том что лампочку-то можно поменять, а вот предохранитель внутри процессора сгорел навсегда. На самом деле это очень и очень тревожный звонок и посягательство на частную собственность. Ну так вот, предохранитель сгорел бесповоротно, а часть программного кода отвечающего за обновление была изменена, и теперь перед каждым обновлением проверяет – а цел ли предохранитель? Если нет, то значит у вас стоит версия прошивки с определенным номером, и этот самый код отвечающий за обновление прошивки ни в какую не дает поставить версию прошивки ниже. Отсюда невозможность даунгрейда. Аппаратная невозможность, причем добавили это аппаратное ограничение удаленно, без вашего ведома, прямо у вас дома. Теперь перейдем к PS3. Тут применяется аналогичная, но еще более замороченная схема. Ебанутая на всю голову, чисто по-японски. Помните я говорил что из 8 ядер доступно всего 7? А что же делает 8-ое? Там живет так называемый гипервизор, которые зашифровывает и расшифровывает абсолютно все потоки информации. Если вы знакомы с виртуальными машинами – ну самый простейший пример это эмулятор какой-нибудь Nintendo или Playstation, которые вы запускаете чтобы поиграть на компьютере в приставочные игры. Более сложный пример – это всякие виртуальные машины или даже серверы виртуализации, позволяющие на одном компьютере запустить одновременно несколько сеансов операционных систем, никак между собой не связанных. Ну вобщем тоже можете на досуге почитать про виртуальные машины и виртуальные серверы. Ну так вот, это самое восьмое ядро по сути и создает внутри процессора PS3 виртуальную машину, недоступную для анализа из вне, так как все данные зашифрованы. Поэтому хакеры и не могли так долго взломать ни Xbox 360, ни PS3. Взламывать алгоритмы ассиметричного шифрования вообще дело неблагодарное, и на данный момент считается математически невероятным. Но создатели PS3 все же обосрались, и допустили ошибку при генерации ключей загрузчика. Очень смешно они обосрались, но без понимания криптозащиты шутка будет непонятной, так что сначала разберитесь с ключами. Оплошность носит аппаратный характер, и проявляется на всех приставках PS3 Fat и Slim которые с завода имели версию прошивки не старше 3.55. Подчеркиваю – с завода, в магазине такие продавались. Разумеется, проблему быстро локализовали и поправили на аппаратном уровне, и приставки с заводскими прошивками старше 3.56, а также более поздние модели – супертонкие и с внешнем блоком питания – уже имеют соответствующую заплатку и не поддаются взлому на текущем уровне сведений о системе, доступным хакерам. Есть правда исключение для приставок, которые в магазине продавались с 3.55 или ниже, но пользователь обновил версию прошивки до более старшей, например 4.xx OFW. Узнать какая версия прошивки у вас была с завода очень просто – нужно скачать MinVerChk, записать ее на флешку как обычное обновление для PS3 и попытаться выполнить обновление с флешки самым обычным, штатным способом, о котором я как-то подробно рассказывал. Никакого обновления не произойдет, однако консоль выведет ошибку с указанием той самой минимальной версии прошивки. Если там число 3.55 или ниже, значит вы можете попытаться сделать даунгрейд вашей приставки с помощью аппаратных средств. Если ваша приставка оборудована памятью типа NAND – то вам нужен аппаратный прошивальщик progskeet, который нужно припаивать к плате. Хотя вроде были какие-то разновидности с клипсой не требующей пайки, но они не так надежны. Для моделей с памятью типа NOR нужен e3flasher. Пайка не требуется, но контактное соединение не надежное и требует тщательной проверки каждого шага. В любом случае, обычный геймер вряд ли справится с этим, а стоимость услуги у профессионалов может быть довольно высока. Поэтому как правило проще продать такую приставку тем, кому пиратки и homebrew не нужны, добавить те самые деньги, которые вы собирались отдать мастеру за восстановление или за аппаратный прошивальщик, и просто купить приставку с 3.55 или CFW, которые дороже непрошиваемых примерно на эту сумму, и не морочить себе голову. Именно это я имею в виду, предлагая выкинуть суперслимы и приставки с официальной пришивкой старше 3.55 на помойку. Еще раз повторяю – слимки ревизий 3000k и выше не подаются переделке, перепрошивке на cwf, “чиповке” еще это называют – короче, не способны воспроизводить пиратки по своей конструкции и ни при каких обстоятельствах – ни с помощью чудо-прошивок, ни с помощью аппаратных флешеров. Возможность что в будущем появится какой-то хак для них конечно же есть, как это вдруг произошло с Xbox Slim, но я бы особо не надеялся, учитывая что вот-вот выйдет PS4 и хакеры перекинут основные усилия на ее взлом. Теперь самый интригующий вопрос – когда хакеры взломают PS4? Ответить на него не просто. С одной стороны, в текущем поколении, т.е. P33 и Xbox 360, Sony и Microsoft получили огромный и уникальный опыт, позволяющим им с очень высокой вероятностью обеспечить Xbox One и PS4 полный иммунитет к взлому. Вряд ли они наступят на те же грабли. Примеры невзламываемой системы уже есть есть – та же PSP Vita. С другой стороны, для обеспечения этой самой стойкости к взлому нужно весьма и весьма усложнить систему, а чем сложнее система, тем больше в ней элементов, и тем больше вероятность что какой-либо из этих элементов будет содержать изъян, который хакеры смогут использовать для запуска стороннего кода, неодобренного Sony и Microsoft. Причем изъянов этих как правильно больше в ранних ревизиях модели и первых, еще сырых прошивках, когда задача стояла быстрее-быстрее выпустить продукт на рынок. Так что имеет смысл по возможности не обновляться. С другой стороны, ранние ревизии моделей как правило ломаются чаще своих более поздних аналогов, да и со старыми версиями прошивки не пускают в онлайн и не дают запускать новые игры. Да и не факт, что такая уязвимость будет вообще, и не факт, что хакеры смогут ее обнаружить, пока сами Microsoft и Sony этого не захотят. Так что на быстрый взлом консолей следующего поколения я бы особо не рассчитывал.