Томдар · bei.pm
Осы бетте сипатталған файл форматтары Dynamix, Inc. және Sierra Entertainment компанияларының интеллектуалдық меншік техникалық анализіне негізделген.
Интеллектуалдық меншік қазіргі уақытта Activision Publishing, Inc. / Activision Blizzard, Inc. мүлкіне кіреді және қазіргі уақытта Microsoft Corp. компаниясының меншігінде.
Ақпараттар Reverse Engineering және Деректерді талдау арқылы архивтеу және тарихи деректермен өзара әрекеттесу мақсатында жиналған.
Патенттелген немесе құпия спецификациялар қолданылған жоқ.
Ойын қазіргі уақытта gog.com сайтында жүктеп алу үшін сатып алынуы мүмкін.
Томдар - бұл ойын үшін деректер контейнері, мысалы, Tarball сияқты архив форматына ұқсас. Кем дегенде Outpost 2-де бұл формат тек файлдарды таниды - папкалар жоқ. Дегенмен, оларды сәйкес файл атаулары арқылы имитациялауға болады.
Том томның тақырыбынан және нақты файлдарға сәйкес бірнеше том блоктарынан тұрады.
"Томдар" - ойын каталогындағы 'vol'
кеңейтімі бар файлдар.
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | символ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 4f | 4c | 20 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | O | L | . | . | . | . | . | . | . | . | . | . | . | . |
Орталық | Деректер түрі | Атауы | Түсініктеме |
---|---|---|---|
0x0000 | uint(32) | Сиқырлы байттар | |
0x0004 | uint(24) | Блок ұзындығы | |
0x0007 | uint(8) | Тулар |
Көлем тақырыбы
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | символ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 68 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | h | . | . | . | . | . | . | . | . | . | . | . | . |
Орталық | Деректер түрі | Атауы | Түсініктеме |
---|---|---|---|
0x0000 | uint(32) | Сиқырлы байттар | |
0x0004 | uint(24) | Блок ұзындығы | |
0x0007 | uint(8) | Тулар |
Көлемдік тақырып (Volume Header) ешқандай пайдалы деректерді қамтымайды.
Ол тек контейнер ретінде қызмет етеді.
Көлемдік тақырыпта бірінші деректер ретінде көлемдік жолдар (Volume Strings) болуы тиіс; одан кейін көлемдік ақпараттар келеді.
Көлемдік жолдар
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | символ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
Орталық | Деректер түрі | Атауы | Түсініктеме |
---|---|---|---|
0x0000 | uint(32) | Сиқырлы байттар | |
0x0004 | uint(24) | Блок ұзындығы | |
0x0007 | uint(8) | Тулар |
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | символ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 73 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | s | . | . | . | . | . | . | . | . | . | . | . | . |
Орталық | Деректер түрі | Атауы | Түсініктеме |
---|---|---|---|
0x0000 | uint(32) | Сиқырлы байттар | |
0x0004 | uint(24) | Блок ұзындығы | |
0x0007 | uint(8) | Тулар | |
0x0008 | uint(32) | Payload ұзындығы | Келесі деректердің қанша байты нақты пайдалы деректер екенін көрсетіңіз. Көлемдік жолдар тізімінің қалған деректері, айқын түрде, қоқыс ретінде қарастырылуы керек. Кейінгі даталы файлдарда бұл 'қалған деректер' 0x00, яғни ойынның дамуында құралдар тізбегінің жетіспеушіліктерін көрсетуі мүмкін, яғни, бағдарламашының буферлердің дұрыс инициализациясы туралы өте кеш ойластырғанын білдіреді, өйткені деректердің инициализациялануы ойынға әсер етпейді. |
0x000c | uint(8)[] | Файл атауларының тізімі | Бұл 0-байтпен аяқталатын файл атауларының тізімі, ол - кем дегенде, берілген деректер құрамында - тек ASCII символдарын күтеді. Деректерді талдау кезінде бұл деректер блогын тереңірек бағалау қажет емес, себебі том туралы ақпаратта файл атауларының офсеттері тікелей сілтеме жасалады. |
Көлемдік жолдар - бұл көлемнің ішінде орналасқан файл атауларының тізімі.
Көлем Ақпараты
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | символ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
Орталық | Деректер түрі | Атауы | Түсініктеме |
---|---|---|---|
0x0000 | uint(32) | Сиқырлы байттар | |
0x0004 | uint(24) | Блок ұзындығы | |
0x0007 | uint(8) | Тулар |
Көлем туралы ақпарат файлдар туралы егжей-тегжейлі ақпаратты қамтиды. Бұл белгілі бір мағынада FAT каталогының жазбасы сияқты (FAT = Файлды бөлу кестесі).
Файлдар саны блок өлшемін каталог жазбаларының ұзындығына - 14 байтқа бөлу арқылы анықталады.
Әрбір каталог жазбасының келесі құрылымы бар:
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | символ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Орталық | Деректер түрі | Атауы | Түсініктеме |
---|---|---|---|
0x0000 | uint(32) | Файл атауы-орны | Файл атаулары тізіміндегі (Volume-Strings) файл атауының қай офсеттің (!) ішінде орналасқанын көрсетеді. Бұл пайдаланушы деректер блогының басына сілтеме жасайды. |
0x0004 | uint(32) | Файлдың офсеті | Файлдың жалпы көлемдік файл ішіндегі қай жерде орналасқанын көрсетеді. |
0x0008 | uint(32) | Файл өлшемі | Файлдың өлшемін байтпен көрсетіңіз. |
0x000c | uint(16) | Туылар ма? | Файл кодтау туралы қосымша ақпарат береді.
|
Көлем блогы
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | символ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 42 | 4c | 48 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | B | L | H | . | . | . | . | . | . | . | . | . | . | . | . |
Орталық | Деректер түрі | Атауы | Түсініктеме |
---|---|---|---|
0x0000 | uint(32) | Сиқырлы байттар | |
0x0004 | uint(24) | Блок ұзындығы | |
0x0007 | uint(8) | Тулар |
Көлемдік блок - бұл файлдарды сақтайтын контейнер. Ол тек блок форматының арқасында файлдың өлшемін қайталайды және содан кейін тікелей пайдаланушы мәліметтері келе жатыр.