Я, наверное, жутко нубские вещи скажу... но попробую)))
Предпоследние 0х28 байт можно забить любой фигней - запустится и на CFW и на OFW (если взять изначально рабочий файл), причем без пересчета контрольной суммы (что логично). Если тронуть те самые хеши после NPD - то файл работать перестает (генерировал пустышку по инструкции, заменял байты, контрольную сумму в последних восьми байтах пересчитывал, да). Либо ECDSA находится в теле файла, как на картинке с
http://www.psdevwiki.com/ps3/SELF_Fi...and_Decryption
и как-то связана с этой NPD-секцией, либо (там же написано странное):
uint8_t digest[16]; // sha-1 hash of debug self/sprx created with make_fself_npdrm
это не просто соль, а какая-то контрольная сумма? и, по идее, у плойки должна быть возможность получить эту сумму из данного файла же... (ну, например, посчитать при декриптовании) - тогда и сейчас ее можно же получить из того же файла?
Я точно где-то чего-то не понимаю, мб кто-то знающий попробует? Еще раз сори за нубство
P.S.: я скорее всего сделал что-нить не так - ну не понимаю я в этом, поэтому лучше перепроверить все мои действия...