2015-06-17 17:45:47 k73电玩之家 作者:雨鱼
本楼用于说明在使用DEX系统时会遇到的制作PKG的方法。
前言 —— 你需要了解的关于ContentID的知识
----------------------------------------------------------------------------------------------------
在制作PKG的过程中遇到最多工作即使修改CONF文件,而其中最主要的是修改ContentID。
虽然ContentID中只要GameID正确就可以打包,不过还是提一点这方面的知识。
1.ContentID是什么?
每一个NPDRM加密的文件都会对应一个ContentID,加密后的文件内容会根据ContentID变化而变化。
ContentID普遍用于游戏升级补丁和PSN下载内容中,在PSN商店中ContentID同时被用于ProductID。
另外,我们熟知的在exdata文件夹下面的授权文件也是使用ContentID命名,当NPDRM文件需要通过解密授权时便是直接找到对应ContentID命名的授权文件。
游戏光碟里面的文件由于没有经过NPDRM加密,所以里面EBOOT.BIN是唯一没有ContentID的EBOOT.BIN。
2.ContentID如何组成?
用下面的例子来说明下:
HP0101-BLAS50365_00-WE2012ASPATCH006
第一个“-”前的六位是厂商ID
"_00-"之前的九位是游戏ID
最后的十六位是附加ID
3.如何找到官方的ContentID命名?
对于游戏升级补丁,ContentID可以直接在下载的PKG名字中看到。
例如“HP0101-BLAS50365_00-WE2012ASPATCH006-A0106-V0100-PE.pkg”,去掉最后的“-A0106-V0100-PE”前面就是ContentID了。
对于PSN游戏,用十六进制编辑器打开游戏的EBOOT,搜索字符“NPD”,在下面就可以看到ContentID了。
对于DLC文件,用十六进制编辑器打开DLC里面的edat文件,在文件前两行里就能看到ContentID。
一、解包PKG:
----------------------------------------------------------------------------------------------------
这里使用到的工具是PkgView_1.3.rar,这是目前最实用的PKG解包工具。
打开PkgView.exe,选择File-Open打开PKG文件,再在目录树顶层选择“Extract to source folder”,就可以解包出PKG的内容了。
在Tools选择Associate .pkg files with this application后,可以关联PKG类型文件,双击PKG直接就会用PkgView打开了。
关联后在资源管理器中选中PKG文件,点击鼠标右键,还会有Extract PS3 PKG here的选项,支持多个PKG批量解包。
个别PKG由于内部使用了非法字符,可能在解包时会出错,只能到PS3上安装才能得到内部的内容。
二、打包PKG:
----------------------------------------------------------------------------------------------------
这里使用的工具是psn_package_npdrm.exe,这个工具其实是基于PS3 3.40 SDK里的make_package_npdrm.exe的修改版。
使用psn_package_npdrm.exe --version指令可以看到工具的版本号是MODDED V1.0 - Original Rev. 1732。
我这里上传了一个pkg_create.zip,里面包含了psn_package_npdrm.exe、常用的几种pkg打包配置文件和运行脚本。
1. 在说明怎么用我的这个pkg_create.zip之前,先说明下psn_package_npdrm.exe这个工具的使用方法:
其实打包PKG的指令非常简单:
上面代码里的xxxx是配置文件的名称,ABCD12345用来代表具体的GameID。
使用psn_package_npdrm.exe打包出的PKG文件是调试(Debug)格式,可以直接在官方DEX下面安装。
2.conf配置文件说明(拿补丁格式的conf文件举例)
3.下面介绍本鱼制作的pkg_create.zip
解压pkg_create.zip,你可以得到以下文件:
create_pkg.bat <-- 本鱼制作的自动创建PKG文件的脚本
discbind_psn.conf <-- 光碟绑定PSN格式游戏PKG配置文件模版
dlc.conf <-- DLC或游戏追加数据PKG配置文件模版
patch.conf <-- 光碟游戏补丁PKG配置文件模版
psn.conf <-- 一般PSN游戏PKG配置文件模版,PSN游戏补丁也使用这个配置模版
psn_package_npdrm.exe
使用时,首先将上面解包得到的以GameID命名(EX:ABCD12345)的文件夹放入pkg_create文件夹。
然后修改你需要制作的PKG类型配置文件模板,只要修改ContentID和PackageVersion就行。
最后双击运行create_pkg.bat,你会见到如下的菜单选择项:
--------------------------------
1. PSN Game (适用于一般的PSN游戏解包再打包)
2. DiscBind PSN Game (适用于光碟绑定PSN格式游戏解包再打包,比如:生化历代记HD、铁拳混合版等)
3. Disc Game Patch (适用于制作光碟游戏补丁,可用来重新打包DEX用的Debug版补丁)
4. GameData or DLC(适用于打包不含EBOOT.BIN的游戏数据,比如:DLC、MM封面主题包等)
----------------------------------
Please Choose PKG Type:
在上面的冒号后面输入你想要创建的PKG类型的编号(1-4)回车,接着会要求输入GameID,输完回车就会自动开始生成PKG了。
三、简易的安装大于4G零售(Retail)PKG的方法:
----------------------------------------------------------------------------------------------------
有的光碟绑定游戏里面的安装PKG体积大于4G,无法提取至外置USB直接安装。
这时候除了将PKG直接通过FTP传入内置硬盘,还可以使用下面的方法安装:
1.将游戏备份使用工具分割,像OpenSplit这种工具会自动检索游戏备份中所有大于4G的文件并进行分割。
2.修改游戏备份中的PARAM.SFO的系统版本号到3.55或更低,可以使用十六进制编辑器修改,也可以使用上面ps3gen.zip中半酣的ps3sys.exe修改。
3.将分割过的游戏备份通过MM拷贝入内置硬盘,在拷贝过程中MM会将PKG合并。
4.用MM加载拷入内置硬盘的游戏备份,回到XMB。
5.放入一张引导光碟,正常情况光碟图标会变成你MM加载的游戏备份,进入光碟图标就能安装PKG了。
(如果没有引导光碟,在DEX下可以使用任意一个游戏的BDEMU当做引导盘使用)
以上方法由于游戏备份中的PKG依然为Retail格式,所以只能在自制DEX下面使用。