PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   PSP хакинг и девелопмент (https://www.pspx.ru/forum/forumdisplay.php?f=195)
-   -   Декриптовка IPL (https://www.pspx.ru/forum/showthread.php?t=86507)

rustot 24.02.2010 11:10

Цитата:

Сообщение от ErikPshat (Сообщение 868706)
PAYLOAD.BIN извлекается из main.bin, но на этом застряли.

так это может сделать только имеющий psp и умеющий программировать kirk, я тут уже ничего сделать не могу. ну потрясу буржуев значит, один модуль они мне на форуме уже раскриптовали

хорошо бы вообще кто-нибудь организовал на базе psp онлайн http сервис, типа принимает файл, засылает его через usb на psp, на которой крутится в цикле программка вычитывающая в цикле файл с определенным именем, отдает его kirk, результат складывает обратно в файл, http отсылает его обратно. живее б дело шло

pronvit 24.02.2010 13:31

rustot, могу сейчас попробовать запрограммить, если пришлешь чего прогнать через kirk.

rustot 25.02.2010 15:27

Цитата:

Сообщение от pronvit (Сообщение 869165)
rustot, могу сейчас попробовать запрограммить, если пришлешь чего прогнать через kirk.

я ж выше давал

http://slil.ru/28660285

main2_enc.bin - вот его нужно подсунуть кирку целиком как есть, а не 4к кусками как ipl, это один сплошной криптованный кусок. но код (команды кирку) тот же каким декриптовались 4k куски ipl. на выходе должен получиться gzip, то есть первый байты 1F 8B

main.bin - он уже декриптован, это первая часть запускаемая из ipl, которая в числе прочего декриптует то что лежит в main2_enc.bin. после его декриптовки суммарно получаем декриптованным весь ipl который изначально грузится в память. соответственно в нем заведомо должны быть ключи которыми он декриптует остальное подгружаемое с флэшки в дальнейшем

pronvit 25.02.2010 15:47

Вложений: 2
держи...

rustot 25.02.2010 16:24

отлично, спасибо. вроде ничего больше криптованного не видно

pronvit 25.02.2010 17:08

Итак, это все части ipl у нас теперь есть? От какой это точно прошивки?
Вечером пройдусь по ним дизассемблером посмотрю какая часть чего инициализирует и по каким адресам грузит следующую. Потом можно будет попробовать записать их в расшифрованном виде вместо зашифрованных частей.
Ключи мне из них не интересны, ну а кто их хотел тоже теперь все есть.

rustot 25.02.2010 17:29

это 6.20

pre_ipl грузится с BFC00000, пересылает кусок себя в 80010000, оттуда покусочно грузит ipl по тем адресам какие в заголовках 4k блоков указаны. нынче это 40EC000

у загруженного ipl, несмотря на то что его весь декриптовали кирком реально декриптованы только первые 10к, которые и декриптуют все остальное

первым декриптуется и распаковывается по адресу 4000000 то что обозвано у меня main.bin. на него и передается управление. тот сначала декриптует 256-байтный кусок получая из него 32 байта каких то двух ключей (см дамп выше), оставляет декриптованное в BFC00200 для последующего использования. потом декриптует сначала софтом а потом кирком то что названо main2_enc.bin, вот адрес не помню куда складывает, там 8 и 6, типа 8060000 или 8600000 или как то так. там это все в начале main.bin, найти не сложно

rustot добавил 25-02-2010 в 17:29
дальше я не разбирался, решил дизасм свой сварганить сначала, интеллектуальный :)

pronvit 25.02.2010 17:43

Цитата:

Сообщение от rustot (Сообщение 869460)
rustot добавил 25-02-2010 в 17:29
дальше я не разбирался, решил дизасм свой сварганить сначала, интеллектуальный :)

а IDA чем плоха?

спасибо вощем. вечером дальше буду смотреть. надо объединить усилия, подумать, чего мы хотим этим достичь в первую очередь. я вот как писал хочу прежде всего загрузиться с расшифрованного ipl, чтобы убедиться, что все правильно сделали. потом патчить что надо.

rustot 25.02.2010 18:02

Цитата:

Сообщение от pronvit (Сообщение 869469)
а IDA чем плоха?

спасибо вощем. вечером дальше буду смотреть. надо объединить усилия, подумать, чего мы хотим этим достичь в первую очередь. я вот как писал хочу прежде всего загрузиться с расшифрованного ipl, чтобы убедиться, что все правильно сделали. потом патчить что надо.

ну ida чистый асм, а я не люблю ковыряться в risc. я хочу сделать трэйс регистров на непрерывных кусках кода хотя бы и получить на выходе строчки с реальными действиями а не постоянные пересылки из регистров в регистры. типа такого:

