Jump to content

Where Can I Start Learning Reverse Engineering Game File Formats?


Zyxell

Recommended Posts

Hello everyone. I would like to know where can I start when it comes to reverse engineering game file formats? I'd like to learn the process along with making tools to view a game's file formats and the contents of it (Viewing models, textures and animations). What can you suggest from tips/advice to someone and to those who are completely new to this? What should they be expecting when it comes to getting into it? What do they need to learn from content when diving into it?  Any suggestions, tips and advice is welcome (this includes programming languages, Hex editors that are needed to get into reversing, etc)

Link to comment
Share on other sites

Well, I mostly use simple WinHex as a hex editor. Language, essentially is any. The most obvious is python for Noesis and Blender, Maxsript for 3ds Max.
I would advise taking any ready script, add debugging information outputs there (data, offsets, etc.) and running it on the model. Then open this same model in a hex editor and compare what you see with the information from the script. Large arrays of similar data (vertices, polygons, etc.) are usually clearly visible. But then shamanism begins with the search for patterns and so on. You also need to read about structure of data and its writing to a file (on a PC, as a rule, they are written in reverse order - with the most significant bytes back, 0x1234 will be written as 34 12, the difference between signed and unsigned, etc.). Well, keep in mind that shortened notations are often used, for example, vertex coordinates are often encoded not as 3 float (12 bytes), but as 3 short (6 bytes) with further scaling.
There are a lot of nuances, but it's quite interesting 😉

  • Like 1
Link to comment
Share on other sites

On 11/7/2023 at 7:11 AM, Zyxell said:

where can I start when it comes to reverse engineering game file formats?

You can start here https://reshax.com/topic/47-reverse-engineering-tutorials-collection/

On 11/7/2023 at 7:11 AM, Zyxell said:

What can you suggest from tips/advice to someone and to those who are completely new to this?

Never give up 😉
 

On 11/7/2023 at 7:11 AM, Zyxell said:

What should they be expecting when it comes to getting into it?

A lot of hard work and the satisfaction at the end of the process.

 

On 11/7/2023 at 7:11 AM, Zyxell said:

What do they need to learn from content when diving into it?

That depends on what you want to learn.

 

On 11/7/2023 at 7:11 AM, Zyxell said:

(this includes programming languages, Hex editors that are needed to get into reversing, etc)

My personal favourites are Python 3 and Mexscript.
See this for some examples https://github.com/bartlomiejduda/Tools

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

  • 2 months later...

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...