PDA

Просмотр полной версии : Создание PKG с помощью psn_package_npdrm.exe и pkg.py


PURGEN1
04.09.2017, 15:23
Товарищи, может ли кто объяснить, как скормить make_package_npdrm`у файлы LIC.EDAT и PARAM.SFO с категорией DG (Disc Game)?

ErikPshat
05.09.2017, 04:04
как скормить make_package_npdrm`у файлы LIC.EDAT и PARAM.SFO с категорией DG (Disc Game)?
Там нужно правильный конфиг создать. Но, как я понимаю, ты хочешь распаковать это чудо в папку NPEB, а не BLES, но ведь в PARAM.SFO записано BLES. Тут могут возникнуть трудности, либо нужно выставить игнорирование ошибок. Это, если ты собираешься делать через make_package_npdrm.exe или psn_package_npdrm.exe. Но эти утилиты удобны, когда ты собираешь PKG, более 1 GB.

А если такие мелкие, тогда проще воспользоваться обычным сборщиком из состава PS3Tools by Aldostools:

Идёшь в ps3tools\tools\make_pkgs
Кидаешь в папку pkg свой PARAM.SFO, в папке LICDIR файл LIC.EDAT.
Открываешь батник CREATE_PKG.bat текстовым редактором и вписываешь туда ContentID игры,
например EP0006-NPEB01493_00-FIFASTREET000000 (смотри через Хекс-редактор (https://yadi.sk/d/dfLbTxLX3MaXpq) LIC.EDAT).
Сохраняешь и запускаешь, потом забираешь готовый PKG в той же папке.

P.S. Ессно, у тебя должен быть установлен в системе Python 2.7 (https://www.python.org/downloads/) в пути по умолчанию, этот путь ты увидишь в файле CREATE_PKG.bat. Последняя версия 2.7.13, другие версии, как 3.6.2 не поддерживает утилита pkg.py. Если тебе неймётся конкретно make_package_npdrm.exe, тогда спрашивай, там немного другая кухня.

Ах, да, твой пример во вложение залил, просто запусти батник:

PURGEN1
05.09.2017, 19:58
ErikPshat, здравствуйте. Ваш совет про встроенную в PS3Tools утилиту помог,

Если тебе неймётся конкретно make_package_npdrm.exe, тогда спрашивай, там немного другая кухня.
но хотелось бы именно при помощи неё паковать ресурсы игры. Если Вас, конечно, не затруднит мне с этим помочь. :blush:

ErikPshat
05.09.2017, 22:32
но хотелось бы именно при помощи неё паковать ресурсы игры. Если Вас, конечно, не затруднит мне с этим помочь. :blush:
Короче, вот такой пример реализации (во вложении), снова в такой же папке.
Запусти батник и он тебе скомпилирует обе папки по отдельности в PKG, т.к. нельзя две папки игры положить в один PKG.

Открой батник в текстовом редакторе и посмотри логику действий.
Там сначала создаётся конфиг и прописываются туда необходимые строчки для каждого вида PARAM.SFO.
Ты увидишь эти конфиги после компилирования PKG и можешь посмотреть в текстовом редакторе, как должен заполняться конфиг. Название его не имеет значения, ты просто указываешь название при натравлении на утилиту. Вообщем для утилиты нужен правильный конфиг. Я просто сделал универсальный батник, который сам создаёт конфиг автоматически, он распознаёт названия папок BLES или NPEB, которые ты туда закидываешь, и создаёт отдельный конфиг для каждой папки.

Там просто нужно знать, что писать и в каком случае, а это зависит от параметров PARAM.SFO, то ли это Game Data, то ли это Blu-ray disk, то ли это аватар или это тема. Для каждой игры там нужно заполнять ContentID от этой игры.

Если что-то непонятно, тогда спрашивай. Собсно, если ты надумаешь компилить что-то своё, то утилита при ошибках, сама будет тебе подсказывать, в каком месте у тебя ошибка.

ikhsaint
18.10.2017, 17:00
Main Packages Type :


Game Data Package

ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameData
PackageVersion = 01.00

HDD Game Package

ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
PackageVersion = 01.00

HDD Game Patch Package

ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
PackageType = HDDGamePatch
PackageVersion = 01.00

Disc Game Patch Package

ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameData
PackageType = DiscGamePatch
PackageVersion = 01.00

License

ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Local
ContentType = License
PackageVersion = 01.00

Custom Theme

ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Local
ContentType = Theme
PackageVersion = 01.00

VSH Module

ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = VSHModule
PackageVersion = 01.00

PS1 Game

ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Local
ContentType = PS1Game
TitleID = XXXXYYYYY
PackageVersion = 00.00

Minis

ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Local
ContentType = minis
TitleID = XXXXYYYYY
PackageVersion = 01.00
– Advanced Packages Items :


Demo with Key Package

ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
PackageType = Demo
PackageVersion = 01.00
ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
PackageType = Key
PackageVersion = 01.00

Date limitations

ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Local
ContentType = GameExec
LimitedTimeStart = YYYY-MM-DDThh:mmTZD
LimitedTimeEnd = YYYY-MM-DDThh:mmTZD
PackageVersion = 01.00
– Specials Packages Items :

Be carefull !!!

ForcedInstallTo

ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
ForcedInstallTo =
PackageVersion = 01.00

InstallDirectory

ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
InstallDirectory =
PackageVersion = 01.00

PackageFlag

ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
PackageFlag =
PackageVersion = 01.00

ErikPshat
18.10.2017, 17:45
package.confGame DataContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameData
PackageVersion = 01.00HDD GameContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
PackageVersion = 01.00HDD Game PatchContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
PackageType = HDDGamePatch
PackageVersion = 01.00Disc Game PatchContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameData
PackageType = DiscGamePatch
PackageVersion = 01.00LicenseContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Local
ContentType = License
PackageVersion = 01.00Custom ThemeContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Local
ContentType = Theme
PackageVersion = 01.00VSH ModuleContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = VSHModule
PackageVersion = 01.00PS1 GameContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Local
ContentType = PS1Game
TitleID = XXXXYYYYY
PackageVersion = 00.00MinisContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Local
ContentType = minis
TitleID = XXXXYYYYY
PackageVersion = 01.00Demo with KeyContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
PackageType = Demo
PackageVersion = 01.00ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
PackageType = Key
PackageVersion = 01.00Date limitationsContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Local
ContentType = GameExec
LimitedTimeStart = YYYY-MM-DDThh:mmTZD
LimitedTimeEnd = YYYY-MM-DDThh:mmTZD
PackageVersion = 01.00ForcedInstallToContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
ForcedInstallTo =
PackageVersion = 01.00InstallDirectoryContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
InstallDirectory = NPEB12345
PackageVersion = 01.00PackageFlagContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
PackageFlag =
PackageVersion = 01.00APP_VER
(мин. версия игры)APP_VER = 4.90PS3 SYSTEM VER
(версия прошивки)PS3_SYSTEM_VER = 3.3000

in1975
19.10.2017, 14:24
13472@import url(attachment.php?attachmentid=13472);
Package.conf

package
ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameData
PackageVersion = 01.00


ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
PackageVersion = 01.00


ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
PackageType = HDDGamePatch
PackageVersion = 01.00


ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameData
PackageType = DiscGamePatch
PackageVersion = 01.00


ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Local
ContentType = License
PackageVersion = 01.00


ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Local
ContentType = Theme
PackageVersion = 01.00


ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = VSHModule
PackageVersion = 01.00


ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Local
ContentType = PS1Game
TitleID = XXXXYYYYY
PackageVersion = 00.00


ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Local
ContentType = minis
TitleID = XXXXYYYYY
PackageVersion = 01.00


ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
PackageType = Demo
PackageVersion = 01.00

ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
PackageType = Key
PackageVersion = 01.00


ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Local
ContentType = GameExec
LimitedTimeStart = YYYY-MM-DDThh:mmTZD
LimitedTimeEnd = YYYY-MM-DDThh:mmTZD
PackageVersion = 01.00


ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
ForcedInstallTo =
PackageVersion = 01.00


ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
InstallDirectory =
PackageVersion = 01.00


ContentID = XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
PackageFlag =
PackageVersion = 01.00

Утилита аналог (http://www.pspx.ru/forum/showthread.php?t=101973#PKG Repacker) (тип контекста указывается через "2", а контент помещается в соответствующие папки)

ErikPshat
21.03.2018, 04:18
Короче, взломал psn_package_npdrm.exe :)
Новый код я добавить в бинарник никак не могу, т.к. нету исходников.

Но зато я могу сделать добавление папки LICDIR с файлом LIC.EDAT для конвертации в PKG.
Но для этого придётся пожертвовать чем-то одним - то ли папкой TROPDIR или папкой USRDIR, либо папкой C00, так же можно некоторые папки и типы файлов убрать из добавления в PKG.

Есть в утилите ещё пару недокументированных секретов такого типа:
(желательно проверить что и куда они записывают)

echo InstallDirectory = BLES12345GAME >> np3game.conf
echo TitleID = %np3pkg% >> np3game.conf


Ну и во вложении 3 версии licdir_package_xxxxx.exe с готовым примером для теста.

hexcsl
21.03.2018, 14:31
Короче, взломал psn_package_npdrm.exe :)
Новый код я добавить в бинарник никак не могу, т.к. нету исходников.

Но зато я могу сделать добавление папки LICDIR с файлом LIC.EDAT для конвертации в PKG.
Но для этого придётся пожертвовать чем-то одним - то ли папкой TROPDIR или папкой USRDIR, либо папкой C00, так же можно некоторые папки и типы файлов убрать из добавления в PKG.

Есть в утилите ещё пару недокументированных секретов такого типа:
(желательно проверить что и куда они записывают)

echo InstallDirectory = BLES12345GAME >> np3game.conf
echo TitleID = %np3pkg% >> np3game.conf


Ну и во вложении 3 версии licdir_package_xxxxx.exe с готовым примером для теста.

На тестовых твоих дирах работает. Надо на реальных играх тестировать (я к сожалению не играю и не конвертирую). Кстати почему такой выбор критичный USRDIR или TROPDIR ? Почему не взять более редкую диру MANUAL (и думаю не такая критичная для игры)?

Вот поправленный файл где MANUAL заменил на LICDIR https://mega.nz/#!Up4WhYYB!5j5Rl9aFaPg_-06HB4PFVuWBpV0OA53mip1sRyP6bu0
Соответственно одна утилита делает всё (за исключением не упакует теперь директорию MANUAL).

Vita Amiko
22.03.2018, 04:53
Вот поправленный файл где MANUAL заменил на LICDIR https://mega.nz/#!Up4WhYYB!5j5Rl9aFaPg_-06HB4PFVuWBpV0OA53mip1sRyP6bu0
Соответственно одна утилита делает всё (за исключением не упакует теперь директорию MANUAL).
hexcsl, ух ты, круто, теперь не надо лицензию в отдельный пакаж паковать и отдельно устанавливать! :good:

in1975
22.03.2018, 05:16
Vita Amiko, ага, make pkg bat (https://github.com/nikolaevich23/make-pkg-bat) обновил.

ErikPshat
23.03.2018, 11:26
hexcsl, круто!!! А я даже про MANUAL и не подумал :)

Более компактная версия 218 Kb: 14597


Решение проблемы с названием папки игровых данных игры для установки

Например: BLES01770-install или BLES02039-PROFSAVE

Решение:

http://www.pspx.ru/forum/showpost.php?p=1139714
http://www.pspx.ru/forum/showpost.php?p=1139777

package.conf:
ContentID = 000000-%orig:~0,9%_00-000000000000GAME
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
PackageType = HDDGamePatch
InstallDirectory = BLES01770-install
PackageVersion = 01.00

ErikPshat
08.04.2018, 16:05
Ещё один простой батник по конвертации в PKG файла(ов) EDAT в "exdata".

P.S. Утилита из SDK - make_package_npdrm, при упаковке в PKG, автоматически декриптует EDAT, поэтому от неё отказался.
Теперь и один, и множество EDAT, пакуется одной утилитой.
Название PKG берётся из названия первого найденного EDAT в папке exdata.

daneeall
23.12.2018, 10:53
Каким должно быть содержимое package.conf для установки .edat в каталог exdata текущего пользователя?

ErikPshat
24.12.2018, 07:19
daneeall, там конфиг не нужен, пакуется просто папка с ContentID.
Смотри на компе C:\PS3\ps3tools\tools\make_pkgs\CREATE_EXDATA PKG.bat

daneeall
24.12.2018, 08:06
ErikPshat, а без питона и средствами psn_package_npdrm?

ErikPshat
24.12.2018, 09:07
daneeall, тогда смотри конфиг: https://www.pspx.ru/forum/showpost.php?p=1120547
Вкладка License называется, но я правда не помню, как он работает, по-моему не работает на psn_package_npdrm.

Другой вариант, скачай MAKE_PKG_HAN_TOOLS, там в папке tools увидишь make_package_license.exe
Создаёшь в этой папке папку exdata, кидаешь туда сколько угодно лицензий EDAT и в консоли травишь команду:
make_package_license.exe -c ContentID exdata "Any_Name_License.pkg"

daneeall, кстати, а почему ты не читаешь решение над твоим постом? https://www.pspx.ru/forum/showpost.php?p=1139005