• 提取植物大战僵尸静态资源


    • macOS High Sierra系统 10.13.6

    PVZ静态资源路径

    大部分App的静态资源都在其包内容的Resources里面。PVZ的Resources如下图。

    image-20210502103917488

    这里只有箭头和logo一类东西,没有图片、音频等文件。图片和音频都压缩在了main.pak这个文件里面。

    Pak文件

    Pak文件就是将多个文件打包为一个文件,这个文件中直接保存着多个资源文件及其描述结构。

    植物大战僵尸的Pak文件是逐字节异或了0xf7进行加密。详细的过程可以参见这篇博客

    Mac下解析main.pak文件

    如果有想要看相关理论和源码可以看这篇博客,Mac和Linux没太大区别。我在Gitee上创建了一个开源项目,用C++重写了这些代码并提供了一定的封装。

    一、基于命令行的文件解析

    1. 安装相关软件工具

    在解析之前,需要安装C/C++编译的相关软件和工具。MacOS可以通过Xcode进行安装。

    2. 下载开源项目并进入pvz_resourses_parser目录。

    $ git clone https://gitee.com/xuanyusan/pvz_resourses_parser.git
    

    3. 通过 make 命令得到可执行文件文件。

    $ make
    

    4. 把 main.pak 文件拷贝到当前文件夹下,或者使用项目提供的文件,通过 make parse 命令进行解析。

    $ make parse
    

    5. 如果需要播放MO3格式的音频文件,可以执行 make installMo 安装相关依赖。

    $ make installMo
    

    6. 通过 unmo3 解析成XM格式,然后利用mikmode播放器播放。

    $ unmo3 files/sounds/mainmusic.mo3 
    $ mikmod files/sounds/mainmusic.xm
    

    二、基于应用程序的文件解析

    目前这个项目在Gitee上的发行版仅供文件解析,不具备播放音乐等其他功能。发行版可能还会有一些Bug。

    这里提供一下下载链接

    下载之后进行解压,放入Application目录下即可使用。第一次打开需要验证,建议验证完重启应用进行使用,不然可能会出现一些权限问题。

    image-20210503233239090

    应用如图,UpLoad处选择本地的main.pak文件,SavePath选择要保存的路径。点Analysic进行解析,点Clear会清除一些中间结果。按钮右边是解析日志。解析的文件最后会以一个名为files文件夹的形式保存到SavePath下,需要保证SavePath下没有名为files的文件或文件夹。

    image-20210503233902770

    PVZ静态资源解析结果

    如果想要直接获取所有的资源可以通过PVZ静态资源链接获取。

    一、PVZ字体

    img

    二、PVZ图片

    img

    三、PVZ音频

    试探性地留下名字
  • 相关阅读:
    SQL Server循环插入
    【转】Entity Framework 6 Code First 实践系列(1):实体类配置-根据依赖配置关系和关联
    【转】iis7下站点日志默认位置
    如何设置输入IP地址就直接访问到某一个网站
    面向接口编程
    Lambda表达式
    关于单体化和属性文件的说明
    cesium-长度测量和面积测量
    Cesium官方教程13--Cesium和Webpack
    Cesium官方教程12--材质(Fabric)
  • 原文地址:https://www.cnblogs.com/xuanyu-10-18/p/14729000.html
Copyright © 2020-2023  润新知