Primero necesitarías conocimientos sobre el lenguaje en binario y la conversión de hexadecimal a ascii y decimal.
Una vez sepas como funcionan los números en binario tienes que averiguar que significa cada uno. La opción más facil es alterar esos valores y ver que sucede. Claro, la más facil pero también es la más pesada teniendo en cuenta que eso puede tener 500.000 bytes de información. Aunque también es cierto que cuanto das con un dato es más facil intuir lo que está cerca. Así si por ejemploal cambiar un número te cambia el número de unidades de un objeto en el inventario del personaje, podemos intuir que es la "zona" de inventario. Seguramente modificando los valores de al lado modifiquemos el número de elementos del elemento de debajo del inventario o quizás su tipo.
Hay que tener en cuenta que por ejemplo, puede que la información no venga seguida en plan cantidad1->cantidad2->cantidad3... si no que vengan en bloques de información.
Así por ejemplo en una partida guardada podemos escribir en el offset 0x00000100 la información del inventario de esta manera:
XXXX XXXX
----- -----
aaab bbbb
de forma que la a sea el identificador del objeto y la b sea la cantidad.
así
0x00000104: 10D0 015A
Significaría que en ese punto de memoria guardamos el elemento número 269 (10D es 256 en decimal), a lo mejor eso significa poción pequeña de regeneración color pistacho (eso lo deciden los programadores). y tenemos 346 unidades.
Pero claro, eso yo como programador del juego lo puedo saber porque se que información existe en esa posición de memoria, pero tú, no. Así que la única manera de saber que en este programa la dirección de memoria 0x00000104 contiene el tipo de elemento y la cantidad de elementos de la posición 3 del inventario es ir al editor, modificar los valores, cargar la partida y comprobar que ha pasado. Al ver que ahora en la posición 3 del inventario, en lugar de tener pociones pequeñas de regeneración color pistacho tienes escudos mágicos de canela enriquecida, pues sabes que el número que has modificado sirve para cambiar el tipo de elemento.
si piensas un poco y se usan 4 bytes (los 8 dígitos) para guardar la información de un elemento, es facil deducir que los 4 siguientes modificarán el elemento 4 del inventario, y los 4 subsiguientes modificarán el elemento 5... verdad? puede que no. Pruébalo y comprueba que realmente se cambia. a lo mejor en vez de ser 4 son 5 porque el 5º indica cuantos elementos de ese tipo tienes equipados o cualquier rollo. Ahora que sabemos realmente como se almacena la información, tras 3 meses de estudio, tenemos que saber que información podemos incluir. Si metemos el elemento FFF se nos borra ese espacio. Si metemos el FFE nos casca. Comprobamos que si ponemos el 000 nos salen pociones de curación. Si ponemos el 001 nos sale espada pequeña. Si ponemos 002... así hasta que te aburras. Ya tenemos el listado de objetos, ya sabemos donde hay que poner esos datos. Ya podemos crear una miniaplicación que nos cambie el inventario.
Si, es jodido, pero hay trucos. Por ejemplo, guarda dos partidas. Una con una espada equipada y otra con un hacha equipada. Ahora compara ambas partidas y mira la inforamación que cambia. Obviamente cambiará mucha información: hora de guardado, número de veces guardado, posición del personaje, variables aleatorias, etc... pero entre todo eso, estará el cambio del equipamiento,y estará también toda la información que no ha cambiado.
Todo tuyo y suerte.
En resumen, es una mierda. Puedes tirarte años para saber que significa cada cosa.