PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   Архив (https://www.pspx.ru/forum/forumdisplay.php?f=304)
-   -   Спецификация прошивки PSP2UPDAT.PUP (https://www.pspx.ru/forum/showthread.php?t=97077)

ErikPshat 28.05.2012 08:29

Спецификация прошивки PSP2UPDAT.PUP
 
Спецификация прошивки PSP2UPDAT.PUP

Стартовая часть - описание файла

0x00[8] - Аббревиатура установщика SCEUF\00\00\01
0x08[u32] - Версия контейнера
0x10[u32] - Версия прошивки
0x14[u32] - Версия билда (Build)
0x18[u32] - Количество файлов PKG
0x20[u32] - Размер заголовка
0x28[u32] - Размер данных, без заголовка

Неизвестная секция - никакой полезной нагрузки не несёт

0x30[u32] - Неизвестно (0х00000002)
0x34[u32] - Неизвестно (0х00000001)
0x3C[u32] - Неизвестно (0х00000002)
0x44[u32] - Неизвестно (0х0000000С)
0x50[u32] - Неизвестно (0х00000200)

Файловая структура

0x80[u16] - Номер секции (ID): 0100
0х88[u32] - Позиция version.txt
0x90[u32] - Размер version.txt

0xA0[u16] - Номер секции (ID): 0101
0xA8[u32] - Позиция license.xml
0xB0[u32] - Размер license.xml

0xC0[u16] - Номер секции (ID): 0200
0xC8[u32] - Позиция binary0.self (cli installer)
0xD0[u32] - Размер binary0.self

0xE0[u16] - Номер секции (ID): 0204
0xE8[u32] - Позиция binary1.self (gui installer)
0xF0[u32] - Размер binary1.self

0x100[u16] - Номер секции (ID): 0302
0x108[u32] - Позиция package_file_0.pkg
0x110[u32] - Размер package_file_0.pkg

0x120[u16] - Номер секции (ID): 0303
0x128[u32] - Позиция package_file_1.pkg
0x130[u32] - Размер package_file_1.pkg

0x140[u16] - Номер секции (ID): 0304
0x148[u32] - Позиция package_file_2.pkg
0x150[u32] - Размер package_file_2.pkg

0x160[u16] - Номер секции (ID): 0305
0x168[u32] - Позиция package_file_3.pkg
0x170[u32] - Размер package_file_3.pkg

0x180[u16] - Номер секции (ID): 0306
0x188[u32] - Позиция package_file_4.pkg
0x190[u32] - Размер package_file_4.pkg

0x1A0[u16] - Номер секции (ID): 0307
0x1A8[u32] - Позиция package_file_5.pkg
0x1B0[u32] - Размер package_file_5.pkg

0x1C0[u16] - Номер секции (ID): 0308
0x1C8[u32] - Позиция package_file_6.pkg
0x1D0[u32] - Размер package_file_6.pkg

0x1E0[u16] - Номер секции (ID): 0309
0x1E8[u32] - Позиция package_file_7.pkg
0x1F0[u32] - Размер package_file_7.pkg

0x200[u16] - Номер секции (ID): 030A
0x208[u32] - Позиция package_file_8.pkg
0x210[u32] - Размер package_file_8.pkg

0x220[u16] - Номер секции (ID): 030B
0x228[u32] - Позиция package_file_9.pkg
0x230[u32] - Размер package_file_9.pkg

0x240[u16] - Номер секции (ID): 030C
0x248[u32] - Позиция package_file_10.pkg
0x250[u32] - Размер package_file_10.pkg

0x260[u16] - Номер секции (ID): 030D
0x268[u32] - Позиция package_file_11.pkg
0x270[u32] - Размер package_file_11.pkg

0x280[u16] - Номер секции (ID): 030E
0x288[u32] - Позиция package_file_12.pkg
0x290[u32] - Размер package_file_12.pkg

0x2A0[u16] - Номер секции (ID): 030F
0x2A8[u32] - Позиция package_file_13.pkg
0x2B0[u32] - Размер package_file_13.pkg

0x2C0[u16] - Номер секции (ID): 0400
0x2C8[u32] - Позиция SCEWM
0x2D0[u32] - Размер SCEWM

0x2E0[u16] - Номер секции (ID): 0401
0x2E8[u32] - Позиция SCEAS
0x2F0[u32] - Размер SCEAS

Хэши файлов (возможно содержит зашифрованные названия файлов)

0x300[u8] - ID Хэша: 00
0x308[32] - Хэш (0x20=256 бит) version.txt

0x340[u8] - ID Хэша: 01
0x348[32] - Хэш (0x20=256 бит) license.xml

0x380[u8] - ID Хэша: 02
0x388[32] - Хэш (0x20=256 бит) binary0.self

0x3С0[u8] - ID Хэша: 03
0x3С8[32] - Хэш (0x20=256 бит) binary1.self

0x400[u8] - ID Хэша: 04
0x408[32] - Хэш (0x20=256 бит) package_file_0.pkg

0x440[u8] - ID Хэша: 05
0x448[32] - Хэш (0x20=256 бит) package_file_1.pkg

0x480[u8] - ID Хэша: 06
0x488[32] - Хэш (0x20=256 бит) package_file_2.pkg

0x4С0[u8] - ID Хэша: 07
0x4С8[32] - Хэш (0x20=256 бит) package_file_3.pkg

0x500[u8] - ID Хэша: 08
0x508[32] - Хэш (0x20=256 бит) package_file_4.pkg

0x540[u8] - ID Хэша: 09
0x548[32] - Хэш (0x20=256 бит) package_file_5.pkg

0x580[u8] - ID Хэша: 0A
0x588[32] - Хэш (0x20=256 бит) package_file_6.pkg

0x5C0[u8] - ID Хэша: 0B
0x5C8[32] - Хэш (0x20=256 бит) package_file_7.pkg

0x600[u8] - ID Хэша: 0C
0x608[32] - Хэш (0x20=256 бит) package_file_8.pkg

0x640[u8] - ID Хэша: 0D
0x648[32] - Хэш (0x20=256 бит) package_file_9.pkg

0x680[u8] - ID Хэша: 0E
0x688[32] - Хэш (0x20=256 бит) package_file_10.pkg

0x6C0[u8] - ID Хэша: 0F
0x6C8[32] - Хэш (0x20=256 бит) package_file_11.pkg

0x700[u8] - ID Хэша: 10
0x708[32] - Хэш (0x20=256 бит) package_file_12.pkg

0x740[u8] - ID Хэша: 11
0x748[32] - Хэш (0x20=256 бит) package_file_13.pkg

0x780[u8] - ID Хэша: 12
0x788[32] - Хэш (0x20=256 бит) SCEWM

0x7C0[u8] - ID Хэша: 13
0x7C8[32] - Хэш (0x20=256 бит) SCEAS

0x800[u8] - ID отсутствует
0x800[32] - Хэш (0x20=256 бит) ???

ErikPshat 28.05.2012 10:54

Короче, всю ночь ковырял тут этот апдейтер от 1.67.
Вычислил все смещения, вроде ни одного байтика не пропустил.
Так что можно все файлы вытаскивать вручную, а лучше автоматом.

Естесственно, если в смещении "0x18[u32] - Количество файлов PKG" изменится количество секций PKG, то нужно будет делать прибавку по смещениям.
То есть, нужно будет считать по относительным смещениям.
Файловая структура начинается строго со смещения 0х80. Поскольку в заголовке нет никаких указателей на данное начало, поэтому следует, что оно закреплено жёстко по спецификации. Отсюда и нужно делать все остальные прибавки относительно позиции 0х18, где указывается количество секций.

В ообщем, хочу попросить программистов, Yoti и frosty, накатать нормальный GUI под виндус.
Это наподобии PBP Unpacker или UMDGen

https://www.pspx.ru/forum/attachment....achmentid=3731

То есть, чтобы все внутренности были видны в виде списка.
А так же, чтобы отображались все данные прошивки:
  • 0x00[5] - Аббревиатура установщика SCEUF
  • 0x08[u32] - Версия контейнера
  • 0x10[u32] - Версия прошивки
  • 0x14[u32] - Версия билда (Build)
  • 0x18[u32] - Количество файлов PKG
  • 0x20[u32] - Размер заголовка
  • 0x28[u32] - Размер данных, без заголовка

Например "Firmware xTractor 2.01" не всё показывает и не совсем верно.

frostegater 29.05.2012 08:16

Мне графические интерфейсы чужды. Могу накатать консольную прогу.

ErikPshat 29.05.2012 08:28

frostegater, ну так не интересно. Я тоже могу написать батник и перевести его в экзешник )) получится та же консольная прога.

