Wargame European Escalation EDAT

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Wargame European Escalation EDAT

Post by aluigi »

http://aluigi.org/papers/bms/others/wargame_edat.bms

Script for the DAT archives of the game Wargame:
http://www.wargame-rd.com/en/game-ee.html

This is the script I already made and was corrupted, so I had to make it again from scratch.
The format is really painful, it's a series of nested strings some of which instead are files.
The TGV* files are compressed with zlib without crc, you can unpack them with offzip -z -15.
AlphaTwentyThree
Posts: 909
Joined: Sat Aug 09, 2014 11:21 am

Re: Wargame European Escalation EDAT

Post by AlphaTwentyThree »

Could you add support for Wargame: AirLand Battle
Here are two samples: http://*USE_ANOTHER_FILEHOSTING*/9bf9843 ... samples.7z
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Wargame European Escalation EDAT

Post by aluigi »

Script updated to version 0.1.1.
Thanks.
raykingnihong
Posts: 71
Joined: Fri Oct 24, 2014 3:13 pm

Re: Wargame European Escalation EDAT

Post by raykingnihong »

Hi aluigi
My friend, thank you very much for the great work
AlphaTwentyThree
Posts: 909
Joined: Sat Aug 09, 2014 11:21 am

Re: Wargame European Escalation EDAT

Post by AlphaTwentyThree »

Yes indeed, thanks a lot! :)
corei5unity
Posts: 2
Joined: Sat Mar 28, 2015 1:19 pm

Re: Wargame European Escalation EDAT

Post by corei5unity »

AlphaTwentyThree wrote:Yes indeed, thanks a lot! :)

Hi can you explain how to extract models from .dat files in AirLand Battle
i try many tools no tool works reply is great
corei5unity
Posts: 2
Joined: Sat Mar 28, 2015 1:19 pm

Re: Wargame European Escalation EDAT

Post by corei5unity »

i have managed to extract some files from the game dat files but i was not able to read any of the files i did upload all sample files i have got
http://www68.zippyshare.com/v/PJvqPeQD/file.html
some one pls gave some sollution
makc_ar
Posts: 1193
Joined: Sun Aug 17, 2014 7:27 pm

Re: Wargame European Escalation EDAT

Post by makc_ar »

How about Act of War: Direct Action .dat?
Game: http://store.steampowered.com/app/2710/ ... ect_Action
Image
Archive format:

Code: Select all

+------------------+
| Act Of War *.dat |
+------------------+

// NOTES:
// The files are stored in a special way so as to reduce the amount of space
// needed to store the filenames. It does this by grouping the files together
// that share a common first-part of their name, and then building up the actual
// filename of each file by joinging a whole lot of group names together.
//
// For example, if we have 2 files called "sound11.wav" and "sound22.wav", you
// can see that they both share 5 common letters at the beginning of the filename
// (ie "sound"). This archive would have a group with the name "sound" and each
// of the 2 files would be saved with names "11.wav" and "22.wav" within that
// group, thus saving space. This space saving is only really benificial for
// storing directorie names though, as there is a lot of overhead.
//
// Groups can be nested inside each other, so there is no boundary as to the
// number of groups that can exist in a nested way.
//
// Also, filenames can be reused by using a negative number for the Group/File ID.
// In this case, take the offset just before the negative Group/File ID, subtract
// the negative number, and it will point to the filename that will be reused.

4 - Header (edat)
4 - Length of the header after the 10 nulls (18)
4 - Unknown
10 - null
2 - Unknown (1)
1 - null
4 - Directory Offset
4 - Directory Length
7 - null
X - File Data
X - Directory

// go to dirOffset

  // for each group
    4 - Group/File Indicator (0=file, #=length of this group entry, -#=offset to a previous file entry)
 
    if (group){
      4 - Length of this group, including the file entries (ie relative offset to next group) (or null)
      X - Group name (null)
      0-1 - null padding to a multiple of 2 bytes (ie only exists if groupnameLength+1 is odd)
      }
 
    else if (file){
      4 - Last File Indicator (0=last file in this group, #=length of this file entry)
      4 - File Offset
      4 - File Length
      1 - Unknown (0) // something to do with the Filename position?
      X - Filename (null)
      0-1 - null padding to a multiple of 2 bytes (ie only exists if filenameLength+2 is odd)
      }
   
    else if (previous offset (negative number)){
      4 - Last File Indicator (0=last file in this group, #=length of this file entry)
      4 - File Offset
      4 - File Length
      2 - null
      }


Example .dat (edat header): https://mega.nz/#!YTghhArK!ZZU0i6G8NEME ... VaBLBbB-3I
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Wargame European Escalation EDAT

Post by aluigi »

makc_ar
Posts: 1193
Joined: Sun Aug 17, 2014 7:27 pm

Re: Wargame European Escalation EDAT

Post by makc_ar »

Thanks a lot aluigi!