当前位置: 首页 > news >正文

QuickBMS 游戏资源提取:零基础解包到模组回填全解

QuickBMS 游戏资源提取:零基础解包到模组回填全解

【免费下载链接】QuickBMSQuickBMS by aluigi - Github Mirror项目地址: https://gitcode.com/gh_mirrors/qui/QuickBMS

打开游戏的资源目录,你看到的往往是一堆 .pak、.arc 大文件——文本、模型、音频全被塞进同一个包里,用普通解包工具双击直接弹"不支持的格式"。QuickBMS 就是为这种场景做的:一款由 Luigi Auriemma 开发、采用 GPL 2.0 协议开源的跨平台游戏资源提取工具,Windows、Linux、macOS 都能跑。你只需要给它一段 .bms 脚本,它就能把包里的文件一个个解出来;改完之后,还能再写回原包。

一眼看懂:QuickBMS 能帮你做什么 🎮

先明确它能解决的三件事:

  • 拆开大文件包:把游戏目录里的 .pak、.dat、.arc 还原成独立文件
  • 解压缩加解密:内置 400 多种压缩和解密算法,常见游戏格式基本都有人写好了对应脚本
  • 把改动写回去:修改后的文件可以回填进原始档案,不用自己重打包
你的需求普通解包工具QuickBMS
支持格式固定的几种400+ 种算法,按 .bms 脚本扩展
改完写回原包一般不行重导入命令直接回填
遇到没见过的格式打不开就没辙写几行脚本就能新增

这些压缩和解密算法就内置在src/libs/目录里,所以大部分游戏文件解包不需要你额外装库。

五分钟上手:装好它并解出第一个资源

第一步:安装

Windows 用户下载 quickbms.exe 放进游戏目录就能用;Linux 和 macOS 用户执行git clone https://gitcode.com/gh_mirrors/qui/QuickBMS后进入 src 目录执行make,依赖缺什么用 apt-get 补什么。

第二步:找一段 .bms 脚本

到脚本库(下一节讲去哪找)里按你的游戏名搜,存到游戏目录下。

第三步:运行

git clone https://gitcode.com/gh_mirrors/qui/QuickBMS cd QuickBMS/src && make quickbms mygame.bms data.pak out

Windows 下最后一条对应quickbms.exe mygame.bms data.pak out。跑完看 out 文件夹——解出来的文件都在里面。

脚本怎么选:为你的游戏匹配 .bms

30 秒找到脚本

QuickBMS 官网维护着一个按游戏分类的 .bms 脚本库,直接搜游戏名或引擎名。同一引擎的游戏经常共用一份脚本,比如用同一个物理引擎的几款游戏,脚本往往通用。zenhax.com 论坛也是现成脚本的高发地。

没有现成脚本的三条出路

  1. 找相似格式:搜同引擎、同厂商的游戏,改一下魔数就能用
  2. 自己写:一个简单格式的脚本通常不超过 20 行,下一节手把手教你读
  3. 去论坛求助:把文件头十六进制贴给社区,通常很快有人帮你写

实战演示:提取、修改并回填游戏文本 🛠️

完整走一遍"提取→改→回填"的闭环。假设你要修改某游戏的文本:

  1. 备份原始档案,之后所有操作都在备份上
  2. 运行quickbms mygame.bms data.pak out,文本从包里解出来
  3. 用文本编辑器改 out 里的文本,新文件大小不要超过原文件
  4. 删掉没改过的文件,只留你改过的
  5. 运行quickbms -w -r mygame.bms data.pak out,改动被写回原包
  6. 替换游戏里的原始档案,启动游戏验证

上面是 QuickBMS 通过 CallDLL 集成 Capstone 反汇编引擎的演示,说明它还能挂接外部库做更复杂的解析。

脚本小课堂:读懂并改一个 .bms

几乎所有 .bms 脚本都是下面这个骨架,看懂它就够改了:

idstring "GAMEARCHIVE" get COUNT long for i = 0 < COUNT get OFFSET long get SIZE long get NAME string log NAME OFFSET SIZE next i

逐行翻译:

  • 第 1 行:文件头必须出现 "GAMEARCHIVE",匹配不上就终止
  • 第 2 行:读一个 32 位整数,存进 COUNT
  • 第 3、8 行:循环,逐个处理每个文件
  • 第 4~6 行:读出每个文件的偏移、大小、名字
  • 第 7 行:把数据按名字写进输出目录

想让它认你的游戏,改的就是第 1 行的魔数和第 4~6 行的字段。