А что там GUI накатать. Берётся стандартный шаблон, мышкой расставляешь кнопочки по местам и растягиваешь как надо, вешаешь на них действия.
Делаешь вывод списка присутствующих файлов. И извлечение по готовым смещениям.

frostegater 29.05.2012 08:33

ErikPshat, я ленив) ну ладно, накатаю гуйню между делом. Просто сейчас сильно занят, ты знаешь чем, да ещё завтра 2 зачёта (из-за того что нифига не учил по биологии и катал с решебника на англицком весь год), готовиться нужно.

Yoti 29.05.2012 11:49

Цитата:

Сообщение от ErikPshat (Сообщение 1033374)
мышкой расставляешь кнопочки по местам и растягиваешь как надо, вешаешь на них действия

Знал бы ты, как я это ненавижу...

frostegater 29.05.2012 13:50

На VLF кодить и то приятнее чем их растягивать)

ErikPshat 29.05.2012 13:54

frostegater, ну может тогда сделаешь для PSP экстрактор прошивки Виты на VLF? )))

Назовём "VitaExtractor for PSP".

Yoti 29.05.2012 14:12

Цитата:

Сообщение от ErikPshat (Сообщение 1033431)
для PSP экстрактор прошивки Виты на VLF

Давно я такой дикости не видел)

