Вот смотри, попробую объяснить по-другому, там код подписывания начинается с такого условия:
if [!CID!]==[] (
код подписывания дискового EBOOT.BIN
) иначе (
код подписывания NPDRM
)
В условие на автомате всегда вставляется вместо
!CID! - спарсенный из EBOOT.BIN ContentID. И смотри что получается, когда у тебя EBOOT.BIN из PSN (NPDRM), не от Blu-Ray диска. Туда, вместо
!CID! вставляется автоматом так:
if [EP0001-BLES12345-SUPERPUPERCHEATS]==[] (
То есть, первое условие равенства не выполняется, в первых скобках ContentID не равен пустым скобкам, тогда срабатывает условие "
иначе" (в противном случае). А там как раз код подписывания NPDRM - это то, что нам надо по умолчанию, если исходный файл действительно NPDRM.
Допустим, другой пример, когда нам надо переподписать "Дисковый" файл, мы же знаем, что у него нету ContentID в секции NPD (я тебе выше на
скрине показывал). Тогда в первое условие на автомате попадает пустой ContentID:
Тут первое же условие срабатывает и выполняется, потому что "
пустые скобки" равны "
пустым скобкам"! Математику знаешь? Таким образом сразу берётся подписывание первым же условием, т.е. декриптованный EBOOT будет подписываться как "Дисковый" файл. Смотри расшифровку в начале этого сообщения:
код подписывания дискового EBOOT.BIN
А когда ты переподписываешь файл не по фэншую, т.е. химичишь из "Дискового" в "NPDPM" или наоборот, тогда тут чешешь репу и делаешь, как я писал в
сообщении наверху, на этой странице. То есть, ты делаешь так, чтобы код отработал наоборот. И конечно учитываешь параметры подписи файла NPDRM, потому что там есть дополнительные параметры NP, о чём я тебе так же там подробно написал и даже выделил жирным.