的問題是不是英文的,所以這是我的翻譯:澄清 - Java的
經常出現這樣的遊戲創建資源包。它們是一個大型的二進制文件,由TOC(目錄)和不間斷編寫的遊戲資源組成。製作一個讀取這種資源包的程序,並從中提取文件,同時保持目錄結構。
這裏是一個資源包的例子:
///
/// Header
///
DWORD: Header //BNDL
DWORD: Version //0x02
ULONG: TOC size //
///
/// TOC markers
///
byte:
01 - file name (zero terminated string). If the string
starts with char 0x01, then it is a directory
02 - file info (ulong - offset from beginning of the file,
DWORD – file size in bytes)
03 - move to parent directory
00000010 0101 6461 7461 0001 0161 6E69 6D73 0001 ..data...anims..
00000020 0167 686F 7374 0002 FCBD 1C02 0000 0000 .ghost..........
00000030 823D 7000 0167 686F 7374 5F6D 6163 6869 .=p..ghost_machi
00000040 6E65 2E78 6D62 00 ne.xmb.
string filename = data/anims/ghost/ghost_machine.xmb
ulong offset = 0x00000000021cbdfc
DWORD filesize = 0x000703D82
------------------------------------------------------
000001C5 0301 0167 7569 0002 308A 2E01 0000 0000 ...gui..0.......
000001D5 52D7 0200 0161 6C65 7274 2E78 6D62 00 R....alert.xmb.
0301 0167 7569 00 - go to the parent directory and enter
directory 「gui」
string filename = data/gui/alert.xmb
ulong offset = 0x012E8A30
DWORD filesize = 0x0002D752
其中:
ulong (8 byte) = long
DWORD (4 byte) = int
我明白,我必須做一些提取,但無法得到的東西威騰背後的意義在文件中。示例中顯示的文字是什麼?
你試過了什麼?我建議你開始閱讀Bundle數據,然後找到告訴你其他文件位於哪裏的線...... –