Author Topic: Reverse engineering the asset formats.  (Read 113 times)

IceReaper

  • Nameless
  • *
  • Posts: 2
  • Karma: 0
Reverse engineering the asset formats.
« on: Nov 03, 2020; 05:41 PM »
Hello Hellgate fans,

i've currently started a small project to reverse engineer all the asset formats down to its latest byte with a high focus on providing an easy assets import/export pipeline and tools for modification purpose.
For the base of this, i wrote an idx/dat unpacker and packer. They work so far and produce proper containers, however the patch files seem to be somewhat different. Their idx files contain a standard idx header, which lists 0 files. Afterwards comes a byte mess which seems to not use the same encryption or compression algorythms? Has anyone some detailed information on that topic?

The whole project will be made available open source on github as soon as the first tool (the idx/dat tool) is finished and producing proper outputs.

Kikina the templar

  • Moderator
  • Named
  • ***
  • Posts: 422
  • Karma: 10
Re: Reverse engineering the asset formats.
« Reply #1 on: Nov 03, 2020; 11:16 PM »
Unfortunately i don't know the details, but the pack/unpack problem for idx/data has already been satisfactorily resolved. If i understood everything correctly during the development of the Revival mod, at the beginning some unknown programmer created the program UnHell, thanks to which it is possible to perform unpacking, later the authors of Reanimator developed the program Hellpack (included in the package with Reanimator), which can also packing. Both work without problems and are available here on the forum. There should be links to the source code somewhere, but you have to look, there are thousands of links and i don't remember where i read what.
The only one who can say anything more about that today is Malachor (sometimes he still appears here) or Maeyan. You could try to address him on the Discord 2038, but try a more private question, because certain moderators constantly point out that their discord channels is only for London 2038.  :(
If you are really skilled in reverse engineering and you are dedicated to Reanimator, Revival players would certainly be grateful if you could solve one age-old problem for them. It would be necessary to cut out the "trade items in cube" function from the old version of Reanimator, modify it only for copying the contents of the cube (when deleting things in cube, the gamesave can be damaged) and make it like a separate program or part of the Revival loader. I would like to explain the details to anyone who would like to do the matter.

IceReaper

  • Nameless
  • *
  • Posts: 2
  • Karma: 0
Re: Reverse engineering the asset formats.
« Reply #2 on: Nov 04, 2020; 07:19 AM »
Okay, after starting the games once, it seems the idx files got changed and are properly loadable. Quite interesting fact. I think i can live with the fact that its required to start the game once after patching before being able to parse those idx files. But if anyone has any information about this procedure, i would love to implement parsing them in its original state too :)

Oh and thanks for pointing out the existing tools :) I checked all their sources, sadly they are all incomplete and i personally wonder the game loads their archives up properly, as a significant part on the hashing is missing. Maybe this part is usefull for a patcher only anway. As im nearly complete with the dat/idx part (i want to create binary identical containers) ill post a link to the source here in the next days.
« Last Edit: Nov 04, 2020; 03:18 PM by IceReaper »