ErikPshat, мне долго никто не отвечал, что если честно, я сам уже разобрался. Но всё равно спасибо за развёрнутый ответ, пригодится многим, думаю.
Я объясню, откуда вопрос вообще возник. Всё дело в том, что если в ~PSP файл ELF хранится в gzip, то после распаковки его размер должен стать больше. Соответственно, размер нового EBOOT.BIN может стать больше размер старого/"закриптованного" EBOOT.BIN. Соответственно, при запаковке обратно в iso и использовании LBA-позиций из файла, хвост нового EBOOT.BIN может пересечься в "дисковом" пространстве с началом следующего по списку файла.
Учитывая, что сейчас всем рекомендуется использовать экспортированный список файлов со смещениями, это могло бы... могло бы. Кстати, на примере Disgaea2 я посмотрел, этого не происходит - во-первых, там достаточно (5 полных с хвостиком блоков) нулей, плюс, размер декриптованного ELF-а меньше(!) размера исходного запакованного.
hasherfrog добавил 08-10-2009 в 12:09
>> Но разрабы иногда хитрят
Это они ещё не хитрят. Я думаю, что самым простым следующим их шагом будет чтение первых байтов EBOOT.BIN и проверка что это не чистый ELF, а ~PSP :-P
Последний раз редактировалось hasherfrog; 08.10.2009 в 12:09.
Причина: добавил, подумав
|