Как выдрать IPL в декриптованном виде? А именно, в этом IPL лежит файлик в GZIP-формате main.bin из которого извлекается payload.bin. Так вот, ключи к ядру прошивки лежат именно в нём.
Говорят, что можно сдампить декриптованный IPL прямо во время загрузки ядра, в тот момент, когда PRE-IPL в кирке декриптует IPL. А как пойдёт загрузка системы, то ипл стирается из памяти моментом. У меня уже есть полная коллекция всех ключей включая 5.50. Но вот фактически по одному ключу к каждой модели к системным файлам, даже для 5.50 ни у кого нет до сих пор. Вот здесь, кстати, ребята уже этот вопрос обсуждали, но я что-то никак не въеду, каким макаром они там что-то ковыряют =) И здесь что-то непонятное написано: http://forums.ps2dev.org/viewtopic.php?t=3573 Кстати, вот СильверСпринг выложил тут рабочий код, как он говорит, для декриптовки IPL 6.00. mc707, может что-нибудь придумаешь: Код |
Цитата:
|
mc707, ну он писал, что как раз в 6.00 они изменили способ шифрования.
Здесь ещё интересная тема. И здесь тоже. |
Цитата:
- из первого ключа и пришедшего с preipl сида делаем хэш - этим хэшем инитим псевдослучайный генератор. - в цикле: --- берем с генератора 64 байта --- из второго ключа и этих 64 байт делаем второй хэш --- ксорим им 28-байтный кусок данных алгоритм полностью воспроизводим, но сид видимо можно добыть только расковыряв pre-ipl, про ключи тоже непонятно но вроде они во флеше а не в pre ipl |
Цитата:
|
rustot, в 6.00 поменялся адрес IPL. По моему он сдвинулся на один байт, ну и алгоритм cha поменялся.
Там-же, на максконсоли СильверСпринг об этом подтвердил. Что он выложил туфту, я не верю, потому как это очень профессиональный кодер. Он полный SDK по Нидам раскопал до 5.00 прошивки и ещё много чего на PSPDEV. Так что, я думаю, что код он выложил правильный, т.к. фейки пускать не в его правилах. Просто может он написал псевдокод, в котором нужно подставить нужные значения. Наверное он как-бы даёт намёки, для тех, кто в этом понимает. Его декриптер IPL есть в сети, причём с исходниками, так что можно его подправить и потестить. |
Цитата:
а вот то что раскриптовывает данные именно на старый адрес навевает мрачные подозрения, что это просто еще один уровень криптования добавили. и после декриптовки в 40F0000 окажется опять старый и по старому криптованный ipl rustot добавил 11-02-2010 в 01:06 вот трэйс как mt инитится 0x040EC050: $a0 = 0xBFC00040 0x040F007C: jal sub_040ED15C -- главная процедура декриптования 0x040ED170: move $a1, $a0 0x040ED1D8: jal sub_040EE494 -- инит mt19937 0x040F24A0: sw $a1, 4($a0) -- вот seed складываем в первый элемент |
rustot, эмм, ну сам понимаешь, что инструкции декриптовки в PRE-IPL заложены в ядро процессора ещё на заводе. Так что поменять механизм декриптовки уже никак не получится Sony. Только выпустив новый процессор. Хотя они могли сделать задел на будущее и заранее заложить несколько разновидностей инструкций декриптовки.
Поэтому я не представляю, что там можно поменять в шифровании. Вероятно действительно решили воспользоваться следующей второй зарезервированной инструкцией. А может заложили это программным методом в IPL. В принципе, даже если они сдвинули IPL, то и старый дешифратор его всё равно найдёт. А уже по скрамблер-коду, заложенному в IPL, определит метод шифрования. И PRE-IPL получит инструкции из самого IPL. Вот я тоже думаю, что данные Ксорятся. Но для XOR нужен ключ - или однобайтовый или состоящий из точно такого-же количества байт, как и область дешифровки. |
не, я же играюсь уже с первоначально декриптованным ipl. тот что известен как dec_ipl.bin. preipl его уже считал с флэшки, раскриптовал и положил в память. кто-то когда-тоя научился этот процесс воспроизводить и я пользуюсь результатом
но этот ipl декриптован лишь слегка, первые 8к нормального кода, а остальное опять криптовано и раскриптовывают его уже эти 8к кода, без участия pre_ipl. вот это я и пытаюсь раскриптовать. вот с этой криптовкой сони вольны играть произвольно от версии к версии, совместимость с preipl от этого не меняется |
rustot, ну в принципе у меня есть тоже самое. IPL от 6.20, в котором декриптуется только начало, а всё остальное фигвам.
Вообщем задача состоит в том, что нам нужен файл main.bin, который лежит в IPL, и причём лежит он там в GZIP-архиве, почти в начале. Вот в этом файле лежит главный 16-байтный ключ декриптовки системных файлов прошивки. Для каждой модели FAT, SLIM, BRITE он свой отдельный. Получается, для каждой прошивки требуется 3 ключа, чтобы декриптовать все системные файлы EBOOT.PBP прошивки. А в системных файлах лежат уже сотня ключей декриптовки игр, несистемных файлов, и всего прочего. Говорят, что этот main.bin выползает наружу и вынимает из кармана свой ключ во время включения PSP, чтобы расшифровать системные файлы и запустить прошивку. После этого он стирается из памяти. Вот у меня и болит голова, каким-же образом снять дамп памяти во время загрузки??? |
а можно мне dec_ipl от 6.20 заполучить? а то че я 6.0 ковыряю, я думал 6.20 еще не вытащили
|
rustot, ну так PSARDumper 6.20 его вытаскивает и декриптует начало. Точно так-же, как и Simple_IPL_Decript от Сильвера.
Они складываются в папку "PSARDUMPER". Недекриптованный IPL вытаскивается вполне корректно в файлы:
rustot, ты хоть зарегистрируйся что-ли нормально или активируй свой аккаунт. А то сидишь, как "Гость". Наверное при регистрации указал, что тебе меньше 13-ти, вот и кукуешь. Или просто в личном кабинете нужно что-то настроить. |
Цитата:
|
Цитата:
Тогда вот. Полностью разложенные и декриптованные PSARDumper-om файлы 6.20: http://slil.ru/28635506 |
Цитата:
ага, спасибо, значит можно не париться пока и продолжать ковырять 6.0. потому-что декриптованная часть кода отличается от 6.2 всего восемью байтиками. потом просто сравню и проверю про что они. rustot добавил 12-02-2010 в 23:57 блин, чтоб раскриптовать нужен дамп памяти BFC00000-BFC04000 на момент запуска ipl, то есть это может сделать только самопальный ipl. кто-нибудь занимался этим? rustot добавил 13-02-2010 в 00:13 точнее BFC00000-BFC01000. нужно собрать с iplsdk дампер этого куска памяти в файл. в инете готовый не могу найти |
Цитата:
А как вот снять дамп во время запуска PSP? Например, после запуска, снять дамп памяти легко. То есть, ты имеешь ввиду, что нужно в IPL подсунуть команду на запуск дампера? |
Цитата:
или из под готового ipl - PSP MS MultiLoader из sdk запустить програмку которая сдампит, я надеюсь этот хакерский ipl память не трет. или его модифицировать чтоб сам сдампил |
rustot, вот здесь:
Код:
int main(void) Код:
int main(void) |
это единственное чего мне сейчас не хватает, код я весь расковырял и распаковать знаю как. а что это за процедурка, кто-то уже дампил что ли? подойдет от любой версии psp, эти данные не могут меняться, иначе бы прошивки были несовместимы с разными моделями
|
rustot, не совсем понял тебя, чего не хватает, какой код расковырял и как распаковал )))
Про процедурку - это исходник KDumper из PSPSDK. В принципе изначально он видать всю память дампит с запасом, аж на 100'000 единиц. А запустить я думаю вот как. Например взять кастомный IPL от 5.50GEN. Он начинается с области пред-IPL, которая как раз и есть кастомная - это просто-напросто файл pspbtcnf.bin, в котором записаны пути к системным файлам прошивки и метки режимов, какой файл в каком режиме имеет право запускаться. После этого файлика pspbtcnf.bin идёт начало официального IPL, т.е. оффIPL в кастомпрошивке получается сдвинутым далее, по сравнению с IPL без кастомобласти, т.е. официальной прошивки. То есть, можно добавить в него (pspbtcnf.bin) строчку с путём к дамперу. И при запуске IPL, тут-же сработает дампер, снимет память и сохранит на карточку или во Flash0. |
Текущее время: 09:43. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.