там такая тема - через RSA проверяется сначала CB_A, потом CB_B. Мы обходим именно проверку CB_B, потому что там есть возможность считать с момента, который уже после инициализации RSA (она длится очень долго, больше секунды). Все доступные сигналы - как RST, так и чтение нанд, общение с югом - до инициализации RSA. Если считать от старта процессора, там и вовсе 4 секунды на две инициализации RSA подряд - полностью сбивают всю точность. А ведь ещё замедление длится рандомное время... Плюс я сильно сомневаюсь, что проц вообще общается с югом после выполнения 1BL (где всё это копируется в RAM проца)
4 секунды не так много. Но с этой точки овчинка выделки не стоит как уже писал. Тут больше технические вопросы - с какой точки идёт обмен с флэшом, и там уже времена << секунды. Наш то читается и расшифровывается в память(ну, можно просечь, но там не те скорости, к слову, можно замедлить ПАМЯТЬ отдельно, отдельный такой прикол который не учитывали все до сих пор, но как к задержкам отнесётся CPU неясно) из NAND, а вот тут уже достаточно медленно. Вплоть до полной расшифровки обмена с NAND. И после окончания чтения начинается наш отсчёт. Ключевое - мы чихали на замедление итд, долго в нём протянет. Используем альтметоды по чтению флэша начиная замедление например т.к. мимо чтения флэша ничто не пройдёт, до этого только внутренний ROM же, а наш код во флэше. И всё-таки уже железячнику нормального уровня стоило продумать бы механизм порчи ответа DRAM и задержки, т.к. это спокойно допускается стандартом. Скажем, не выходит на RTS/CTS из-за псевдорефреша например контроллером.
Чтение CB_A в память с флеша происходит ещё до первой проверки CB_A.. И вот от него до нашей нужной проверки - как раз 4 секунды. А с замедлением и все 15. Вот вообще не катит (почти идентично отсчёту от старта проца) CB_B аналогично, читается до инициализации RSA, соответственно 2 секунды до проверки и 7 секунд с замедлением. Чуть лучше, но опять фиг попадёшь Всё это сидит в SRAM процессора, к которой не подключиться ну никак, всё внутри одного кристалла. Кстати, проверить достаточно просто - взять и сделать RGH на корону, который будет отсчитывать не от поста DA, а от поста D5. Увы, точность будет совершенно никудышной и он никогда не запустится Спойлер Код: 0xD0 CB_A entry point, copy self to 0x8000.0200.0001.C000 and continue from there 0xD1 Copy fuses from SoC for CBB decryption 0xD2 Verify CBB offset 0xD3 Copy CBB header from NAND for verification 0xD4 Verify CBB header 0xD5 Copy CBB into memory at 0x8000.0200.0001.0000 (old location of CBA) 0xD6 Create HMAC key for CD decryption 0xD7 Initialize CD RC4 key using HMAC key 0xD8 RC4 decrypt CD 0xD9 Compute hash of CD for verification 0xDA MemCmp computed hash with expected one (where rgh2 glitches)
А, вот так уже понятнее, они друг друга переписывают значит чтобы влезть. Значит ещё методы. Всё-таки замедлить бы это да прогнать через дампер памяти... Было б железо - всяко придумали бы как замедлить хотя бы, а пока мечты. Сложного там ничего кроме сложности самой системы. И вот как-то со всей схемой сомневаюсь я что там есть проверки искуственного затормаживания памяти кроме обычных, а они макроскопические и не теми масштабами прооверяют.
дак не в затормаживании проблема, а в надёжной опорной точке, откуда считать время до посыла ресета. пост в этом плане был как раз хорош. теперь же перед проверкой всё происходит в SRAM процессора, ни с чем не общается извне. Разве что подключаться к самому SRAM, каким-то чудом влезая в кристалл проца JTAG выключен фьюзами, пост тоже как-то выключен (не верю я, что его вообще убрали)
Так нас перед не волнует. Ясное дело что наш код только прочитавшись из флэша пойдёт, оттуда и надо плясать. Но тут с меня толку мало, только общая теория которая тут от практики далека, логические анализаторы даже по цене дохрена такого, а уж опыт работы...
дак в том и дело, что чтение из флеша происходит задолго до проверки. читается, проверяется, потом исполняется. оборудование и опыт не проблема. идеи нет
А смысл? Даже если у корила скопировать пару игр, ради этого лишаться гарантии и вскрывать консоль? Играть офлайн? Необходимо нечто по интереснее Отправлено с моего iPhone используя Tapatalk
согласен, по-моему неплохо раз в год заливать себе игр на год вперед по цене одного лицензионного диска. Я например за этот год игр 5-6 наверное от силы прошел