Bobblox21 Posted January 3 Posted January 3 There's this archive made with an open-source game engine called Hatch from Github which uses OpenMania (Sonic Mania mod stuff e.t.c) source code and i can't get to open it using RetroED nor extracting it using RSDK_v5 extracting tools cause it uses the "HATCH" header instead of "RSDK" Sample file: Data.hatch is there a way to decompress these files for dumping the resources like (image, sprites, sound and models e.t.c) cause i found some references here: https://github.com/Axanery/HatchGameEngine https://github.com/Axanery/OpenMania ย
Moderators ikskoks Posted January 3 Moderators Posted January 3 Hi. File format looks like this: ย // header 5 bytes (char) - signature // "HATCH" 3 bytes - version // 01 00 00 // index 2 bytes (uint16) - file count // for each file 4 bytes (uint32) - filename CRC32 8 bytes (uint64) - file offset 8 bytes (uint64) - file uncompressed size 4 bytes (uint32) - data flag // 2 - encrypted, 0 - not encrypted 8 bytes (uint64) - file compressed size // data // for each file x bytes - file data And here's a script to dump and decompress file data. https://github.com/bartlomiejduda/Tools/blob/master/NEW Tools/Hatch Engine/Hatch_Engine_HATCH_script.bms ย Unfortunately all files with dataFlag=2 are encrypted. If I understand engine's source code corretly, you need original filenames and original file sizes to properly decrypt data. Here's the algorithm to decrypt: https://github.com/Axanery/HatchGameEngine/blob/master/source/Engine/ResourceTypes/ResourceManager.cpp#L172-L232 You can probably hook the game with Frida to get the filenames. 2
Moderators ikskoks Posted January 4 Moderators Posted January 4 Luckily this "Sonic Galactic" game had debug symbols in "demo 2" release ๐ย So it was very easy to create frida hook https://github.com/bartlomiejduda/Tools/blob/master/NEW Tools/Hatch Engine/hatch_engine_frida_script.js And I have 574 filenames already: ย sonic_galactic_filenames_FINAL.zip 2
Moderators ikskoks Posted January 4 Moderators Posted January 4 It's possible to get some assets after making use of the filenames I shared above: ย Here's my implementation of the decryption algorithm: https://github.com/bartlomiejduda/ReverseBox/blob/main/reversebox/encryption/encryption_hatch_engine.py I'm also working on a extractor for this game, but I'll share it when it will be more user friendly ๐ย 1
Moderators ikskoks Posted January 5 Moderators Posted January 5 Currently 1394 filenames are known 2025-01-05 01:41:02 - __main__ - line 109 - INFO - ####### SUMMARY ####### 2025-01-05 01:41:02 - __main__ - line 112 - INFO - Known filenames: 1394 (61.76%) 2025-01-05 01:41:02 - __main__ - line 113 - INFO - Unknown filenames: 863 (38.24%) 2025-01-05 01:41:02 - __main__ - line 114 - INFO - All filenames: 2257 Full list available here: https://github.com/bartlomiejduda/Tools/blob/master/NEW Tools/Hatch Engine/Hatch Engine Archive Tool/filelists/sonic_galactic_demo2_filenames.txt 1
Moderators Solution ikskoks Posted January 5 Moderators Solution Posted January 5 Extractor for data.hatch archive is available here: https://github.com/bartlomiejduda/Tools/tree/master/NEW Tools/Hatch Engine/Hatch Engine Archive Tool ย 1
Moderators ikskoks Posted January 5 Moderators Posted January 5 Thanks to anonymous user we have now over 90% of the filenames. ๐ย ย 2025-01-05 21:17:54 - __main__ - line 109 - INFO - ####### SUMMARY ####### 2025-01-05 21:17:54 - __main__ - line 112 - INFO - Known filenames: 2039 (90.34%) 2025-01-05 21:17:54 - __main__ - line 113 - INFO - Unknown filenames: 218 (9.66%) 2025-01-05 21:17:54 - __main__ - line 114 - INFO - All filenames: 2257 ย 1
Moderators ikskoks Posted January 20 Moderators Posted January 20 1 hour ago, Kubatao said: Can you get the scripts? ย What scripts? What do you mean? 1
Kubatao Posted January 20 Posted January 20 (edited) Can you get the .hsl files? exemple Stage/2_CGZ/Enemies/Crab/CGZCrabCutscene2Spawn.hsl Stage/2_CGZ/Enemies/Crab/CrabBoss.hsl Stage/2_CGZ/Enemies/Crab/CrabDespawner.hsl Stage/2_CGZ/Enemies/Crab/CrabDestroyRect.hsl ย Edited January 20 by Kubatao
Moderators ikskoks Posted January 20 Moderators Posted January 20 Tool I shared above can decrypt and extract ALL files from the archive, but some filenames are still unknown, so you'll get names like "file123.bin" instead of "CrabBoss.hsl" You could search for them in "Unknown_Files" directory.
Kubatao Posted January 20 Posted January 20 I don't know how to use this tool, can you share everything you manage to extract? ย
Moderators ikskoks Posted January 20 Moderators Posted January 20 24 minutes ago, Kubatao said: can you share everything you manage to extract? No. ย 24 minutes ago, Kubatao said: I don't know how to use this tool Please read readme file. Example usage is shown there.
KrisAnimations Posted July 27 Posted July 27 On 1/4/2025 at 8:02 PM, ikskoks said: It's possible to get some assets after making use of the filenames I shared above: ย Here's my implementation of the decryption algorithm: https://github.com/bartlomiejduda/ReverseBox/blob/main/reversebox/encryption/encryption_hatch_engine.py I'm also working on a extractor for this game, but I'll share it when it will be more user friendly ๐ย I couldn't find any of the files over here, any luck or on how I can extract them?
Moderators ikskoks Posted July 27 Moderators Posted July 27 1 hour ago, KrisAnimations said: I couldn't find any of the files over here, any luck or on how I can extract them? Hi. You just have to use tool I shared in one of the previous post https://github.com/bartlomiejduda/Tools/tree/master/NEW Tools/Hatch Engine/Hatch Engine Archive Tool ย It's a Python program, so you need to follow these steps: 1. Install Python 3.11ย https://www.python.org/downloads/release/python-3119/ 2. Install all requirements using pip ย pip install -r requirements.txt 3. Run the tool as explained in readme file.
KrisAnimations Posted July 27 Posted July 27 (edited) It doesn't find the fileย Data.hatch doesn't exists for me I cannot find the fileย SonicGalactic\Data.hatch and it says "aster\\Tools-master\\hatch_engine_archive_tool.py': [Errno 2] No such file or directory PS C:\Users\depre\Downloads\Tools-master\Tools-master>" if I try to locate it with shift and right click to the python cmd but the logs says "2025-07-27 23:50:29 - __main__ - line 34 - INFO - Starting export data... 2025-07-27 23:50:29 - reversebox.io_files.file_handler - line 114 - ERROR - Can't read from this file! 2025-07-27 23:50:35 - __main__ - line 34 - INFO - Starting export data... 2025-07-27 23:50:35 - reversebox.io_files.file_handler - line 114 - ERROR - Can't read from this file! 2025-07-27 23:51:56 - __main__ - line 34 - INFO - Starting export data... 2025-07-27 23:51:56 - reversebox.io_files.file_handler - line 114 - ERROR - Can't read from this file! 2025-07-27 23:52:01 - __main__ - line 34 - INFO - Starting export data... 2025-07-27 23:52:01 - reversebox.io_files.file_handler - line 114 - ERROR - Can't read from this file!" Edited July 27 by KrisAnimations
Moderators ikskoks Posted July 27 Moderators Posted July 27 You need to put valid paths for the tool to work. Also if you have any spaces in your paths, you have to put double quotes around them.
KrisAnimations Posted July 27 Posted July 27 (edited) 19 minutes ago, ikskoks said: You need to put valid paths for the tool to work. Also if you have any spaces in your paths, you have to put double quotes around them. I did copied what was putted I am unsure if there are spaces.. the app hatch engine archive tool is closing itself when open ย Edited July 27 by KrisAnimations
Moderators ikskoks Posted July 27 Moderators Posted July 27 Please read or watch some tutorials on how to run command line programsย https://www.google.com/search?q=how+to+run+command+line+program or how to run python scripts with argumentsย https://www.google.com/search?q=how+to+run+python+script+with+arguments It is a simple python script. Running this in cmd is pretty standard action.
KrisAnimations Posted July 27 Posted July 27 (edited) 9 minutes ago, ikskoks said: Please read or watch some tutorials on how to run command line programsย https://www.google.com/search?q=how+to+run+command+line+program or how to run python scripts with argumentsย https://www.google.com/search?q=how+to+run+python+script+with+arguments It is a simple python script. Running this in cmd is pretty standard action. 8 hours ago, ikskoks said: Hi. You just have to use tool I shared in one of the previous post https://github.com/bartlomiejduda/Tools/tree/master/NEW Tools/Hatch Engine/Hatch Engine Archive Tool ย It's a Python program, so you need to follow these steps: 1. Install Python 3.11ย https://www.python.org/downloads/release/python-3119/ 2. Install all requirements using pip ย pip install -r requirements.txt 3. Run the tool as explained in readme file. The tool requires a valid .hatch file (e.g., Data.hatch), and that file is missing. The error is not about spaces or command line formatting itโs simply that the file doesnโt exist of what I downloaded from the links ya send The script expects Data.hatch but itโs not included in the demo download. Where can I get that file or what file am I supposed to use as input to -e? This is the only way forward, unless the .hatch file is packed under another name ? and theย hatch_engine_archive_tool is closing when opened as I showed the logs it says "2025-07-27 23:50:29 - __main__ - line 34 - INFO - Starting export data... 2025-07-27 23:50:29 - reversebox.io_files.file_handler - line 114 - ERROR - Can't read from this file! 2025-07-27 23:50:35 - __main__ - line 34 - INFO - Starting export data... 2025-07-27 23:50:35 - reversebox.io_files.file_handler - line 114 - ERROR - Can't read from this file! 2025-07-27 23:51:56 - __main__ - line 34 - INFO - Starting export data... 2025-07-27 23:51:56 - reversebox.io_files.file_handler - line 114 - ERROR - Can't read from this file! 2025-07-27 23:52:01 - __main__ - line 34 - INFO - Starting export data... 2025-07-27 23:52:01 - reversebox.io_files.file_handler - line 114 - ERROR - Can't read from this file!" this simply when the file is opened Edited July 27 by KrisAnimations
Moderators ikskoks Posted July 27 Moderators Posted July 27 WHAT ๐ย So why did you even ask in the thread about hatch file if you don't have hatch file? ๐๐ย This topic is about Sonic Galactic, so you have to download Sonic Galactic first to even see the hatch file, I thought it was abvious. Here is the link -->ย https://sonicgalactic.github.io/download.html You need to download the game and hatch file will be located in the archive. Just unpack it wherever you like๐ย I literally don't know how to help more with this...
KrisAnimations Posted July 27 Posted July 27 (edited) 4 minutes ago, ikskoks said: WHAT ๐ย So why did you even ask in the thread about hatch file if you don't have hatch file? ๐๐ย This topic is about Sonic Galactic, so you have to download Sonic Galactic first to even see the hatch file, I thought it was abvious. Here is the link -->ย https://sonicgalactic.github.io/download.html You need to download the game and hatch file will be located in the archive. Just unpack it wherever you like๐ย I literally don't know how to help more with this... ๐๐ that's on me then I am sorry hahaha however I still cannot open the hatch files that's the issue? Edited July 27 by KrisAnimations
KrisAnimations Posted July 27 Posted July 27 11 minutes ago, ikskoks said: WHAT ๐ย So why did you even ask in the thread about hatch file if you don't have hatch file? ๐๐ย This topic is about Sonic Galactic, so you have to download Sonic Galactic first to even see the hatch file, I thought it was abvious. Here is the link -->ย https://sonicgalactic.github.io/download.html You need to download the game and hatch file will be located in the archive. Just unpack it wherever you like๐ย I literally don't know how to help more with this... I did it ! never mind thank you so much ! everything is extractingย 1
Moderators ikskoks Posted July 28 Moderators Posted July 28 FYI - I've added error handling in the newest version https://github.com/bartlomiejduda/Tools/commit/d55e2d040ac4562b339f47c147a9cd3c5d65b5a4 So you should get nice error message now if something is wrong with a path to the hatch file: ย Invalid HATCH file path provided! Exiting! ย
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now