D
D
Denis Koveshnikov2016-08-20 00:46:01
DirectX
Denis Koveshnikov, 2016-08-20 00:46:01

How to analyze the structure of game files?

The task arose to try to change the appearance of the game "a century ago", written in RenderWare, but since I practice such activities for the first time, it seems to me that I can not do without parting words from experienced people. For example, I want to replace the texture of some object, how to catch the moment of its loading and intercept it and write it instead, for example, one-color to start with? And in general, you can somehow try to restore the 3D models of the game, because the vertices are always written to the buffer in the same way. Of course, I may not be expressing myself quite correctly, if anyone knows, share your experience, or indicate a worthwhile article or book, or give a vector of digging.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
K
Konstantin Stepanov, 2016-08-20
@odysset

-1) If the game is old and interesting, someone has definitely done this kind of work. We are very carefully looking for any mention of modifying game resources. The main source is fan forums and websites.
0) We are trying to find the SDK, or sources, or SDK sources, or descriptions of storage algorithms for the engine that is used. Engines usually have different generations, but even information about a different generation can be useful, because. sometimes, from generation to generation, do not change the format of storing resources.
1) Determine if the game resources are packed?
If packed:
2.1) We are looking for an unpacker. If there is, unpack and transgress to point 3.
2.2) There is no unpacker. If the game is old, then no one has used very tricky algorithms. Trying different simple algorithms like zip etc. apply on unpacking, define a dictionary, etc. As a sign of the correct movement - the appearance of meaningful structures or names after the action of the algorithm. This is already pure reverse engineering of the packing algorithm. If everything goes well, we have our own unpacker. Then point 3.
If not packed:
3.1) It is necessary to understand where which resource is, as well as which resource is stored in what format. Here again, there may be their own formats, or there may be some popular ones at the time the game was being developed.
4) A separate item is the extraction of the loaded application from the memory. Actual for textures, text data.
5) A separate item is the analysis of the application's executable file and libraries for the method of loading resources. Here it is necessary to have an understanding of the low level of work of different algorithms and knowledge of assembler. For point 2 is very helpful.
In general, if this is RenderWare, then something like this will probably do: libertycity.ru/files/gta-san-andreas/84860-renderw...

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question