PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   PS3 хакинг и девелопмент (https://www.pspx.ru/forum/forumdisplay.php?f=207)
-   -   Создание PKG с помощью psn_package_npdrm.exe и pkg.py (https://www.pspx.ru/forum/showthread.php?t=107093)

PURGEN1 04.09.2017 15:23

Создание PKG с помощью psn_package_npdrm.exe и pkg.py
 
Товарищи, может ли кто объяснить, как скормить make_package_npdrm`у файлы LIC.EDAT и PARAM.SFO с категорией DG (Disc Game)?

ErikPshat 05.09.2017 04:04

Вложений: 1
Цитата:

Сообщение от PURGEN1 (Сообщение 1118627)
как скормить 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:
  1. Идёшь в ps3tools\tools\make_pkgs
  2. Кидаешь в папку pkg свой PARAM.SFO, в папке LICDIR файл LIC.EDAT.
  3. Открываешь батник CREATE_PKG.bat текстовым редактором и вписываешь туда ContentID игры,
    например EP0006-NPEB01493_00-FIFASTREET000000 (смотри через Хекс-редактор LIC.EDAT).
  4. Сохраняешь и запускаешь, потом забираешь готовый PKG в той же папке.
P.S. Ессно, у тебя должен быть установлен в системе Python 2.7 в пути по умолчанию, этот путь ты увидишь в файле 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

Вложений: 1
Цитата:

Сообщение от PURGEN1 (Сообщение 1118669)
но хотелось бы именно при помощи неё паковать ресурсы игры. Если Вас, конечно, не затруднит мне с этим помочь. :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 :

info

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.conf
Game Data
Код:

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

HDD Game
Код:

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

HDD Game Patch
Код:

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

Disc Game Patch
Код:

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

Demo with Key
Код:

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

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 = NPEB12345
PackageVersion = 01.00

PackageFlag
Код:

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

APP_VER
(мин. версия игры)
Код:

APP_VER = 4.90
PS3 SYSTEM VER
(версия прошивки)
Код:

PS3_SYSTEM_VER = 3.3000

in1975 19.10.2017 14:24

Вложений: 1

Package.conf


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

Утилита аналог (тип контекста указывается через "2", а контент помещается в соответствующие папки)

ErikPshat 21.03.2018 04:18

Вложений: 1
Короче, взломал 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

Цитата:

Сообщение от ErikPshat (Сообщение 1135937)
Короче, взломал 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!5j5Rl9aFa...53mip1sRyP6bu0
Соответственно одна утилита делает всё (за исключением не упакует теперь директорию MANUAL).

Vita Amiko 22.03.2018 04:53

Цитата:

Сообщение от hexcsl (Сообщение 1136023)
Вот поправленный файл где MANUAL заменил на LICDIR https://mega.nz/#!Up4WhYYB!5j5Rl9aFa...53mip1sRyP6bu0
Соответственно одна утилита делает всё (за исключением не упакует теперь директорию MANUAL).

hexcsl, ух ты, круто, теперь не надо лицензию в отдельный пакаж паковать и отдельно устанавливать! :good:

in1975 22.03.2018 05:16

Vita Amiko, ага, make pkg bat обновил.

ErikPshat 23.03.2018 11:26

Вложений: 1
hexcsl, круто!!! А я даже про MANUAL и не подумал :)

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



Решение проблемы с названием папки игровых данных игры для установки
  • Например: BLES01770-install или BLES02039-PROFSAVE
Решение:
  1. https://www.pspx.ru/forum/showpost.php?p=1139714
  2. https://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

EXDATA EDAT
 
Вложений: 1
Ещё один простой батник по конвертации в 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


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

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