quickbms是一款好用的打包解包工具,可快速提取遊戲的模型、图片、音乐等素材,也可将遊戲中的PAK数据包进行解包,分解成小数据,是遊戲编程人员常用的一款解包工具,详细的使用方法可参考下文,需要的朋友不要错过!

軟件特点
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使用方法
1、使用鼠標左鍵雙擊運行quickbms.exe程序。
2、選擇一個解包腳本。
3、选择一个遊戲资源文件(包文件)。
4、選擇一個輸出文件夾來存放解包出來的文件。
5、觀察解包進度。
數據類型
1BYTE8位數值,0到0xff
2SHORT16位數值,0到0xffff
3THREEBYTE24位數值,0到0xffffff
4LONG32位數值,0到0xffffffff
5LONGLONG假的64位,所以數值是0到0xffffffff,但是卻讀取8個字節
6STRING空結尾字符串(每個字符一個字節)
7ASIZE特殊類型,用于返回打開文件的大小,僅用于GET命令
8FILENAME特殊類型,用于返回打開文件的名稱,如:"myfile.zip",僅用于GET命令
9BASENAME特殊類型,用于返回打開文件的基本名稱,如:"myfile",僅用于GET命令
10EXTENSION特殊類型,用于返回打開文件的擴展名,如:"zip",僅用于GET命令
11UNICODE特殊类型,用于统一码utf16字符串,utf16的大小序与脚本里的Endian命令设置相同,也可用于转换统一码字符串到ascii,如:Set ASCII_STRING UNICODE UNICODE_STRING,很显然这是假的utf16,所以仅对英文字符串有效
12BINARY特殊類型,用于C語言中的二進制字符串標記法,如:"\xff\x00\x12\x34",主要用于常量
13COMPRESSED特殊类型,用于设置大的字符串和内存文件仅使用少量的文本,要使用这个类型,你必须获得原始文本或文件,使用zlib进行压缩,然后使用base64对输出文件进行编码,例如:set MEMORY_FILE compressed eNrtwbEJACAMBMBecIfvnMUxPuEJAe0UHN81LLzrbYKwDOjI96IN1cLveRfAGqYu
14LINE特殊类型,用于处理回车换行为界定符的字符串(所以任何字符串都要使用0x00、 0x0a或0x0d结尾)
15FULLNAME文件的完整路徑,實際上就是輸入文件的完整路徑
16CURRENT_FOLDER啓動QuickBMS的路徑
17BMS_FOLDER定位腳本的文件夾
18OUTPUT_FOLDER輸出文件夾
19INPUT_FOLDER輸入文件夾
20ALLOC僅用于Set命令的特殊情況