Просмотр полной версии : Создание PKG с помощью psn_package_npdrm.exe и pkg.py
Товарищи, может ли кто объяснить, как скормить 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, тогда спрашивай, там немного другая кухня.
Ах, да, твой пример во вложение залил, просто запусти батник:
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
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 с готовым примером для теста.
Короче, взломал 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:
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
vBulletin® v3.8.7, Copyright ©2000-2025, vBulletin Solutions, Inc. Перевод: zCarot