Основан на исходных кодах PSARDumper.
Перекомпилено и оптимизовано мной.
Декриптует большинство загрузчиков от игр и prx-файлов.
Добавлено много ключей, многие благодаря ErikPshat. Умеет патчить под M33.
Функционал приближен к PRX Decryptor 2.3 by jas0nuk.
Умеет декриптовать файлы, объемом до 25M байт (Такие игры как Brainpipe).
Как использовать
================
1. Скопируйте папку EDecrypt в ms0:/PSP/GAME
2. Скопируйте закриптованные файлы в ms0:/enc/
3. Запустите EDecrypt v1.4.1 на PSP
4. Нажмите чтобы декриптовать файлы, - чтобы декриптовать и пропатчить под м33, - чтобы выйти из хоумбрю
5. Скопируйте полученные файлы из ms0:/enc/done/ куда хотите.
История версий
==============
1.4.1
- добавлен ключ для тега 0хD91614F0 (Спасибо hrimfaxi за ключ)
- добавлена новая сигнатура для пропатчивания
1.4.0
- добавлен ключ для тега 0хD91613F0 (Спасибо hrimfaxi за ключ).
1.3.2*
- при неудачном выделении выходного буфера, EDecrypt пытается использовать небезопасный метод.
-- Это может привести к непредсказуемым ошибкам, но это лучше, чем ничего
--- Тестировалось на Фат и Слим с EBOOT.BIN (12MB) на:
--- Minna_no_Shiatsu_-_Itami_mo_Tsukare_mo_Sukkiri_JPN_PSP-NRP
1.3.1*
- добавлены новые сигнатуры для пропатчивания
- добавлено пропатчивание незашифрованных ELF
- добавлена распаковка незакриптованных файлов
- расширенная поддержка памяти, как следствие возможность раскриптовки файлов объемом до ~25 MB
- небольшие исправления и багфиксы
1.3*
- добавлено много ключей
- добавлен ключ для тега 0хD91612F0
- пропатчивание под м33
- протоколирование в ms0:/enc/done/log.txt
- обработка множества файлов
1.2*
-добавлен ключ для тега 0хC0CB167C
-улучшена производительность и функционал
1.1*
- добавлены ключи от 6.0 FW
Todo лист
=========
1. Реорганизация исходников для избавления от pspdecrypt.prx
2. Криптование файлов
3. Возможно - пропатчивание проверки CFW
Вот к ним бы ключики выискать.
Кстати, если есть 0x4C941AF0 и 0x4C941CF0, значит должен быть ещё 0x4C941BF0, но у меня во Flash0 на фатке таких PRX's не обнаружено. Предполагаю, что он должен быть на Слимке в файлах 02g.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Последний раз редактировалось ErikPshat; 24.12.2009 в 21:53.
Когда вышла 5.50, то PSARDumper не мог, не то, что декриптовать файл обновления, а даже просто не мог извлечь файлы.
Потом команда RedBull типа обнаружила новые ключи к прошивке 5.50 и выпустила обновлённый дампер.
Даже в дампере своё имя поместили "5.50 part decryption by Red Bull PSP team."
В общем все в курсе, что они добавили всего два тега, ссылаясь на то, что старые ключи от 5.00 подходят к новым тегам. Вот они всего 2 строчки с новыми тегами от 5.50 добавили:
То есть, добавили вот эти два тега от файлов прошивки 5.50:
0x4C9419F0 - SLIM
0x4C9418F0 - PHAT
А ключи к этим тегам указали те-же самые от 5.00:
keys500_1
keys500_0
Поэтому, когда я считал теги и ключи, то удивлялся сначала, почему тегов на 2 больше, а ключей не хватает (например у Джейсона). Но конечно потом понял, в чём дело и тоже так и считал, что раз дампер дампит прошивку 5.50, значит действительно ключи остались старые, просто под новые теги =).
На самом деле, ключи фиктивные, они подходят только к файлам 5.00, но файлы 5.50 они конечно не берут. К этим новым тегам нужно искать настоящие ключи.
Хитрость как раз в том и заключается, что старый PSARDumper, обнаружив неизвестные теги, на этом спотыкался и отказывался что-либо делать. Но если новые теги занести в него и указать на любые ложные ключи, то он перестаёт спотыкаться и продолжает потрошить прошивку. Конечно, те файлы, у которых новые теги с ложными ключами - он декриптовать не сможет.
Вот на всякий все теги к файлам прошивки 5.50/6.00/6.10/6.20:
И кстати, вот эта надпись мне не нравится - unknown tag.
На самом деле тег-то как раз известен, но вот ключ к этому тегу не известен, поэтому правильно было бы написать - "unknown key to tag".
Короче, ситуация прояснилась и мы теперь имеем уже 9 известных тега без ключей. Похоже это все и больше нет неизвестных.
Ребятки, нам нужны ключики, где их нарыть я написал здесь: https://www.pspx.ru/forum/showthread.php?t=85557
Так что давайте, напрягитесь и найдите их, а я тем временем займусь более серьёзными вещами
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Последний раз редактировалось ErikPshat; 27.12.2009 в 11:52.
Не пойму, что там профессионалы чесали затылок столько времени.
Я конечно могу ошибаться, ибо не очень разбираюсь в криптографии, но мне кажется, что все это публичное выкладывание ключей и декрипторов приведет к тому, что инженеры из компании Сони тоже почешут затылок и на место симметричных алгоритмов шифрования придет нормальная цифровая подпись. Новые схемы распостранения игр через электронный магазин и уникальные ключи для каждой модели псп в прошивке (и невозможность их изменения в текущий момент для новых моделей) этому ой как способствуют. Даже я бы сказал так: то что это не было реализовано к запуску магазина и выпуску новой модели PSP GO очень странно, и говорит наверно об определеных проблемах в компании(?)
stillllll, я бы сказал, что это их проблема, т.к. изменив принципы шифрования, все PSP с предыдущими прошивками оазались бы не у дел, что вызвало бы кучу негодования официальнфх пользователей.
Цифровая подпись итак существует с самого начала. Но на неё положили, с момента выпуска кастомных прошивок.
Sony давно могла бы почесаться, но такая игра в прошивки, доставляет не только им удовольствия, но и разработчикам и прочим увлечённым людям.
Если PSP перестанет быть взламываемой окончательно, то к ней пропадёт весь интерес со стороны кастомизаторов и прочих хакеров, просто увлечённых людей. Покупать такие гаджеты, чтобы хранить их за стеклом в домашнем музее никому не будет интересным.
Поэтому, я считаю, что Sony умышленно даёт играть в такую игру, но с другой стороны не ущемляя производителей игр.
Хотя, судя по всему, счёт идёт не в пользу производителей игр, т.к. тут же появляется разблокировка новой игры, чего Sony и желает, и чему хлопают в ладоши вся PSP сцена, но, с другой стороны, разработчики ничего не могут предьявить Sony, потому что не могут доказать этого факта, а так-же невозможно доказать умышленную халатность программистов, в таких элементарных вопросах защиты ПО.
Ну пожмут они плечами, что старались как могли, приложили все свои навыки и умения, но почему-то дизасм постоянно выводит все их хитрости к чистому исходному коду.
Поэтому здесь палка о двух концах, старая и всеми признанная религия.
Если перекрыть кислород хакерству, что можно легко сделать, то это приведёт к упадку интереса к продукту.
Если открыть возможности к читерству, хакерству, взламыванию - то это привлекает огромное количество интересующихся, просто халявщиков (коих можно вычесть с учётом прибыли), людей, интеллектуальных, любящих решать всякие хитрые задачки и находить ответ, и т.п.
Таким образом, если с девайсом скучно, и кроме заявленных скудных функций с ним делать больше нечего, то он быстро становится забытым.
А если в самом элементарном дешёвом девайсе заложено куча загадок, то это привлекает внимание людей разных сословий, и привлекаемость, а соответственно продаваемость, девайса резко взлетает.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Извините мой русский очень плохо, только с помощью Google: (
ULJM-05600 Kingdom Hearts Рождение сном
EBOOT.BIN от этой игры могут быть расшифрованы, но игра не запустится. EDecrypt не могу найти прошивку проверить. Любые идеи?
English:
I'm sorry my Russian is very Bad, only using Google
ULJM-05600 Kingdom Hearts Birth By Sleep
The EBOOT.BIN from this game can be decrypted, but the game won't run. EDecrypt cannot find the firmware check. Any ideas?
ULJM-05600 Kingdom Hearts Birth By Sleep-по всей видимости надо декриптовать и патчить кроме EBOOT.bin ещё, как минимум каких-то 4 файла. Вопрос-какие именно? В образе присутствуют файлы elf и dat, возможно, что прверка прошивки заложена где-то в них?
Проверка версии прошивки только одна и она в EBOOT.BIN. Никакие другие файлы патчить не нужно. В том же EBOOT.BIN, вероятнее всего, находится и проверка на кастом прошивку (одна или несколько, это уже другой вопрос), которая(ые) на сей момент "до конца" не обнаружена(ы).
Mercyful добавил 10-01-2010 в 21:34
Вообщем, надеюсь, что я ошибаюсь. Возлагаем все надежды на тех, кто обошёл первую проверку.
Последний раз редактировалось Mercyful; 10.01.2010 в 21:34.
Причина: добавил, подумав
ALgraFx, да, это полная секция. Ну разумеется далее идут подсекции.
Происходит вот что:
Из этой позиции: "0x08A7D424: 0x3C020600 '...<' - lui $v0, 0x600" (я их выделил красным)
по функции $v0 берётся в память версия прошивки 0х600 (в хексе записывается как 0x3C020600)
С помощью вызова функции модуля памяти SysMemUserForUser_35669D4C производится вся эта канитель.
С помощью модуля сравнения версии sceKernelSetCompilerVersion, производится сравнение версии ядра установленной прошивки с версией, которая записана в первом пункте.
Если версия больше или равно указанной в первом пункте, то программа продолжает выполнение по адресу в следующей секции 0x08A7D460: 0x1220000C '.. .' - beqz $s1, loc_08A7D494, то есть эта ведь секция кончается адресом памяти 0x08A7D490, а следующая идёт с адресом loc_08A7D494, куда осуществляется переход.
Адресация идёт относительная, поэтому чтобы вычислить положение в хексе, нужно от указанного адреса вычитать 0х08803000.
Mercyful, ну ты спроси у товарища, на правильном ли мы пути...
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Последний раз редактировалось ErikPshat; 11.01.2010 в 17:10.
ErikPshat
в коде 0x08A7D424: 0x3C020600 '...<' - lui $v0, 0x600 патчером/декриптором заменяется на 0x08A7D424: 0x3C020500 '...<' - lui $v0, 0x500 так что ты на верном пути, только джампы там трогать не нужно, ну и проверка эта не единственная конечно, а только та, что автоматически патчится декриптором