I reverse-engineered some Client parts, and the files are stored in the .pak file using a hash that seems familiar, but I can't remember where I've seen something like it before. So, I implemented the code in a C# project.
Since it's a hash, there's no way to find out the original file names. However, I can extract any of them and delete them too.
I'll leave the files I managed to extract, along with the source code and binaries of the tool I created for extracting the files, the extracted files will be on my
Google Drive for 15 days.
The code is just a draft, but it gives a good starting point for understanding how to manipulate "GameRes.pak." I can't offer any support for the code since it was just a temporary tool, but it might be useful to someone. The library was made in .NET Framework because I couldn't find a library for manipulating Berkeley databases for .NET Core.
HashCache.cs and PakManager.cs are the files with the most important implementations for the files I didn’t extract.
BTW, it seems like the client first checks for the existence of the file without pak compression before trying to access the pak. So, theoretically, it makes more sense to just extract what's necessary and maybe use the extracted files directly or compress them into .res.
Extracted Files, Source and Binaries :
Virus total scans :
Compiled files ,
Source Files