មេឌៀ · 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 ទ្រង់ទ្រាយនេះគ្រាន់តែស្គាល់ថា ជាឯកសារ - គ្មានថតឯកសារ។ អាចមានការសម្តែងថា អាចប្រែប្រួលឯកសារ ដោយប្រើឈ្មោះឯកសារដែលសមស្រប។

វ៉ូល្យូម ត្រូវបានកំណត់ពី Volume-Header និងវ៉ូល្យូមប្លុកច្រើនដែលត correspond នឹងឯកសារពិតប្រាកដ។

"វ៉ូល្យូម" គឺជាឯកសារដែលមានបញ្ចប់ 'vol' នៅក្នុងថតហ្គេម។

អាសយដ្ឋាន 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) ទង់ជាតិ

ក្បាលបរិមាណ

អាសយដ្ឋាន 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 Header គួរត្រូវមាន Volume Strings; បន្ទាប់មកគឺជាព័ត៌មាន Volume។

ខ្សែភាពយន្តបរិមាណ

អាសយដ្ឋាន 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) ទង់ជាតិ
អាសយដ្ឋាន 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

បង្ហាញពីចំនួន ប៉ាយត៍ ដែលជាដាតា ការប្រើប្រាស់ពិតប្រាកដនៅក្នុងទិន្នន័យខាងក្រោម។

ទិន្នន័យដែលនៅសល់ ក្នុងបញ្ជី Volume-Strings គឺច្បាស់ថាត្រូវបានគិតថា ជា កកិត

នៅក្នុងឯកសារដែលមានកាលបរិច្ឆេទក្រោយទៀតទិន្នន័យ 'នៅសល់' នេះគឺ 0x00 ដែលអាចបង្ហាញពីកំហុសនៅក្នុង Toolchain ខណៈពេលកំពុងអភិវឌ្ឍន៍ហ្គេម។ នេះមានន័យថា អ្នកអភិវឌ្ឍន៍បានយកចិត្តទុកដាក់ក្នុងការកំណត់អារម្មណ៍សម្រាប់ប៊ូហ្វឺរ តែយឺតពេក ដោយសារតែវាគ្មានឥទ្ធិពលលើហ្គេមថាតើទិន្នន័យបានកំណត់អារម្មណ៍ឬអត់។

0x000c uint(8)[] បញ្ជីឈ្មោះឯកសារ

នេះ​គឺ​ជា​បញ្ជី​នៃ​ឈ្មោះ​ឯកសារ​ដែល​មាន​តម្លៃ​ជា 0-Byte-terminated ដែល​គ្រាន់តែ​ការ​មើល​ឃើញ​តាម​ព័ត៌មាន​ទិន្នន័យ​បច្ចុប្បន្ន - យ៉ាងហោចណាស់​គឺ​អាចទទួលបាន​តែ​តួអក្សរ ASCII។

មិនចាំបាច់​មាន​តម្លៃ​កំណត់​តាម​ព័ត៌មាន​ទិន្នន័យ​នេះ​ពហុ​បច្ចុប្បន្ន​បន្ថែមទេ ពីព្រោះ​ក្នុងព័ត៌មាន​អង្គចងក្រង​គឺ​ត្រូវបានយោងដល់ Offsets របស់​ឈ្មោះ​ឯកសារប្រញាប់។

Volume Strings គឺជាបញ្ជីនៃឈ្មោះឯកសារ ដែលមានក្នុង volume នេះ។

ព័ត៌មានចំនួន

អាសយដ្ឋាន 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 = តារាងចំណាត់ថ្នាក់ឯកសារ)។

ចំនួនឯកសារនឹងត្រូវបានគណនាដោយការបែងចែកទំហំប្លុកដោយប្រវែងនៃការចុះបញ្ជី - ១៤ បាយ។

ការចុះបញ្ជីនីមួយៗមានសំណុំពីរបៀបដូចតទៅ៖

អាសយដ្ឋាន 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 មើលទៅតែងតែត្រូវបានកំណត់។

ប្លុកសមាសភាព

អាសយដ្ឋាន 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) ទង់ជាតិ

ប្លុកប៉ុស្តិ៍មួយគឺជាកុងតែន័រ ដែលទទួលឯកសារ។ វាបានរួមបញ្ចូលទំហំឯកសារម្តងទៀត - ដោយសារតែកម្មវិធីប្លុក - យ៉ាងច្រើន ហើយបន្ទាប់មក នឹងមានទិន្នន័យប្រើប្រាស់ភ្លាមៗ។