news 2026/8/18 10:55:21

从 PKG 到 PNG:用 RePKG 完成 Wallpaper Engine 资源提取与 TEX 格式转换

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从 PKG 到 PNG:用 RePKG 完成 Wallpaper Engine 资源提取与 TEX 格式转换

从 PKG 到 PNG:用 RePKG 完成 Wallpaper Engine 资源提取与 TEX 格式转换

【免费下载链接】repkgWallpaper engine PKG extractor/TEX to image converter项目地址: https://gitcode.com/gh_mirrors/re/repkg

深夜,朋友发来一条求助消息:"我订阅的那个动态壁纸,配色要是能改成深色调就好了。"我打开 Steam 创意工坊的订阅目录,找到那个壁纸的专属文件夹——里面躺着一个.pkg文件,旁边还有几张以.tex结尾的图片。双击图片,系统弹出"无法打开此文件";拖进看图软件,同样不认。那一刻我明白了:想改一个壁纸,得先过格式这一关。

这正是无数 Wallpaper Engine 玩家共同的处境:壁纸明明下载到了本地,素材却像被锁在保险柜里。.pkg是 Wallpaper Engine 的资源打包格式,所有图像、脚本、配置都被塞进这一个文件;.tex是它私有的纹理格式,普通软件一概不识别。想提取、想修改、想备份,都无从下手。

好在,有一款叫RePKG的开源工具专门解决这件事。它是用 C# 写成的 Wallpaper Engine 资源提取与格式转换工具,核心能力就两句话:解开 PKG 封装,把 TEX 纹理还原成 PNG 或 GIF。下面我就从自己的踩坑经历说起,带你把它用起来。

没有它之前,大家是怎么折腾的

在没有这类工具的日子里,想拿到壁纸里的原始素材,基本只有三条路:

  • 十六进制硬啃:用十六进制编辑器打开 PKG,对照网上零散的格式笔记,一个字节一个字节地猜哪个是文件名、哪个是数据段。运气好能翻出几张图,运气不好一下午就搭进去了。
  • 通用解包工具轮番试:拿各种压缩包/资源解包工具去硬解 PKG,十有八九直接报"格式不支持",偶尔解出东西也是乱码目录。
  • 截图凑合用:壁纸播放时按截图键,把想要的画面截下来。图是有了,但分辨率受屏幕限制,透明通道、动画帧全部丢失,根本没法二次创作。

这些办法的共同问题是:麻烦、易错、不可复用。每换一个壁纸,同样的流程得再来一遍。

RePKG 的做法:一条命令,两件事一起办

RePKG 的思路很简单——既然格式是被逆向研究过的,那就让程序替人干活。它同时解决了解包和转码两个环节:

  1. 读取 PKG 内部结构,把每个条目按它在包里的路径还原成真实文件;
  2. 识别出其中的 TEX 纹理,自动解压(LZ4 压缩、DXT1/3/5 等压缩格式都能处理),再转成通用图片格式。

而且它不止"提取"——配合-c参数,它还能把 PKG 连同旁边的project.json、预览图一起还原成一个完整的 Wallpaper Engine 项目文件夹,意味着提取出来的东西可以直接重新导入使用

工具是命令行程序,名字就叫repkg,一共两个主命令:extract(提取/转换)和info(查看包和纹理的信息)。

三步上手:从下载到跑出第一张 PNG

第一步:拿到程序

环境里装好 .NET SDK 后,克隆源码并编译:

git clone https://gitcode.com/gh_mirrors/re/repkg cd repkg dotnet build

编译产物在RePKG/bin/下,把repkg(Windows 下是RePKG.exe)放进 PATH,或者直接用完整路径调用都可以。

第二步:跑第一条提取命令

repkg extract 我的壁纸.pkg

这一条命令做了四件事,你基本不用操心:

  • 在当前目录下创建output文件夹;
  • 解析 PKG 内部结构,把每个文件按包内路径还原出来;
  • 遇到 TEX 纹理,自动转成 PNG 存到同目录;
  • 是动画纹理的话,会转成 GIF 输出。

第三步:用 info 命令"体检"

提取之前,可以先给文件做个"体检",看看包里到底装了什么:

repkg info -e 我的壁纸.pkg

-e会列出包内所有条目及各自大小,相当于先看菜单再点菜。

几个真正常用的参数,一次讲清

extract的参数不少,但日常高频的就下面这几个,我按使用频率排了序:

参数作用典型用法
-e只提取指定扩展名的文件-e tex,png只要图片类
-i跳过指定扩展名的文件-i mp3,wav不要音频
-s所有文件平铺到一个目录,不保留包内路径整理素材时很好用
-r递归搜索子文件夹里的所有 PKG批量处理整目录
-c把旁边的 project.json 和预览图一起复制出来还原成可导入的项目
-n用 project.json 里的标题作为输出文件夹名代替默认的数字 ID
--no-tex-convert只解包,不做纹理转码文件太大时的降载方案
-o指定输出目录-o ./素材库

info命令也值得记两个:-p *可以导出 project.json 里的全部字段,--title-filter能按壁纸标题过滤,批量查看几百个包时非常省眼力。

两个贴近日常的用法

用法一:把整个创意工坊订阅目录变成自己的素材库

创意工坊的订阅内容都在steamapps/workshop/content/431960这个目录下(不同系统盘符不同),每个壁纸一个子文件夹。想一次性把所有壁纸的素材都扒出来分类归档:

repkg extract -r -c -e tex,png,jpg,mp3,wav -o ./素材库 \ "E:\Steam\steamapps\workshop\content\431960"

