PS4游戏资源解析
大致流程
- 1.获取游戏的数字安装包(.pkg 文件)
- 2.解pkg文件,拿到游戏的PSARC文件
- 3.PSARC解pak资源
- 4.pak资源解模型贴图资源
- 5.导到blender查看
1 获取游戏安装包
直接pc光驱读ps4碟ps外接硬盘,讲游戏拷贝到外接硬盘- 通过软件代理截取数字版下载地址
在获取游戏安装包的过程中,做了一些尝试。尝试了3条路子,前2条都被毙掉了,最后一条获取成功
1.1 pc光驱读加密ps碟
开始的时候想直接pc的光驱读ps4碟,这一步最naive,直接被干掉了,2个原因,ps4的碟容量较大,是蓝光碟,可能你电脑的光驱压根就读不了,就算能读蓝光碟,也没用。ps4的碟在生产的时候,每一张光盘的物理信息和数据都是独一无二的,查了下资料,这部分物理特征是记录在内圈的,用公钥加密这个物理特征放入数据区。
然后ps4的机器在读取时数据区,然后用私钥解密数据区记录的物理特征信息,再量光盘的物理特征,比对光盘的物理特征是否和他记录的一样,来验证是不是正版碟(所以你基本没见过盗版的ps4游戏碟)。
1.2 ps4主机外挂硬盘
这里就要说到ps外接硬盘的格式要求了。普通的移动硬盘查到ps4上,他会要求你先格式化,才能使用。
ps4主机提供了2种格式化的模式
- fat32、exfat
- ps专用格式
这2种格式,我都做了下尝试,1 pc能识别,但是装不了游戏。2 能把游戏移动硬盘上,但是pc识别不了。
下面来说一下区别,fat32和exfat常见于u盘上,他有一定的限制,fat32限制了单个文件大小4G,exfat的出现解决了4G大小的问题。如果讲硬盘格式化成fat格式的话,只能存放媒体问题(影音、图片)。
ps专用格式,这个是ps4自己的格式,这种格式允许你把应用程序安装到移动硬盘上。但是pc是没办法识别这种格式的硬盘的。
1.3 PSXDownload helper获取下载地址
主要用了这个软件 PSXDownload helper 下载地址。
这个软件本质上是用来加速游戏主机(PS3/PSV/WII等)从商店下载游戏,软件以及升级系统的应用。通过他可以拿到数字版的下载地址,然后也就可以直接pc上下载数字版资源了
使用教程这里有个 演示视频
2. 解pkg文件
通过上一步下载下来的文件,是sony商店放上去的.pkg格式。这个类型的文件,ps4主机可以直接安装,但是pc是没办法直接解压的,需要借助 一款软件 PS4PKGViewer下载地址 (目前出到了1.5版本)来做Extractor提取的操作。
补充一个新的pkg extract工具下载地址
下载地址
使用方法:
- 打开File->Open 选择游戏的pkg
- Extra-> ListContent 显示文件目录
- 目录结构下右键文件夹Extract to
提取完之后得到一系列文件,以神海为例,可以看出,他们的策略是每个场景用到的资源打包成了一个psARC文件,总共60个G。
3. 解PSARC文件
psARC文件一般默认是zlib压缩的。网上也有别人写好的提取psARC的文件。
PSARCTool下载地址
使用方法:
把psARC文件和PSArcTool.exe 放在同一目录下,选择.psARC文件拖动到PSArcTool.exe上,就会提取相应的资源到当前文件夹下。
也可命令行下使用,传参为需要提前的文件
\.PSArcTool.exe world-home.psarc
这一步得到了每个psarc解出来的具体的 pak文件。
4. 解PAK文件
这一步也是最重要的一步了,大致就是根据具体的PAK文件,解析出对应的资源。.pak是各个游戏开发工作室chef出来的二进制文件,这个地方反解的话,自己摸索代价太大,建议可以去 XeNTaX论坛 搜对应的 游戏,看看有没有大佬提供的反解程序。
比如神海4,Tools for Uncharted 4 这个帖子就提供了反解Textures、Skeletons、model的程序
下载下来的Uncharted4.exe使用方法和 PSArcTool.exe类似,直接拖动.pak文件到Uncharted4.exe上即可,结束后,当前路径会输出这个pak解出来的资源,
- .smd的动画数据(这个后面可以导入blender,最早是起源引擎做半条命用的动画数据)
- .dds贴图文件
- textures.txt 用到的贴图列表
- .ascii配合smd使用的动画数据
5. 导入到blender查看
这一步其实也是比较麻烦的一步,因为你要在几十个G的pak文件夹中找到自己想要的 资源,而且只能通过名字连蒙带猜。
这里配套放一个原作者录的屏,他演示了一下如果解神海的pak资源。并将动画导入到blender中
blender我这里装的是最新版的,然后发现默认不支持直接导入.smd文件,查了下,需要安装一个
BlenderSourceTools下载地址
下好之后是一个zip文件,也不用解压,直接blender里面操作安装即可
- Select Edit > User Preferences
- Move to the Addons tab
- Click Install... at the top of the window
- Find the downloaded zip file
打开blender file->import->SourceEngine(.smd)