alxxbx 0 Опубликовано: 9 декабря 2010 Автор Поделиться Опубликовано: 9 декабря 2010 .... Как взломать эту систему защиты? Вариант 1. Заставить процессор запустить 1BL из внешнего ROM. .... В принципе возможен этот вариант, я его предлагал на хакере, но меня майковцы там быстро забанили. Выставив в определенный момент 1 бит в 1-цу на шине данных, можно перенаправить процессор на другой адрес, например выше на 32 килобайта, а там другой 1BL разместить. внешний РОМ возможно подключить, но паять херову тучу проводов придется. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
HOMiE7 0 Опубликовано: 9 декабря 2010 Поделиться Опубликовано: 9 декабря 2010 Шикарно!!! :lol: Думаю если бы это была непроверенная информация, то это бы не висело на free60. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
lprot 0 Опубликовано: 9 декабря 2010 Поделиться Опубликовано: 9 декабря 2010 В принципе возможен этот вариант, я его предлагал на хакере, но меня майковцы там быстро забанили. Выставив в определенный момент 1 бит в 1-цу на шине данных, можно перенаправить процессор на другой адрес, например выше на 32 килобайта, а там другой 1BL разместить. внешний РОМ возможно подключить, но паять херову тучу проводов придется. А кто говорит что легко :) На проекте по атаке на фьюзы человек процессор реболил для того чтобы понять можно ли на фьюзы воздействовать электрическим путем. А где твои посты на хакере? Шикарно!!! :lol: Думаю если бы это была непроверенная информация, то это бы не висело на free60. Понимай как хочешь, а 1BL - находится в ROM. Не веришь? Спроси на хакере. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alxxbx 0 Опубликовано: 9 декабря 2010 Автор Поделиться Опубликовано: 9 декабря 2010 А кто говорит что легко :) На проекте по атаке на фьюзы человек процессор реболил для того чтобы понять можно ли на фьюзы воздействовать электрическим путем. А где твои посты на хакере? Понимай как хочешь, а 1BL - находится в ROM. Не веришь? Спроси на хакере. посты и форумы открытые мною почистили... а всего лишь у сторожилы, который много умничал, спросил - давно ты работаешь в M$. Он на меня наезжал там, какими-то законами США пугал... я себе другой логин сделал и офигел :) походу xboxhacker спонсирует M$ Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
lprot 0 Опубликовано: 9 декабря 2010 Поделиться Опубликовано: 9 декабря 2010 посты и форумы открытые мною почистили... а всего лишь у сторожилы, который много умничал, спросил - давно ты работаешь в M$. Он на меня наезжал там, какими-то законами США пугал... я себе другой логин сделал и офигел :) походу xboxhacker спонсирует M$ Возможно. А кто там на тебя наехал? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alxxbx 0 Опубликовано: 9 декабря 2010 Автор Поделиться Опубликовано: 9 декабря 2010 Возможно. А кто там на тебя наехал? вот этот наезжал - l_oliveira Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
lprot 0 Опубликовано: 9 декабря 2010 Поделиться Опубликовано: 9 декабря 2010 Выставив в определенный момент 1 бит в 1-цу на шине данных, можно перенаправить процессор на другой адрес, например выше на 32 килобайта, а там другой 1BL разместить. Давай об этом поподробней. В какой момент? И какую шину данных ты имеешь ввиду? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alxxbx 0 Опубликовано: 9 декабря 2010 Автор Поделиться Опубликовано: 9 декабря 2010 Давай об этом поподробней. В какой момент? И какую шину данных ты имеешь ввиду? ПЗУ повесить 100% невозможно, но RAM типа DDR3 вполне возможно, т.к. в ящике шины адреса и данных LDV. Вообщем надо, чтобы получилось как в PC - при включении ПЗУ копируется в ОЗУ и стартует на исполнение. в начале 1bl, когда загружается в регистр адрес для перехода, можно выставить адрес +8000h (15й бит) и тогда процессор перейдет выше на 32 Килобайта. А там блин... твори че хочешь. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
lprot 0 Опубликовано: 9 декабря 2010 Поделиться Опубликовано: 9 декабря 2010 ПЗУ повесить 100% невозможно, но RAM типа DDR3 вполне возможно, т.к. в ящике шины адреса и данных LDV. Вообщем надо, чтобы получилось как в PC - при включении ПЗУ копируется в ОЗУ и стартует на исполнение. в начале 1bl, когда загружается в регистр адрес для перехода, можно выставить адрес +8000h (15й бит) и тогда процессор перейдет выше на 32 Килобайта. А там блин... твори че хочешь. А каким макаром ты планирушь выставить этот адрес в 1BL? Ведь 1BL исполняется во внутренней памяти проца SRAM, которая находится на кристалле проца и никак не связана с внешней DRAM на материнке. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
lprot 0 Опубликовано: 9 декабря 2010 Поделиться Опубликовано: 9 декабря 2010 А каким макаром ты планирушь выставить этот адрес в 1BL? Ведь 1BL исполняется во внутренней памяти проца SRAM, которая находится на кристалле проца и никак не связана с внешней DRAM на материнке. Неправильно я написал выше. 1BL исполняется напрямую в ROM на кристалле проца. В SRAM проца он копирует 2BL из NAND а материнке. Так как ты подменишь адрес выполнения? Все происходит в проце без использования оперативки на матринке. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alxxbx 0 Опубликовано: 9 декабря 2010 Автор Поделиться Опубликовано: 9 декабря 2010 Неправильно я написал выше. 1BL исполняется напрямую в ROM на кристалле проца. В SRAM проца он копирует 2BL из NAND а материнке. Так как ты подменишь адрес выполнения? Все происходит в проце без использования оперативки на матринке. во время исполнения 1bl по любому по шинам адреса и данных бегают единицы и нули :) при установлении определенного адреса - на шину данных надо выставить 1-цу вместо 0-ля.... по идее такое возможно. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
lprot 0 Опубликовано: 9 декабря 2010 Поделиться Опубликовано: 9 декабря 2010 во время исполнения 1bl по любому по шинам адреса и данных бегают единицы и нули :) при установлении определенного адреса - на шину данных надо выставить 1-цу вместо 0-ля.... по идее такое возможно. Там бегают единицы и нули которые указывают на адрес NAND из которого читается 2BL, и данные самого 2BL. Если ты изменишь на шине адреса и данных какие либо данные и подменишь 2BL, то код не запустится, так как 1BL проверит публичным RSA ключем распакованный код в SRAM. Понимаешь? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alxxbx 0 Опубликовано: 9 декабря 2010 Автор Поделиться Опубликовано: 9 декабря 2010 Хмм а можно ли как то вообще проверить, тот ли ключ или нет? То есть если ключ будет, как его использовать? ха, блин. надо передаче "Битва экстрасенсов" подкинуть задачу - Назвать 2048 бит ключа, которым M$ загрузчики подписывает... :) Там бегают единицы и нули которые указывают на адрес NAND из которого читается 2BL, и данные самого 2BL. Если ты изменишь на шине адреса и данных какие либо данные и подменишь 2BL, то код не запустится, так как 1BL проверит публичным RSA ключем распакованный код в SRAM. Понимаешь? подмену лучше всего сделать на самом старте 1bl, тогда до проверки RSA ключем дело не дойдет :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
lprot 0 Опубликовано: 9 декабря 2010 Поделиться Опубликовано: 9 декабря 2010 ха, блин. надо передаче "Битва экстрасенсов" подкинуть задачу - Назвать 2048 бит ключа, которым M$ загрузчики подписывает... :) Достаточно сказать где именно он находится, а любителей физического метода взлома хватает :) подмену лучше всего сделать на самом старте 1bl, тогда до проверки RSA ключем дело не дойдет :) Хорошо давай сначала, 1BL стартанул, читает 2BL из NAND в SRAM, как ты заставишь 1BL не проверять подпись или как ты выпрыгнешь из 1BL во внешнюю RAM на материнке? Адрес выполения на этом этапе формируется в кристалле проца. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alxxbx 0 Опубликовано: 9 декабря 2010 Автор Поделиться Опубликовано: 9 декабря 2010 Достаточно сказать где именно он находится, а любителей физического метода взлома хватает :) Хорошо давай сначала, 1BL стартанул, читает 2BL из NAND в SRAM, как ты заставишь 1BL не проверять подпись или как ты выпрыгнешь из 1BL во внешнюю RAM на материнке? Адрес выполения на этом этапе формируется в кристалле проца. адрес 0x8000 0200 0000 0000 - 1bl в процессоре, возможно, что это ОЗУ, в которое перекопировано ПЗУ. адрес старта 0x8000 0200 0000 0100: mfspr %r31, 0x139 # HRMOR в r31 li %r3, 0x200 # r3 0x0000 0000 0000 0200 oris %r3, %r3, -0x8000 # r3 0x0000 0000 8000 0200 rldicr %r3, %r3, 32,31 # r3 0x8000 0200 0000 0000 addi %r4, %r3, 0x128 # r4 0x8000 0200 0000 0128 - вот тут выставить 15й бит в 1цу и получим адрес выше на 32 килобайта - 0x8000 0200 0000 8128 mtctr %r4 # CTR 0x8000 0200 0000 8128 rldicl %r3, %r3, 0,22 li %r4, 0x3000 mtlr %r4 # LR bctr # переход по адресу 0x8000 0200 0000 8128 - и тут тогда уйдем выше на 32 килобайта понятно? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alxxbx 0 Опубликовано: 9 декабря 2010 Автор Поделиться Опубликовано: 9 декабря 2010 тут читал про спор - перешивается ли ПЗУ в процессоре... смотрел в IDA файл xam.xex - походу перешивается автоматически, если не соответствует по каким-то параметрам... :( Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
lprot 0 Опубликовано: 9 декабря 2010 Поделиться Опубликовано: 9 декабря 2010 (изменено) адрес 0x8000 0200 0000 0000 - 1bl в процессоре, возможно, что это ОЗУ, в которое перекопировано ПЗУ. Если 1BL копируется в DRAM на материнке и оттуда запускается, в чем я глубоко сомневаюсь, то твой хак сработает. Слышал о XIP? 1BL исполняется именно по такой технологии. Почитай: http://ru.wikipedia.org/wiki/Execute_in_place Носителем в данном случае выступает ROM процессора. тут читал про спор - перешивается ли ПЗУ в процессоре... смотрел в IDA файл xam.xex - походу перешивается автоматически, если не соответствует по каким-то параметрам... :( Во первых ПЗУ не перешивается на то оно и ПЗУ. А перешивается NAND либо EEPROM или PROM (eFuses). http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%...%82%D0%B2%D0%BE Изменено 9 декабря 2010 пользователем lprot Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alxxbx 0 Опубликовано: 10 декабря 2010 Автор Поделиться Опубликовано: 10 декабря 2010 Если 1BL копируется в DRAM на материнке и оттуда запускается, в чем я глубоко сомневаюсь, то твой хак сработает. Слышал о XIP? 1BL исполняется именно по такой технологии. Почитай: http://ru.wikipedia.org/wiki/Execute_in_place Носителем в данном случае выступает ROM процессора. Во первых ПЗУ не перешивается на то оно и ПЗУ. А перешивается NAND либо EEPROM или PROM (eFuses). http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%...%82%D0%B2%D0%BE под ПЗУ в процессоре имею ввиду EEPROM, в процессоре бокса именно EEPROM и она перешиваема 100%. Если найдут способ загнать в IDA кернел бокса, то будет известно как :) сомневаюсь, что адрес 8000 0200 0000 0000 это eeprom процессора, скорее всего это оперативка в нем же. программы из eeprom на частоте 3,2ГГц выполнять безсмысленно, т.к. eeprom очень тормозная. кстати, efuses одноразовые - пережег и писец, хрен восстановишь. по описаниям производителя ими конфигурируется функционал процессора. в конце 1bl написано XBOX_ROM_B, а это значит, что существует XBOX_ROM_A, который возможно проверяет RSA ключем и запускает XBOX_ROM_B. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alxxbx 0 Опубликовано: 10 декабря 2010 Автор Поделиться Опубликовано: 10 декабря 2010 необходимо собрать информацию о последовательном интерфейсе у процессора, к которому майки паяют бесполезные последовательные eeprom и выкладывают фото в интернет, возможно, через него снимают девственность с eeprom процессора :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
lprot 0 Опубликовано: 10 декабря 2010 Поделиться Опубликовано: 10 декабря 2010 под ПЗУ в процессоре имею ввиду EEPROM, в процессоре бокса именно EEPROM и она перешиваема 100%. Если найдут способ загнать в IDA кернел бокса, то будет известно как :) сомневаюсь, что адрес 8000 0200 0000 0000 это eeprom процессора, скорее всего это оперативка в нем же. программы из eeprom на частоте 3,2ГГц выполнять безсмысленно, т.к. eeprom очень тормозная. кстати, efuses одноразовые - пережег и писец, хрен восстановишь. по описаниям производителя ими конфигурируется функционал процессора. в конце 1bl написано XBOX_ROM_B, а это значит, что существует XBOX_ROM_A, который возможно проверяет RSA ключем и запускает XBOX_ROM_B. Тоесть ты утверждаешь что 1BL находится в EEPROM а не в ROM? Откуда такая уверенность? Кинь мне 1BL в личку посмотрю что к чему. Адрес 8000 0200 0000 0000 это скорей всего копия 1BL в RAM которую делает фрибут. Да фьюзы скорей всего PROM. необходимо собрать информацию о последовательном интерфейсе у процессора, к которому майки паяют бесполезные последовательные eeprom и выкладывают фото в интернет, возможно, через него снимают девственность с eeprom процессора :) Кинь ссылки на фото. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
HOMiE7 0 Опубликовано: 10 декабря 2010 Поделиться Опубликовано: 10 декабря 2010 EFUSES восстанавливаемые!!! Инфа 100500% с того же хакера! lprot, видишь, опять сомнения по поводу того что 1bl находится в ROM... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
RichY 0 Опубликовано: 10 декабря 2010 Поделиться Опубликовано: 10 декабря 2010 Эхх и как же их восстановить то? Подключиться бы к процу во время работы :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
lprot 0 Опубликовано: 10 декабря 2010 Поделиться Опубликовано: 10 декабря 2010 EFUSES восстанавливаемые!!! Инфа 100500% с того же хакера! lprot, видишь, опять сомнения по поводу того что 1bl находится в ROM... В то что фьюзы EEPROM, верю. А вот то что 1BL - нет. Если бы было иначе, уже давно бы ломанули. А может все проще? Есть 0BL который сидит в ROM проца, и запускает 1BL из EEPROM проца? Тогда все сходится. Да только вот объясните мне накой IBM удорожать проц лишним EEPROM 32Kb? Это денег стоит при производстве и увеличивает % брака. Не парьтесь 1BL - ROM. Лично я верю парню который достал 1BL из кристалла или IBM. Эхх и как же их восстановить то? Подключиться бы к процу во время работы :) А под фрибутом нельзя менять фьюзы? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
RichY 0 Опубликовано: 10 декабря 2010 Поделиться Опубликовано: 10 декабря 2010 Может и можно но нам это ничего не даст, сам понимаешь... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Cluster 0 Опубликовано: 10 декабря 2010 Поделиться Опубликовано: 10 декабря 2010 Некоторые высказывания - просто полный АХТУНГ. "EFUSES восстанавливаемые!!! Инфа 100500%" Технология Efuses, находящихся on die (на одном кристалле) с самим чипом отработана фирмой IBM задолго до появления Xbox360, году в 2000м. Основная идея - прожигаемые физически перемычки. Прям как в древних советских микросхемах ROM, только на микроуровне. Достоинства - необратимость, не требует питание для хранения информации, удобно при массовом производстве. Доказательства в гугле по ключевым словам IBM, efuses. Гдето был pdf документ - презентация - самой IBM с микрофотками процесса. Идем дальше. "перешивается ли ПЗУ в процессоре..." Не перешивается пресловутый 1BL. Потому как находится опять же on die - на одном кристалле - с таким непредсказуемым устройством, как трехядерный процессор. 32Кб ROM печатаются офсетом. Те же достоинства - надежность (невозможность убить прошивку), дешевизна, не требует питания для хранения. Опять же гугл в части технологии производства флешпамяти в сравнении с технологией производства высокоскоростных процессоров. Да и далеко ходить от бокса не надо. В том же ДВД-РОМ сделан микроконтроллер с флешпамятью на разных кристаллах, но упакованных в один корпус. Для чего? Чтобы хакерам было удобнее с помощью кислоты получить доступ к кристаллу флешпамяти?! Не ставятся перед 1BL какието сверхзадачи, в которых вы его подозреваете. Процессор запускается на пониженной частоте (около 800МГц, если не ошибаюсь) и только одно ядро. Оно и выполняет код 1BL с целью протестировать целостность внутренних и внешних шин, распаковать 2BL в SRAM и передать ей управление. Всё остальное - инициализация всех трёх ядер, вывод на рабочую (но всё ещё пониженную) частоту, менеджмент питания процессора и т.п. - выполняет уже 2BL. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас