QuickBMS通用解包器使用指南

从本质上来说,QuickBMS只是一个通用解包器引擎,由Luigi Auriemma开发并维护,虽然QuickBMS简单而高效,技术组也经常使用QuickBMS来解包游戏的资源文件,但任何技术都存在一个入门门槛,而本篇以及后续教学笔记就试图为同学们拆除这个门槛。
  
      那么,进入QuickBMS世界的门槛有多高呢?我将使用什么方法来拆除这个门槛呢?
  
第一节 QuickBMS使用方法
      
    QuickBMS的使用方法没有任何难度,其步骤如下所示:
  
1、使用鼠标左键双击运行quickbms.exe程序。
2、选择一个解包脚本。
3、选择一个游戏资源文件(包文件)。
4、选择一个输出文件夹来存放解包出来的文件。
5、观察解包进度。
  
      就这么几个步骤,是不是很简单啊?请同学们牢记,针对QuickBMS程序来说,无论在任何情况下,解包脚本、包文件和输出文件夹都是必须的,让我们来仔细的观察一下这三个必须存在的东西:包文件已经由等待汉化的游戏提供出来了,输出文件夹我们自己在硬盘上建立一个就行了,那解包脚本在哪里呢?答案是没有。这也是我们为什么把QuickBMS称为通用解包器引擎而不是通用解包器的原因,QuickBMS本身并不包含万能的解包脚本(因为根本不存在什么万能解包脚本),而是需要使用者自己针对特定的包文件结构编写出特定的解包脚本,这就是所谓的QuickBMS技术门槛,对猛犸技术组来说,这个门槛的高度是零,技术组的真正门槛是分析和汇总各种各样的包文件结构并最终整合,但对于同学们来说,在已知包文件结构的前提下,如何编写出解包脚本是现阶段必须跨过的门槛。
  
    在讨论怎样编写解包脚本之前,先让我们简单了解一下QuickBMS程序的术语或适用范围,如下所示:
  
1、编程技术并不是必须的,但是会编程能够让你更好的理解解包脚本的逻辑性。
2、解包过程并不需要知道全部的包文件格式,只要知道了文件名称、数据偏移和文件大小就可以解包。
3、解包脚本中的命令和变量名称大小写不敏感。
4、任何32位数值都是有符号的(-2147483648到2147483647),因此QuickBMS不能处理大于2GB的文件,但是能够在小于4GB的文件上进行查找,也就是说只能处理最大4GB的包文件和最大2GB的包内文件。
5、被称为常量的字符串(依赖于命令的上下文)可以处理成C语言中的字符串标记法,例如: "\x12\x34\\hello\"bye\0",这里的关键是C语言的转义字符或转义序列。
6、支持由0x开头的16进制数值,例如1234和0x4d2是相同的。
7、任何大于8位的操作都要受控于全局大小序,默认是小序,否则需要使用Endian命令来指定。
8、注释能够使用C语言的//和/* */,以及BMS语法#。
9、QuickBMS中打开的每个文件都有一个关联号,所有的命令都使用这个号码来存取文件,默认为0。
10、内存文件是临时文件的一种特殊类型,驻留在内存中,其工作类似于普通文件。
11、临时文件可代替存储在物理硬盘上的相同文件。
  
      了解了这么多,那么我们该如何编写解包脚本呢?其实所谓的解包脚本就是一个文本文件,其内容描述了特定包文件的逻辑结构关系,QuickBMS本身为我们提供了20种数据类型和40条命令,用来方便我们编写解包脚本,这就像炒菜一样,油盐酱醋、蔬菜和肉类都放在那里了,你只要按照一定的顺序依次下锅,就会色香味俱全了。
  
      下面的两个小节就分别列出QuickBMS提供的数据类型和命令(截止于0.4.6a版本),同学们可以细细体会一番,而后续教学笔记将使用具体的游戏实例来讲解这些数据类型和命令的使用方法以及如何分析出特定的包文件结构,这就是前言里面提到的拆除门槛的方法,必须要经过多个游戏实例的练习才能够有所掌握,希望同学们能够下定决心并坚持到底。
  
第二节 QuickBMS的数据类型

序号
类型名称
类型描述
1
BYTE
8位数值,0到0xff
2
SHORT
16位数值,0到0xffff
3
THREEBYTE
24位数值,0到0xffffff
4
LONG
32位数值,0到0xffffffff
5
LONGLONG
假的64位,所以数值是0到0xffffffff,但是却读取8个字节<
  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: QuickBMS是一个用于解包文件的开源工具,可以支持多种数据格式,如压缩文件、游戏资源文件等。下面是如何使用QuickBMS来拆包的步骤。 1. 下载和安装QuickBMS工具。可以在官方网站或开发者社区中下载工具,然后根据官方指南进行安装和配置。确保你已经设置好解压缩文件的默认目录。 2. 下载并解压需要拆包的文件。如果需要拆包的文件是压缩文件,则需要先解压缩文件,以便QuickBMS工具可以识别文件格式。 3. 打开QuickBMS工具并加载脚本。脚本是一个指定文件格式的代码集合,用于解包文件中的数据。可以在官方网站或其他开发者社区中找到已经编写好的脚本。选择要使用的脚本,然后将其导入QuickBMS工具中,以便可以进行进一步的配置。 4. 在QuickBMS中选择文件和输出目录。将需要拆包的文件选择并导入QuickBMS工具,然后设置输出目录,将解包出的数据存储到指定的位置。 5. 运行解包命令。在QuickBMS工具中,选择“解包”选项,然后点击运行命令。QuickBMS将开始解包文件并将数据导出到指定的输出目录。 6. 检查并使用解包数据。在解包完成后,检查输出目录,以确保解包数据的完整性和正确性。然后可以将解包的数据集成到自己的开发项目中,或者使用它来定制编辑游戏等。 总之,使用QuickBMS来拆包文件非常简单,只需几个简单的步骤即可完成。但需要注意的是,使用QuickBMS工具进行拆包需要具备一定的计算机技能,知道如何使用基本的命令行终端,以便可以正确配置和运行工具。 ### 回答2: QuickBMS是一款用于解包、打包、转换文件的工具。想要使用QuickBMS拆包,需要先安装QuickBMS并下载相应的解包脚本。以下是详细步骤: 1. 下载并安装QuickBMS:可以从QuickBMS官网下载最新版QuickBMS,并根据操作界面进行安装。 2. 下载所需解包脚本:对于不同类型的文件,需要使用不同的解包脚本。可以从QuickBMS官网的“Scripts”页面中找到对应的脚本文件,并将其下载到本地。 3. 启动QuickBMS:双击打开QuickBMS的可执行文件,然后点击“选择脚本”按钮,选择刚才下载的解包脚本文件。 4. 选择要解包的文件:在QuickBMS界面中,点击“选择文件”按钮,找到要解包的文件并选择它。可以选择单个或多个文件进行解包。 5. 选择解包路径:在QuickBMS界面中,点击“选择输出路径”按钮,选择解包后的文件保存路径。 6. 开始解包:在QuickBMS界面中,点击“运行”按钮,开始解包。 7. 查看解包结果:解包成功后,可以在输出路径中查看解包后的文件。 需要注意的是,对于某些需要加密或压缩的文件,QuickBMS可能无法成功解包。此外,使用QuickBMS可能需要一些基本的编程知识和一定的技巧,因此在使用之前最好先仔细阅读官方文档或参考其他相关教程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值