进阶:-w -r 回填与 -l -v 排障

  • -w -r 重导入:把 out 目录里改过的文件写回原始档案,这就是游戏模组重打包的常用姿势。前提是新文件不大于原文件
  • -l 只列不解包quickbms -l mygame.bms data.pak,先确认脚本认得这个文件,再真正提取
  • -v 详细日志:输出每一步命令的执行结果,报错时看它停在哪一行最快

排障手册

现象原因快速解决
"IDstring not found" 类报错脚本和游戏格式对不上换个同引擎的脚本
解出的文件是 0 字节或乱码偏移、大小字段读错用 -v 看哪条 get 读出的值异常
重导入提示文件变大新文件比原来大把改动压缩到原大小以内
含中文路径时行为怪异代码页不匹配加 -P 65001 指定 UTF-8
压缩错误包用了没实现的压缩算法先 -l 验证,再向社区求助补脚本

资源与进阶路径 📚

  • 脚本库:官网的 .bms 脚本按游戏名分类,是所有人的第一站
  • zenhax.com 论坛:逆向社区,卡住的格式在这里提问,附上文件头十六进制
  • 从读脚本到写脚本:先模仿同引擎的脚本改魔数,跑通后你就是作者
  • 扩展玩法:模块化架构允许你添加新压缩算法、写自定义命令,或把它嵌进自己的工具

QuickBMS 完全免费,GPL 2.0 许可,遇到打不开的游戏文件,先试它;它不认识,就写几行脚本教会它。

提示:请仅将本工具用于合法的学习与研究目的。

【免费下载链接】QuickBMSQuickBMS by aluigi - Github Mirror项目地址: https://gitcode.com/gh_mirrors/qui/QuickBMS

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

http://www.cnnetsun.cn/news/4175702.html

相关文章:

  • intentrace底层实现(上):ptrace是如何拦截Linux进程每一次系统调用的
  • 揭秘ViTMatte-small-Composition-1k核心架构:Plain ViT如何征服图像抠图任务
  • 十分钟搞定游戏 DLSS 版本替换:DLSS Swapper 实操手册
  • ide-eval-resetter 指南:2 条路线重置 JetBrains 试用期,5 项常见问题速查
  • TrollInstallerX 快速教程:iOS 14.0-16.6.1 免越狱装 TrollStore,3 分钟一次装好
  • 为什么你需要Lanarky:构建LLM微服务的终极Python Web框架全解析
  • ide-eval-resetter如何帮你一键重置JetBrains IDE的30天试用期
  • php-baixiu:用 PHP + Apache 快速搭起内容管理后台的完整指南
  • 微信机器人 iPad 协议版:3 步快速搭好自动回复与群管助手
  • ETS2LA自动驾驶插件完整指南:3步给欧卡2配齐车道保持与自适应巡航
  • Python.NET泛型实战:如何在Python中使用Dictionary[String, Int32]等C泛型类型
  • 告别僵硬动画!D3.js缓动函数实战指南:让数据可视化动起来
  • T-Pot蜜罐平台故障排除手册:解决常见的安装和运行问题
  • Nous-Hermes-2-Vision-Alpha部署指南:从15GB显存到量化加速的完整落地清单
  • Inkpunk-Diffusion完整指南:揭秘这款水墨动漫风AI绘图DreamBooth模型与文生图实力
  • SkyPaint-AI-Diffusion核心揭秘:SkyCLIP如何用90%更少算力蒸馏双语AI绘画模型
  • 用CDecrypt批量解开Wii U NUS文件:从编译到出结果的完整流程
  • NCM 转 MP3 不求人:ncmdump 4 步上手教程,新手一次跑通
  • 什么是计算神经科学?Open Computational Neuroscience Resources 写给新手的入门科普指南
  • 丢进去一句话,3分钟出片:零基础AI视频生成工具Auto-Video-Generator实操
  • DataWave REST API参考手册:query、plan、lookup、predict等核心接口使用指南
  • MT Bench 8.12分如何炼成?Starling-LM-7B-beta评测成绩深度解析
  • Backtrader 完整指南:10 分钟跑通量化回测,避开 3 个结果失真的坑
  • upsert 踩坑清单:时区 UTC 转换、类型强校验、事务夹具冲突等 5 个新手常见的 Upsert 陷阱
  • Notepad2:轻量、启动快的免费文本编辑器,支持语法高亮与编码识别
  • Maka Agent:本地优先AI桌面助手如何重塑你的工作流
  • 参与开源贡献:如何为GenLayer Project Boilerplate提交第一个高质量的PR?
  • 为什么不用LoRA?揭秘gpt4-x-alpaca用GPT-4数据全量微调3轮的训练秘诀
  • 10分钟玩转G-Helper:华硕笔记本调校指南
  • 招聘平台四大站一次看全职位发布时间:求职者的完整指南