Kutaalee · bei.pm

Bara 2015, 19 / 11 irratti maxxanfame.·Haaromsaa 13.02.2025 irratti.·Oromo
Barruun kun si'achi OpenAI GPT-4o Mini'n akkaataa ofii isaatiin hiikame.

Formatota faayilii irratti ibsame kun, qorannaa tekinikaatiin kan hundaa'e gurguddaa Dynamix, Inc. fi Sierra Entertainment irratti hundaa'e.
Qabeenyi yaadaa har'a Activision Publishing, Inc. / Activision Blizzard, Inc. keessatti argama fi amma Microsoft Corp. tiin qabamee jira.

Informationni kun Reverse Engineering fi Datenanalyse fayyadamuudhaan, kuusaa fi waliigaltee seenaa waliin taasisuuf qophaa’e.
Specifikeshinota eenyummaa ykn dhoksaa hin fayyadaman.

Game'n amma gog.com irraa buufachuuf gurgurtaa irratti argamuu danda’a.

Volumiiwwan kunniin saanduqa odeeffannoo ta'ee taphichaaf kan oolu, akkasumas faayilaalee akka tarball fakkaatan. Yeroo tokko tokko Outpost 2 keessatti foormaatin kun faayilaalee qofa beekama - folderootas hin beekne. Waliigalatti, faayiloota sirrii maqaa faayilaaleen simaluun danda'ama.

Volume tokko header volume irraa fi blockota volume hedduu irraa kan ijaarame, kanneen faayilaalee dhugaa ta'an.

"Volumes" faayilaalee xumurawwan 'vol' qabaniidha kan taphichatti argaman.

Akkatti x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF char
0x0000 56 4f 4c 20 -- -- -- -- -- -- -- -- -- -- -- -- V O L . . . . . . . . . . . .
Fageenya Gosa Odeeffannoo Maqaa Ibsa
0x0000 uint(32) Maagii Baayitii
0x0004 uint(24) Haguuge- dheerina
0x0007 uint(8) Bannaan

Gulaala Guddinaa

Akkatti x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF char
0x0000 76 6f 6c 68 -- -- -- -- -- -- -- -- -- -- -- -- v o l h . . . . . . . . . . . .
Fageenya Gosa Odeeffannoo Maqaa Ibsa
0x0000 uint(32) Maagii Baayitii
0x0004 uint(24) Haguuge- dheerina
0x0007 uint(8) Bannaan

Haala Qindaa'aa Volume keessatti odeeffannoo fayyadamu hin qabu.
Isaan kun qofa iddoo kuusaa dha.

Odeeffannoo jalqabaa Volume keessatti Strings Volume argamuu qabu; itti aansee odeeffannoo Volume ni dhufaa.

Qindaa'ina Guddinaa

Akkatti x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF char
0x0000 76 6f 6c 69 -- -- -- -- -- -- -- -- -- -- -- -- v o l i . . . . . . . . . . . .
Fageenya Gosa Odeeffannoo Maqaa Ibsa
0x0000 uint(32) Maagii Baayitii
0x0004 uint(24) Haguuge- dheerina
0x0007 uint(8) Bannaan
Akkatti x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF char
0x0000 76 6f 6c 73 -- -- -- -- -- -- -- -- -- -- -- -- v o l s . . . . . . . . . . . .
Fageenya Gosa Odeeffannoo Maqaa Ibsa
0x0000 uint(32) Maagii Baayitii
0x0004 uint(24) Haguuge- dheerina
0x0007 uint(8) Bannaan
0x0008 uint(32) Baay'ina Payload

Gara gatiin bytes maaliif data armaan gadii dhugumaan faayidaa ta'e ibsa.

Data hafe, kan tarree Volume-Strings keessaa, akka garbage ilaalamuun mul'ata.

Faayiloota guyyaa booda, 'data hafe' 0x00 dha, kun ammoo rakkoo toolchain yeroo gosa ittiin taphatamu qopheessuu keessatti mul'achuu danda'a, jechuunis, deeggaraa sirrii ta'e buffer jalqabaa irratti hojjechuu irratti gaafa dhumaatti bifa sirrii ta'ee hin argamne, sababiin isaas, data jalqabuu ykn hin jalqabne taphichatti hin miidhu.

0x000c uint(8)[] Tarree Maqaan Faayiloota

Kuni tarree maqaa faayilii 0-byte dhaabbata kan ta'e, kan - yeroo kamiinuu data kana keessatti - mallattoo ASCII qofa eeggatu agarsiisa.

Data kana sakatta'uun yeroo data kana sirnaan qorachuu hin barbaachisu, sababiin isaas odeeffannoo voluume keessatti iddoo maqaa faayilii sirnaan ibsamuuf qofa walitti dhufeenya qabu.

Volume Strings jechuun tarree maqaa faayiloota keessatti argamaniidha.

Oduu Walitti Fufiinsa

Akkatti x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF char
0x0000 76 6f 6c 69 -- -- -- -- -- -- -- -- -- -- -- -- v o l i . . . . . . . . . . . .
Fageenya Gosa Odeeffannoo Maqaa Ibsa
0x0000 uint(32) Maagii Baayitii
0x0004 uint(24) Haguuge- dheerina
0x0007 uint(8) Bannaan

Informationoonni voluumiin odeeffannoo bal'aa fayiloota irratti qabu. Kuni garaagarummaa akkuma FAT galmee galmeewwan (FAT = File Allocation Table) itti fufee jira.

Baay'ina fayiloota isa argamuun, bloqqii gatii guutuu hirmaachuudhaan galmeewwan dheerina - 14 Byte.

Galmee galmeewwan tokko tokkoon akkana haan haala qabu:

Akkatti x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF char
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Fageenya Gosa Odeeffannoo Maqaa Ibsa
0x0000 uint(32) Maqaa Faayilii-Offset

Ibsa, yeroo kam keessa (Offset) tarree maqaa faayila keessatti maqaan faayila argamu.

Kun ammoo jalqaba balaa ittiin fayyadamuu ibsa.

0x0004 uint(32) Faayilii-Offset

Beeksisa, bakka bakka bu'aa guutuu faayilii voliyuumi keessa faayiliin argamu agarsiisa.

0x0008 uint(32) Gara gatii faayila

Fayilichi baay'ee akka Byte'tti guddina isaa agarsiisa.

0x000c uint(16) Bandeeraa?

Osoo hin mul'atin, odeeffannoo dabalataa faayilii koodii irratti ni kenna.

  • 0x03 yoo faayiliin komprimiidha ta'e ni qophaa'a. As keessatti, baay'ina Huffmann fayyadamaa jira.
  • 0x80 yeroo hundumaa qophaa'a fakkaata.

Walakkaa Qabeentaa

Akkatti x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF char
0x0000 56 42 4c 48 -- -- -- -- -- -- -- -- -- -- -- -- V B L H . . . . . . . . . . . .
Fageenya Gosa Odeeffannoo Maqaa Ibsa
0x0000 uint(32) Maagii Baayitii
0x0004 uint(24) Haguuge- dheerina
0x0007 uint(8) Bannaan

Volume-Block jechuun kontaayina tokkoo dha, kan faayiloota qabatu. Kun faayiloota gatii isaanii - akka foormaatin block-tti - yeroo lamaa of keessatti qabata akkasumas itti aansuun odeeffannoo fayyadamtootaa ni dhufa.