-r让它在所有子目录里找 PKG,-c带上每个壁纸的配置和预览图,-e只挑素材类文件,最后统一收进素材库文件夹。

适合谁用:想建个人素材库的壁纸收藏党、想拿现成素材练手的视觉设计初学者。这一招比逐个手动解包省下大量时间。

用法二:把壁纸改完再导回去

想给壁纸换色、换图,或者删掉某个不喜欢的功能模块?流程只有三步:

  1. 提取成可编辑项目:
repkg extract -c -n 原壁纸.pkg
  1. 在输出目录里动手改:换掉 PNG 图片、编辑 project.json、调整脚本;
  2. 打开 Wallpaper Engine,选"从文件夹导入",指向包含 project.json 的目录,完事。

为什么这样用-c保证项目结构完整,-n让文件夹名字可读,改完的目录就是一个标准壁纸项目,导入即用,不需要任何额外处理。

新手最容易踩的三个坑

坑一:报错 "Unknown magic"

看到这个错先别慌,它只是说"文件头不认识"。八成是两种情况:文件本身不是 Wallpaper Engine 的 PKG(比如从别处下的同名文件),或者下载不完整。从创意工坊正常订阅下来的文件一般不会出这个问题。

坑二:转出来的图片颜色怪怪的

部分 TEX 纹理内部用的是特殊通道排列,直接看图会觉得偏色。先别急着怀疑工具坏了,用repkg info看看纹理的格式信息,确认它是哪种压缩格式。多数情况下这只是源纹理的特性,不是转换错误。

坑三:大项目处理到一半内存吃紧

遇到体积很大的壁纸,可以分两步走:先用--no-tex-convert只解包不转码,把原始文件落盘;之后再用repkg extract -t -s单独对目录里的 TEX 做批量转码。这样每步的负载都小很多,也方便定位是哪一步出问题。

写在最后:动手之前先想清楚三件事

第一,先挑简单的练手。找一个体积小的静态壁纸,跑通"提取—修改—导回"完整链路,再碰动画壁纸和复杂项目。第二,批量操作前先单测一个-e-i这些过滤参数写错代价不大,但直接对几百个文件跑错参数就麻烦了。第三,守住合规边界。逆向工具是用来学习和创作的,请遵守 Wallpaper Engine 的使用条款,尊重原作者版权:提取的素材只用于个人学习、备份或已获授权的二次创作,不要拿去商用或公开传播。

最后,用几句话概括这个工具打动我的地方:

  • 解包与转码一条命令完成,中间环节全部自动化;
  • 能把 PKG 还原成可直接重新导入的项目,形成完整闭环;
  • 过滤、递归、批量、平铺等参数齐全,大规模整理素材也不怵;
  • 纯命令行、无图形界面依赖,脚本化批量处理很顺手;
  • 格式逆向过程公开透明,遇到问题也方便自行排查或反馈。

从"对着十六进制发呆"到"一条命令拿到 PNG",RePKG 把 Wallpaper Engine 资源提取的门槛降到了最低。现在就找个你最喜欢的壁纸,跑通第一条命令试试看吧。

【免费下载链接】repkgWallpaper engine PKG extractor/TEX to image converter项目地址: https://gitcode.com/gh_mirrors/re/repkg

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/18 10:55:11

Java全渠道同城回收系统技术实现与优化

1. 项目概述:全渠道同城回收系统的技术实现方案 这套基于Java技术栈的同城上门回收系统,本质上是一个打通线上线下服务闭环的O2O解决方案。我在实际开发这类系统时发现,它需要同时解决三个核心问题:如何高效匹配供需双方&#xff…

作者头像 李华
网站建设 2026/8/18 10:53:37

EtherCAT主站SOEM -- 52 -- SOEM2.0之ec_config.h/c从站扫描与PDO映射解析

EtherCAT主站SOEM -- 52 -- SOEM2.0之ec_config.h/c从站扫描与PDO映射解析 0 Win QT & VS和Ubuntu QT & STM32F767 移植SOEM 0.0 移植环境预览: 0.1 Ubuntu18.04系统QT-SOEM博客、视频欣赏及源代码链接 0.2 STM32F767-SOEM 博客、视频欣赏及源代码链接 0.3 Win11/10系…

作者头像 李华
网站建设 2026/8/18 10:44:19

Wine适配OpenHarmony

# Wine on OpenHarmony 适配方案## 1. OpenHarmony 原生适配 Wine 的思路OpenHarmony 虽然默认使用标准Linux 内核的操作系统,其图形栈、音频栈与常见Linux 桌面环境不同,因此无法直接运行传统 Linux 版 Wine。Wine从7.0开始采用了"PE/Unix"分…

作者头像 李华
网站建设 2026/8/18 10:43:04

构建LLM智能体野外基准测试:从理论到实战评估框架

1. 项目概述:当“智能体技能”走出实验室最近和几个做AI应用落地的朋友聊天,大家都有一个共同的感受:现在大语言模型(LLM)的“技能”演示看起来都挺酷炫的,无论是写代码、分析数据还是规划任务,…

作者头像 李华
网站建设 2026/8/18 10:42:55

福特探险者2.3T风尚运动版上市:精准卡位中大型SUV市场

1. 新车上市:一次精准的“卡位”与“补强”今天,福特探险者家族迎来了一位新成员:2.3T风尚运动版,官方指导价42.78万元。对于关注中大型SUV市场的朋友来说,这个价格和这个配置的出现,绝不是一次简单的“新增…

作者头像 李华