ErikPshat 29.05.2012 14:19

Цитата:

Сообщение от Yoti (Сообщение 1033435)
Давно я такой дикости не видел)

Ненуачо, кидаешь файл прошивки Виты в корень стика на PSP, запускаешь прогу и она по :cross: всё вытаскивает, а по :square: сразу декриптует :xDD:

Зато и PSP будет при делах и Vita не обделена.

StepS 29.05.2012 15:21


DeAmouSE 29.05.2012 16:56

Ну раз люди пишут тогда я писать не буду

frostegater 30.05.2012 00:54

StepS,

amol1 03.11.2017 17:19

ну че там где прога???

amol1 добавил 03.11.2017 в 17:19
А, если распаковать прошивку, а потом изменить версияон.тхт с 3.60 на 3.65 и запаковать обратно, То пс вита примет прошивку и задаунгредится??? Если теоретически сможет то может запаковщик сделаете)))

ErikPshat 03.11.2017 17:41

amol1, зачем тебе прога? Вон в шапке я всю спецификацию расписал по байтикам.

Задаунгрейдится? Хехе, тут хакеры всего мира чешут репу как сделать откат на взломанную прошивку, а оказывается тут всё так просто - amol1, придумал крутой способ :D

amol1 20.11.2017 20:46

не ну я не хакер, но уже более 20 способов попробовал как даунгрейд сделать, пока что безрезультатно

Dmitrywrk 30.11.2017 14:51

Поясните, пожалуйста, firmware extractor это не то же самое?

Yoti 30.11.2017 15:55

Dmitrywrk,
здесь обсуждается, как всё сделать самому, а не использование готового софта.

amol1 01.12.2017 16:11

Цитата:

Сообщение от Yoti (Сообщение 1123323)
Dmitrywrk,
здесь обсуждается, как всё сделать самому, а не использование готового софта.

А как это сделать самому то и не говорят)))))

ErikPshat 01.12.2017 16:36

Цитата:

Сообщение от amol1 (Сообщение 1123386)
А как это сделать самому то и не говорят)))))

Как не говорят, а первое сообщение и частично второе для чего?
Там всё по полочкам разложено как и что делать всё самому.


Текущее время: 02:24. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.