• Uncharted4-Resource-Extract


    PS4游戏资源解析

    大致流程

    • 1.获取游戏的数字安装包(.pkg 文件)
    • 2.解pkg文件,拿到游戏的PSARC文件
    • 3.PSARC解pak资源
    • 4.pak资源解模型贴图资源
    • 5.导到blender查看

    1 获取游戏安装包

    • [ ] 直接pc光驱读ps4碟
    • [ ] ps外接硬盘,讲游戏拷贝到外接硬盘
    • [x] 通过软件代理截取数字版下载地址

    在获取游戏安装包的过程中,做了一些尝试。尝试了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工具下载地址
    下载地址

    PS4PKGViewer

    使用方法:

    • 打开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文件。

    提取pak

    4. 解PAK文件

    这一步也是最重要的一步了,大致就是根据具体的PAK文件,解析出对应的资源。.pak是各个游戏开发工作室chef出来的二进制文件,这个地方反解的话,自己摸索代价太大,建议可以去 XeNTaX论坛 搜对应的 游戏,看看有没有大佬提供的反解程序。

    比如神海4,Tools for Uncharted 4 这个帖子就提供了反解Textures、Skeletons、model的程序

    texture

    文件结构

    下载下来的Uncharted4.exe使用方法和 PSArcTool.exe类似,直接拖动.pak文件到Uncharted4.exe上即可,结束后,当前路径会输出这个pak解出来的资源,

    • .smd的动画数据(这个后面可以导入blender,最早是起源引擎做半条命用的动画数据)
    • .dds贴图文件
    • textures.txt 用到的贴图列表
    • .ascii配合smd使用的动画数据

    smd

    5. 导入到blender查看

    这一步其实也是比较麻烦的一步,因为你要在几十个G的pak文件夹中找到自己想要的 资源,而且只能通过名字连蒙带猜。

    这里配套放一个原作者录的屏,他演示了一下如果解神海的pak资源。并将动画导入到blender中

    反解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)

    德雷克2

  • 相关阅读:
    JavaScript学习总结(三)——闭包、IIFE、原型、函数与对象
    JavaScript学习总结(二)——延迟对象、跨域、模板引擎、弹出层、AJAX示例
    CSS3与页面布局学习总结(八)——浏览器兼容与前端性能优化
    CSS3与页面布局学习总结(七)——前端预处理技术(Less、Sass、CoffeeScript、TypeScript)
    CSS3与页面布局学习总结(六)——CSS3新特性(阴影、动画、渐变、变形、伪元素等)
    CSS3与页面布局学习总结(四)——页面布局大全
    CSS3与页面布局学习总结(五)——Web Font与Sprite
    CSS3与页面布局学习总结(三)——BFC、定位、浮动、7种垂直居中方法
    CSS3与页面布局学习总结(二)——Box Model、边距折叠、内联与块标签、CSSReset
    HTML5 学习总结(四)——canvas绘图、WebGL、SVG
  • 原文地址:https://www.cnblogs.com/SeekHit/p/14426216.html
Copyright © 2020-2023  润新知