Сообщение от YAGAMI55
в общем то,что я хочу сделать
да и в принципе весь мир
это фактически невозможно
разбирая полностью структуру NPD sprx,eboot я нашёл очень много нюансов
например любой NPD контейнер начинается с подписи и ей же заканчивается(её расшифровать ещё никому не удалось)
проще говоря NPD файл криптован форматом SDAT,EDAT
вот здесь как раз и идёт инфа о контрольных суммах
расшифровать её нельзя
так же нельзя расшифровать конец подписи(в принципе она отличается 20 байтами,т.е у каждого NPD она в этих 20 байтах разная)
она конечно тоже зашифрована типа SDAT,EDAT
|
Какое-то сумбурное представление о невозможности и вообще о контейнере NPD

Интересно, что ты там нашёл, что за нюансы? Если ты рассматриваешь код смотря на него сверху в хекс-редакторе, причём, вероятно, не умея читать 16-ричные последовательности цифр, тогда конечно это непосильная задача. А вообще, контейнеры NPD прекрасно расшифровываются, как в SPRX, так и в EBOOT. Единственное, что я заметил, так это тип контейнера APP версии 20 (USPRX) действительно не расшифровываются. Это как раз тот тип SPRX из PSN Update патчей, у которых стоит Present=FALSE. У них в конце первой строки SCE заголовка выставлен тип 0x20, это в позиции 0x0F.
Короче, не парьтесь и не пытайтесь подписать бинарники с SCE заголовком, как SPRX или EBOOT.BIN, у которых должно быть Present=TRUE, потому что в утилитах допущена ошибка по сборке такого заголовка. Я уже разобрался с этим Презентом и понял почему так. Там не хватает в секции "SCE Version" 20-ти байт. И это вы можете увидеть через мой
HBK, где они как раз отмечены.
Так как у нас нет исходников ко всяким утилитам типа "BREAK N MAKE" и мы никак не можем повлиять на исправление багов, то предлагаю всем миром накинуться на
scetool и доработать её, т.к. к ней есть готовые исходники, как исходная база.
Чуть позже распишу, чего там не хватает...