A Heros Call audiogame adventure.dat archive

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
theblindgamer50
Posts: 7
Joined: Tue May 17, 2022 2:12 pm

A Heros Call audiogame adventure.dat archive

Post by theblindgamer50 »

hello everyone
I was wondering if someone could help me in extracting this file for this game called a heros call?
tried doing it myself but couldn't get anywhere with it, could not find any offsets or anything like that
here is the link to the game: http://files.OutOfSightGames.com/files/a-heros-call.zip
thanks and regards
Last edited by theblindgamer50 on Tue May 31, 2022 3:02 pm, edited 1 time in total.
theblindgamer50
Posts: 7
Joined: Tue May 17, 2022 2:12 pm

Re: help extracting this dat file

Post by theblindgamer50 »

I am still hoping someone will be able to help me extract this file: I will give some info about it below
the dat file is a custom format, but I don't think it is encrypted
it also has a directory tree for the files: I dumped the games exe here are some of them below
Data for RPG\Adventures\A Heros Call\FMOD Studio\Banks\Desktop\Combat.bank
Data for RPG\Adventures\A Heros Call\Menus\add level menu.txt
data for rpg\adventures\a heros call\typescript\compiled\units\npcs\titus adrianus.js
that is just a couple of them: their are a lot more though but I will not post all of them here
hope someone can help me with this: I will attach the string dump from the games exe here so someone can look at it: edit, I just realized that the max file size is 5MB so I can't attach the file: someone will have to download the game from post 1 and have a look
theblindgamer50
Posts: 7
Joined: Tue May 17, 2022 2:12 pm

Re: help extracting this dat file

Post by theblindgamer50 »

well, I am still wondering if someone will look at this topic: I came here hoping someone would be able to help me with some of my random game archive questions and perhaps decryption of them as well: I know their are a lot of active topics on here every day, but I am hoping someone will one day take a look at this topic and help me with this
barncastle
Posts: 1
Joined: Wed May 25, 2022 2:19 pm

Re: A Heros Call audiogame adventure.dat archive

Post by barncastle »

I had a quick look at this and the file has a basic cipher applied to it. Each byte needs to be processed with the following:

Code: Select all

x = ((x - 58) ^ 0xFF)


The file starts with a table of contents structure which consists of a int32 length followed by a string of said length. This string is a list of newline terminated filenames and lengths in an alternating pattern e.g. "FILE1_NAME\r\nFILE1_LENGTH\r\nFILE2_NAME\r\nFILE2_LENGTH\r\n", which documents every file in the archive. The remaining data is the files themselves, which are in the same order as documented by the SubFileInfo string.

Code: Select all

struct TableOfContents 
{
   int Length;
   char SubFileInfo[Length];
}
 
byte Data[x]; // to end of file


Here is some example C# code and an application that extracts the archive.
theblindgamer50
Posts: 7
Joined: Tue May 17, 2022 2:12 pm

Re: A Heros Call audiogame adventure.dat archive

Post by theblindgamer50 »

@post 4 thank you! now I am trying to get the game to run with the decompiled adventure, but I don't know why it is not working, thaught it would baste on what the game loads from the Data for RPG folder
when I try to run the game after I have renamed the adventure.dat file so the game doesn't load it, I am getting an error that says: The TypeScript compiler failed to run. System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at Ian.GHM.StartProcess(IHaveGameLoopState ent, String path, String args, Boolean redirectOutputAndError) in C:\Data\Recent\Games\GameEngine\GameHelperMethods.cs:line 66
at Ian.TypeScriptCompiler`1.PerformFinalCompile(IHaveGameLoopState ent, TypeScriptCompilationArgs args, String referencesPath) in C:\Data\Recent\Games\FirstPerson\TypeScriptCompiler.cs:line 291
at Ian.TypeScriptCompiler`1.CompileTypeScript(TypeScriptCompilationArgs args) in C:\Data\Recent\Games\FirstPerson\TypeScriptCompiler.cs:line 51; Error in script.
Calling script: start_game();
Filename:
Line: 1
Column: 0, 1
ReferenceError: start_game is not defined
I don't know why this is happening, was wondering if you could look into that: was planning on changeing some things in the game and then running it with the changes applied
thanks and regards@post 4 thank you! now I am trying to get the game to run with the decompiled adventure, but I don't know why it is not working, thaught it would baste on what the game loads from the Data for RPG folder
when I try to run the game after I have renamed the adventure.dat file so the game doesn't load it, I am getting an error that says: The TypeScript compiler failed to run. System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at Ian.GHM.StartProcess(IHaveGameLoopState ent, String path, String args, Boolean redirectOutputAndError) in C:\Data\Recent\Games\GameEngine\GameHelperMethods.cs:line 66
at Ian.TypeScriptCompiler`1.PerformFinalCompile(IHaveGameLoopState ent, TypeScriptCompilationArgs args, String referencesPath) in C:\Data\Recent\Games\FirstPerson\TypeScriptCompiler.cs:line 291
at Ian.TypeScriptCompiler`1.CompileTypeScript(TypeScriptCompilationArgs args) in C:\Data\Recent\Games\FirstPerson\TypeScriptCompiler.cs:line 51; Error in script.
Calling script: start_game();
Filename:
Line: 1
Column: 0, 1
ReferenceError: start_game is not defined
I don't know why this is happening, was wondering if you could look into that: was planning on changeing some things in the game and then running it with the changes applied
thanks and regards