Код:

                                                      //80010000: lui    R4, 0x8001
                                                      //80010004: addiu  R4, R4, 0xA80
    sub_800106B0(0x80010A80)                          //80010008: jal    sub_800106B0
                                                      //8001000C: sll    R0, R0, 0
                                                      //80010010: lui    R8, 0xBC10
                                                      //80010014: lw      R9, 0x68(R8)
                                                      //80010018: srl    R9, R9, 16
    if(!(M(0xBC100068) >> 16)) goto loc_80010034      //8001001C: beq    R9, R0, loc_80010034
                                                      //80010020: sll    R0, R0, 0
                                                      //80010024: lw      R9, 0x78(R8)
                                                      //80010028: ori    R9, R9, 0x800
    M(0xBC100078) |= 0x800                            //8001002C: beq    R0, R0, loc_80010040
    goto loc_80010040                                //80010030: sw      R9, 0x78(R8)


pronvit 25.02.2010 18:07

а, в этом смысле.. а я чего-то привык уже)) ну pspdecompiler есть, с исходниками..

ErikPshat 26.02.2010 03:55

Вложений: 1
Цитата:

Сообщение от pronvit (Сообщение 869441)

Отличная работа! Написал бы, как ты main2 натравил на кирк.
Вот эти теги с ключами меня вообщем-то и интересовали. То есть, теги видны, а ключи остаётся дизасмить.

Правда их ранее успел извлечь bbtgp. Но суть не в этом.
Дело в том, что до сих пор нету ключей от прошивки 5.50 и 5.55, поэтому системные модули пока не декриптуются. А так-же, нету конечно ключей от 03g и 04g модулей, у которых ключи одинаковые.

Вот на всякий я закинул, что есть из ipl (5.50, 5.55, 6.хх), во вложение.

pronvit 26.02.2010 14:03

так там очень просто, собственно как в любом дешифраторе prxов после преобразовани заголовка.

Код:

SceUID fd = sceIoOpen("ms0:/enc.bin", PSP_O_RDONLY, 0);
int cbFile = sceIoLseek32(fd, 0, PSP_SEEK_END);
sceIoLseek32(fd, 0, PSP_SEEK_SET);
sceIoRead(fd, data, cbFile);
int retsize = *(u32*)&data[0x70];
int ret = sceUtilsBufferCopyWithRange(data, cbFile, data, cbFile, 0x1);
WriteFile("ms0:/dec.bin", data, retsize);
sceIoClose(fd);


ErikPshat 28.02.2010 00:40

Цитата:

Сообщение от rustot (Сообщение 869439)
я ж выше давал

http://slil.ru/28660285

main2_enc.bin

А можно проделать то-же самое с main.bin от 5.50 и 5.55, которые я в предыдущем посту выложил. То есть, вытащить main2_enc.bin, т.к. я этот процесс тоже не понял, каким образом его можно вытащить.

ANDPSP 12.03.2010 17:50

Повторное криптование
 
Вопрос ко всем и к Rustot в частности (поскольку у него личка не пашет ввиду отсутствия профиля):Если есть криптованный и декриптованный один и тот же файл, возможно даже и ключ, то возможно ли найти алгоритм повторного криптования декриптованного файла так чтобы закриптованный файл стал полность работоспособным ?

pronvit 12.03.2010 18:53

Цитата:

Сообщение от ANDPSP (Сообщение 872811)
Вопрос ко всем и к Rustot в частности (поскольку у него личка не пашет ввиду отсутствия профиля):Если есть криптованный и декриптованный один и тот же файл, возможно даже и ключ, то возможно ли найти алгоритм повторного криптования декриптованного файла так чтобы закриптованный файл стал полность работоспособным ?

теоритически возможно. как примерно устроен алгоритм тоже известно (AES и все такое).

а практически как-то вот что-то пока не очень.

правда datel вон умеют закриптовывать свои бинарники...

кстати, для достижения желаемого результата надо сидеть и долго смотреть на два дателовских бинарника. у них разные заголовки для kirk по 0x40 байт и разное тело, а расшифровываются они в одно и то же. можно сделать некоторые выводы..

ANDPSP 15.03.2010 17:43

Кто может посоветовать какой нить софт для криптовки/декриптовки с использованием ключа, работающий на PC. И есть ли какие нить проги анализирующие два файла (криптованный и декриптованный) и дающие какие нить рекомендации что ли по переводу одного в другое... И где можно посмотреть инфу по алгоритмам применяемым в кодировании софта PSP (это точно AES или какой то еще метод применяется)? может где то есть исходники PRX-декрипторов которые работают на PC а не на PSP ?

pronvit 20.03.2010 13:37

пытаюсь загрузить первую часть ipl вручную с карты - не грузится, но и не виснет, ничего не происходит, а 3 часть виснет.. вторую не могу попробовать пока..

не понятно, почему ipl от оригинальной прошивки из прошивки запускается, а с карточки нет...


Текущее время: 22:23. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.