news 2026/8/18 9:22:02

repkg 完整上手指南:三步快速解包 Wallpaper Engine 的 PKG 资源包,批量把 TEX 纹理转成 PNG

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
repkg 完整上手指南:三步快速解包 Wallpaper Engine 的 PKG 资源包,批量把 TEX 纹理转成 PNG

repkg 完整上手指南:三步快速解包 Wallpaper Engine 的 PKG 资源包,批量把 TEX 纹理转成 PNG

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

repkg 是一款开源的 Wallpaper Engine 资源提取工具,用一条命令就能解包 PKG 资源包、把打不开的 TEX 纹理转成 PNG 图片。这份指南会带你从安装编译到批量处理走完全程,全程命令行、无需图形界面,新手也能一看就会。

你是不是也遇到过这个尴尬

从创意工坊下载了一个惊艳的壁纸,想拆开看看里面的素材是怎么做的,结果发现整个文件夹里只有一个打不开的.pkg文件;或者好不容易收集了一堆纹理素材,全是.tex后缀,Photoshop 不认、看图软件也不认,只能干瞪眼。

这不是你的问题,是 Wallpaper Engine 的资源格式太封闭了。.pkg是壁纸打包后的容器,.tex是它专用的纹理格式,内部用了 DXT 这类 GPU 压缩算法,普通图像软件根本读不懂。而 repkg 这个开源小工具,就是专门来破解这两件事的,它由开发者对 Wallpaper Engine 的文件格式做逆向分析后实现,用 C# 写成,整个操作只有一条命令。

repkg 到底能帮你做什么

动手之前,先花一分钟看清它的三个核心能力,你就能判断它值不值得进你的工具箱:

  • 它能解包 PKG 资源包。壁纸工程打包后,纹理、模型、配置全塞在.pkg里。repkg 能按原始目录结构把内容全部还原,让你直接看到壁纸的"内脏"。
  • 它能翻译 TEX 纹理。repkg 内置完整的解码逻辑,把 DXT1、DXT3、DXT5 等压缩纹理转成 PNG 通用格式,顺带生成一份.tex-json信息文件,把分辨率、格式、帧信息都列给你。
  • 它能还原壁纸工程。配合-c参数,解包时会顺便把project.json和预览图一起复制出来,你得到的几乎就是一个可以重新打包提交的工程目录。

一句话总结:PKG 进去,素材出来;TEX 进去,PNG 出来,中间不需要任何图形界面。

三步跑通第一次解包:从安装到出图

别急着研究所有参数,先跑通一次完整流程,建立起"原来这么简单"的体感,后面的进阶玩法自然就顺了。

第一步:克隆源码并编译

repkg 基于 .NET 开发,编译需要 .NET SDK 支持。把源码克隆到本地,然后编译 Release 版本:

git clone https://gitcode.com/gh_mirrors/re/repkg cd repkg dotnet build RePKG.sln -c Release

编译产物在RePKG/bin/Release/目录下。把repkg可执行文件所在目录加进系统 PATH,之后就能在任意位置直接敲repkg了。

第二步:解包你的第一个 PKG

找一个创意工坊里下载的壁纸文件,比如scene.pkg,执行:

repkg extract scene.pkg -o ./unpacked # 输入文件 输出目录

几秒钟后打开unpacked目录,你会发现壁纸的全部资源已经按目录结构摆放好了。这就成功了,就是这么简单。

第三步:把 TEX 转成图片

在解包结果里通常能找到.tex文件,单独拿一个出来转成图片:

repkg extract -t ./unpacked -o ./png_out # 把目录下所有 TEX 转成图片

-t的意思是"把指定目录下所有 TEX 文件转成图片",转换结果以原文件名命名、PNG 格式输出,旁边还会多出一个.tex-json信息文件。用任何看图软件打开 PNG,你会发现纹理被完整还原了。💡 顺带一提,如果 TEX 里存的是动画纹理,repkg 甚至会直接给你导出成 GIF。

进阶玩法:用组合拳批量打理素材库

单个命令好懂,但 repkg 真正的威力在于组合。下面用一个完整的"壁纸素材回收"流程,把主要功能串起来演示。

假设你在~/wallpapers目录下堆积了大量创意工坊下载的壁纸,想统一处理成可用的素材库:

第一步,批量解包,并顺便还原成壁纸工程结构。

repkg extract -c -r ~/wallpapers -o ~/library # ^复制工程文件 ^递归扫描子目录

-r让 repkg 递归扫描子目录里的所有 PKG 文件,-c会把每个壁纸旁边的project.json和预览图一并复制到输出目录。跑完之后,~/library下就是一堆按壁纸 ID 命名的文件夹,每个文件夹都是一份完整的工程素材。

第二步,只挑纹理,转成 PNG 统一归档。

repkg extract -e tex -s -r ~/library -o ~/library/png # ^只提 tex 类型 ^平铺到同一目录

-e tex表示只提取.tex类型的条目,-s把所有文件平铺到同一个目录(不保留原路径),这样你就得到了一个全是图片的扁平目录,方便后续批量浏览或二次加工。

第三步,用 info 命令给素材库做个体检。

repkg info ~/library/123456789/scene.pkg -e -s -b size # ^打印条目 ^按大小排序

-e打印包内所有条目,-s -b size让条目按文件大小排序。一眼就能看出哪个壁纸最"重",清理硬盘时心里有数。

