Томдар · bei.pm

Жарияланған күні 19.11.2015·Жаңартылған күні 13.02.2025·Қазақ тілі
Бұл мәтін OpenAI GPT-4o Mini арқылы автоматты түрде аударылды.

Осы бетте сипатталған файл форматтары 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) Туылар ма?

Файл кодтау туралы қосымша ақпарат береді.

  • 0x03 файл сжатылған кезде орнатылады. Мұнда, көрініп тұрғандай, Хаффман ағашы қолданылады.
  • 0x80 әрқашан орнатылған сияқты.

Көлем блогы

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) Тулар

Көлемдік блок - бұл файлдарды сақтайтын контейнер. Ол тек блок форматының арқасында файлдың өлшемін қайталайды және содан кейін тікелей пайдаланушы мәліметтері келе жатыр.