Сообщение от blueheaven
Полезно ли это?
u32 tag_620 = 0xD91612F0; u8 keys_620[16] = { 0xE5, 0x89, 0xEE, 0x58, 0x5E, 0x30, 0xB5, 0xF3, 0x82, 0xA5, 0xD2, 0x9A, 0xD8, 0x6C, 0x0A, 0x71 };
|
Эта информация была бы архиполезна, если бы это был верный ключ. А на самом деле скорее всего дезинформация. Я его проверил в тот же день, когда на максе его написали. Не могу сказать, по поводу правильности scramble-кода 0x5D, логично что должен использоваться он же. Хотя может ключ и верный, но без scramble-кода бесполезен. Можно попробовать подобрать его, но времени нет... И так мимо пробегал - увидел-ответил. Буду свободен минимум в вск.
Сообщение от ErikPshat
mc707 сделал декриптовку только на *.BIN. Нужно добавить код, чтобы ещё *.PRX проверялись. Ведь BIN и PRX - это фактически все они PRX-ы.
Как это лучше сделать?
|
В main/main.c есть строчка
// reading file
int ret = ReadFile("ms0:/EBOOT.BIN", 0, g_dataOut2);
Т.е. жестко прописано открывать EBOOT.BIN. Можете поменять на поиск всех файлов в какой-нибудь папке типа enc, как в prxdecrypter, это не очень сложно.
Да, и кстати...
Edecrypt выдает ошибку cbDecrypted < 0. Подправив вывод значения cbDecrypted на точное получил cbDecrypted = -8, т.е. ошибка происходит из-за неправильного вычисления sha-1 (это может произойти только при неправильном ключе или scramble-коде) на месте
/* sha-1 */
if (sceUtilsBufferCopyWithRange(outbuf, 3000000, outbuf, 3000000, 0x0B) != 0)
...