三条命令,覆盖了解包、转换、分析三个环节,一个素材库就打理好了。另外它还藏了一个interactive交互模式:敲repkg interactive启动后,可以直接在终端里连续输入命令,适合一次处理很多文件的场景,比反复敲完整命令顺手得多。

核心参数速查表

repkg 有extractinfo两个子命令,常用参数不多,整理成一张表方便随时查阅:

子命令参数作用
extract-o指定输出目录(默认./output
extract-e只提取指定扩展名的条目,逗号分隔
extract-i跳过指定扩展名的条目
extract-t把目录下所有 TEX 转成图片
extract-r递归扫描子目录
extract-c复制 project.json 和预览图
extract-n用 project.json 里的标题命名输出文件夹
extract-s所有文件输出到同一目录
extract--no-tex-convert解包时不做 TEX 转换
extract--overwrite覆盖已存在的文件
info-e打印包内条目清单
info-s -b按名称/扩展名/大小排序
info-p输出 project.json 中指定的字段
info--title-filter按标题关键字过滤

新手最容易踩的 5 个坑

用过一段时间 repkg 的人,几乎都在这几个地方栽过跟头,提前知道能省不少事。

坑一:默认不覆盖文件。repkg 默认跳过已存在的文件,重复跑同一个命令会看到一堆Skipping, already exists。想要强制重来,记得加--overwrite

坑二:输出目录的路径问题。不指定-o时,结果会输出到当前工作目录下的output文件夹,而不是输入文件旁边。批量处理前先想清楚-o指向哪里,否则容易在奇怪的地方找到一堆文件。

坑三:-t作用在目录上,不是单个文件。很多新手以为repkg extract -t texture.tex能直接转换单文件,实际上-t是针对"目录"的选项,会把目录里所有 TEX 一起处理。转换单个 TEX 文件,直接repkg extract xxx.tex -o ./out就行,程序会自动识别扩展名走转换分支。

坑四:解包目录结构的两种模式。默认情况下解包会保留 PKG 内部的目录层级,加了-s则全部平铺。批量导出素材时用-s更省事;需要保留原始结构(比如想重新打包提交工程)就别加。

坑五:TEX 转换失败不一定代表文件损坏。输出里出现Failed to write texture时,先看看是不是该纹理用了不支持的格式。repkg 对常见的 DXT1/3/5、RGBA8888、RG88、R8 都有支持,但极少数特殊变体可能解析不了,换个文件试试往往就正常了。🚧

它是怎么做到的:一次简单的逆向科普

repkg 的原理并不神秘,本质是对 Wallpaper Engine 私有格式的逆向实现。弄清楚一点点底层逻辑,你排查问题时思路会清晰很多。

PKG 文件的解析分三步:先读取文件头的魔数,校验这是一个合法的资源包;然后解析目录结构,得到每个条目的路径、大小和类型;最后按条目逐个读取数据。解包时对 TEX 类型条目会额外走一遍纹理解码流程——读取纹理头部信息(格式、宽高、Mipmap 层级),再把 DXT 等压缩数据解码成原始像素,最后交给图像库编码成 PNG 输出。

从代码结构上,项目也遵循了这个分工:RePKG.Core定义数据模型和接口,RePKG.Application实现具体的读写与转换逻辑,RePKG目录是命令行入口。想深入研究的读者,直接看PackageReaderTexToImageConverter这两个文件就能抓住主线。

最后说两句

repkg 把原本需要专业工具才能完成的工作压缩成了一行命令,这正是开源小工具的可爱之处——它不追求大而全,只专注把一件事做到顺手。

需要提醒的是,从壁纸中提取的素材应当仅用于学习、研究和个人创作,请尊重原作者版权,不要将提取内容用于商业分发或二次售卖。

现在,去找一个你好奇已久的壁纸,跑一次repkg extract,看看里面到底藏着什么吧。

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

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

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

新能源车补贴退坡窗口期购车指南:机遇、风险与决策清单

1. 一个老车贩子的观察:补贴退坡前的窗口期 最近在店里喝茶,好几个老客户都来问同一个事儿:“听说新能源车的补贴快没了,现在是不是抄底的好时候?” 这话问得,让我想起每年年底的商场大促,最后几…

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

NCM文件解密实战指南:ncmdump免费工具三分钟解锁网易云音乐

NCM文件解密实战指南:ncmdump免费工具三分钟解锁网易云音乐 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 在网易云音乐下载的歌,落到电脑上是一个 .ncm 文件,除了官方客户端谁都不认。ncmdump 是…

作者头像 李华
网站建设 2026/8/18 9:17:17

大模型核心原理与工程实践:从Transformer到微调部署全链路解析

在实际项目中,理解大模型(Large Language Model, LLM)的内部工作机制,是进行有效应用、微调、部署乃至问题排查的基础。很多开发者虽然能调用API或运行开源模型,但对模型如何从海量文本中“学习”,又如何生…

作者头像 李华
网站建设 2026/8/18 9:11:34

企业融资策略解析:从特斯拉27亿美元融资看资本运作逻辑

1. 从一则融资新闻看企业资本运作的底层逻辑 今天早上刷新闻,看到特斯拉又搞了个大动作,完成了新一轮高达27亿美元的债券和股票融资。这消息一出,圈内圈外讨论得挺热闹。很多人可能觉得,这不就是一家公司又融到钱了吗?…

作者头像 李华