Осталось перевести инструкцию и сделать набор для взлома, как я понимаю, там нужно 2 приспособления либо купить либо сделать самому.
Спойлер: Перевод Наконец-то метод JTag работает на нексеноновских консолях (да, запускаем неподписанный код на Slim-консолях и всех версиях дашборда на толстых консолях!) Это также значит , что Вы сможете запустить приятные фичи: например, игры с жесткого диска. Источник: клик Полный гайд / Файлы / Исходники / Диаграммы: клик Вы думаете это невозможно? Вы думаете, хак возможен на тех старых JTag консолях? GliGli & Tiro скажут вам обратное! Они разработали хак, который работает на всех последних кернелах следующих плат: ZEPHYR, JASPER & TRINITY (aka SLIM!). (не важно на каком дашборде!) The Xbox 360 reset glitch хак Некоторые факты: tmbinc сказал лично, что софтверные попытки запуска неподписанного кода на 360 в большинстве случаев не работают, она разработана таким образом, что защита блокирует их. Процессор стартует исполнение кода с ROM (1bl), который потом загружает подписанный RSA и закриптованный RC4 кусок кода из NAND'a (CB). СВ затем инициализирует секьюрити движок процессора, его заданием будет шифрование в режиме реального времени и хеш-проверка физической DRAM памяти. Шифрование и сильное хеширование. Шифр разный с каждой загрузкой, потому что в него добавляется соль по минимуму из этих мест: Хеш фьюзов. Значение встроенного счетчика. Полностью рандомное значение идет из железного генератора случайных чисел, встроенного в процессор! На толстых версиях этот генератор мог быть софтово отключен, но у нас новая проблема - проверка рандомности (считает до 1 бита в СВ), и ждем реально рандомное число. СВ может выполнять некое подобие програмного движка , основанного на байт-коде, чьим заданием будет инициализация DRAM, СВ может загрузить слудующий загрузчик (CD) из NAND'a в него и запустить его. Стандартно CD будет загружать основное ядро из NAND'a, патчить его и запускать. Ядро содержить маленький, привилегированный кусочек кода (гипервизор), когда консоль стартует - это единственный код у которого будет достаточно привилегий для выполнения неподписанного кода. В версиях ядра 4532/4548, критическая уязвимость в этом месте и все известные нам методы взлома, опираются на эти ядра для запуска неподписанного кода. На сегодняшних 360, CD содержит хеш этих 2х ядер и перестает выполнять процесс загрузки при попытке их выполнения. Гипервизор относительно маленький кусок кода, но проверяет - используете ли Вы эти уязвимости или нет и удостоверяется что Вы несможете! С другой стороны, tmbinc сказал, что 360 не была разработана с защитой от некоторых видов ЖЕЛЕЗНЫХ атак и "глюков". Глюками здесь будем называть исполнение процессорных багов в электронных нуждах. Этим путем мы пойдем для выполнения неподписанного кода. Несколько слов о ресетном глюке =============================== На толстых консолях, загрузчик имел глюк в CB, и мы могли делать с CD, что хотели. cjak нашел это путем подачи CPU_PLL_BYPASS сигнала, частота CPU понижалась намного, есть тестовый пин на материнке, который показывает скорость CPU, 200 МГц при старте даша, 66,6 Мгц при старте загрузчика, и 520 КГц при подачи сигнала. Итак мы пошли таким путем: Мы подали CPU_PLL_BYPASS сигнал перед пост кодом 36 (hex). Мы подождали старта POST 39 (POST 39 это сравнение памяти между внутренним хешем и хешем образа), и запустили счетчик. Когда тот счетчик достигает точного значения (обычно около 62% длины POST 39), посылаем 100нс импульс на CPU_RESET. Мы ждем некоторое время и снимаем CPU_PLL_BYPASS сигнал. Скорость CPU возвращается в норму, и с небольшим бонусом - вместо получения ошибки POST error AD, процесс продолжается и СВ загружает наш кастомный CD. NAND содержит пару zero-paired CB, нашу прошивку в кастомном CD и модифицированный SMC образ. Глюк в нормальных условиях неповторить - мы испрользуем модифицированный SMC образ, который перезагружается постоянно (стоквый образ перезагружает 5 раз и дает RROD), после консоль загружается как положено, в большинстве случаев глюк успешен в течении 30 секунд от запуска до конца. Детали хака слим версии ========================== Загрузчик, который мы гличили - CB_A, и мы можем запустить CB_B, как хотим. В слимках мы несмогли найти пин на материнке для отслеживания CPU_PLL_BYPASS. Нашей первой идеей было удаление 27Мгц мастер-резонатора, и генерация нужных нам чатот, но это оказалось технологически сложно и мы отошли от этой идеи. Затем мы стали искать другие пути для снижения частоты ЦПУ и обратили внимание на то, что HANA чип имеет настраиваемые PLL регистры для частоты 100 Мгц, которые ведут за собой CPU и GPU и другие детали. Эти регистры записываются в SMC по шине i2c. Доступ к i2c неограничен, даже есть пин на материнке (J2C3). Итак HANA чип стал нашим оружием замедленияя ЦПУ. Итак, как - же это пашет? Мы посылаем i2c комманду HANA чипу для замедления ЦПУ на POST коде D8. Мы ждем старта POST DA (POST DA это сравнение памяти между внутренним хешем и хешем образа), запускаем счетчик. Когда счетчик достигает точного значения, посылаем 20нс сигнал на CPU_RESET. Ждем некоторое время и посылаем i2c комманду на HANA чип для восстановления скорости CPU. Скорость CPU восстанавливается и опять удача - вместо получение ошибки POST F2, процесс загрузки продолжается и CB_A грузит наш кастомный CB_B. Когда CB_B стартует, DRAM не инициализируется, нам только нужно применить несколько патчей для запуска любого CD, патчи: Все время деактивируем режим zеro-paired, итак мы можем юзать патченный SMC. Не декриптуем CD, вместо планируемого плейнтекста CD в нанде. Не прекращаем процесс загрузки если хеш CD нехорош. CB_B это закриптованный RC4, ключ идет из ЦПУ ключа, и какже мы можем пропатчить CB_B без знания ЦПУ ключа??? Обычный RC4: закриптованный = плейнтекст xor псевдо-рандомный-ключпоток Итак - если мы знаем плейнтекст и закриптованную часть - мы получим ключпоток, и с ним мы можем криптовать наш код! Выглядит так: угаданное-псевдорандомное-значение = закриптованное xor плейнтекст новое-шифрованное = угаданное-псевдорандомное-значение xor плейнтекст-патч Думаете это проблема что первее курица или яйцо? Как мы получим плейнтекст? У нас есть плейнтекст из CB толстых консолей и мы заменив пару байт получили плейн такой же как и в CB_B, и мы можем закриптовать маленький кусочек кода для дампа CPU ключа и декриптовать CB_B! NAND содержит CB_A, патченный CB_B, нашу полезную нагрузку в кастомном CD плейнтексте, и модифицированный SMC. SMC модифицирован для бесконечной перезагрузки, и предотвращения посылки i2c , пока мы шлем наши. и теперь вы поняли, что CB_A не содержит првоерок в фьюзах! и это НЕПРОПАТЧИВАЕМЫЙ хак! Подводные камни =============== Не все еще идеально: Последовательность глюков, которую мы проверили (25% успеха на попытку). Может занят пару минут на загрузку. Эта последовательность похоже идет из-за какого-то хеша модифицированного загрузчика (CD для толстых и CD_B для слимок). Требуется хорошее железо для посылок ресет сигналов. Текущее состояние дел ===================== Мы использовали плату Xilinx CoolRunner II CPLD (xc2c64a), потому что она быстрая, точная, обновляемая, дешевая и может работать на 2х разных логических напряжениях одновременно. Использовали 48 Мгц частоту дежурного режима из 360 глюкометра (прим. переводчика). Для хака слима счетчик запускается на 96 Мгц. CPID код записан в VHDL. Нужно отслеживать ПОСТ коды , мы использовали пост - пины, мы сейчас можем отслеживать пост через 1 пост бит, это снижает количество проводов! В ролях ======= GliGli, Tiros: Реверс инжинеринг и разработка хака. cOz: Реверс инжинеринг, бета тестинг. Razkar, tuxuser: бета тестинг. cjak, Redline99, SeventhSon, tmbinc, и все, кого забыл... : Основной реверс инжинеринг и хаки 360. XEO: с душою перевел для вас этот фак по работе данного хака, всегда готов рассказать вам, как он работает. --- добавлено: 29 авг 2011 в 06:41 --- Спойлер: jtag на slim в картинках http://www.logic-sunrise.com/dossiers-et-tutoriaux-341328-en-reset-glitch-hack-tutorial.html
Хм. С перевода мало что понял, но наверняка здесь есть какие-то подводные камни. Даже если и реально будет сделать это, то мастера от 4к будут сдирать. Следующая версия дашборда все исправит. Хотя? Я так понял, что все это работает на любых дашбордах, в том числе и на будущих. Но плохое у меня предчувствие насчет этого. С этим будет какая-то херня, инфа 100%.
Что за платку они используют ? ( в конце инструкции "программирование CLPD" ) Это что то специализированное или можно свободно достать, или в приставке стоит ?
Уже нашел, но всё равно спасибо. --- добавлено: Aug 29, 2011 1:30 PM --- Почитал фак по Freeboot, трудновато. Если что обратится можно будет ?
Ну вроде понятно, что за микруха. А если не на 64 ,а на 128 скажем ? Можно ? И как собственно запускать игры то ?
Ребята, скажите а этот хак в дальнейшем подразумевает запуск фрибута? ато один "кекс" сказал что всё это чуш сабачая и игры только от нинтендо 64 работать будут