Introducing Reverse Engineering to new Devs

I decided to write something that can help new devs to learn how to do reverse engineering. you don't need to be a genius to do this things. sometime some things are difficult, but others not.
today you will see how easy is the reverse engineering.
I decided to do it on a iPhone game (Galaxy on Fire 2)

This is quite simple. i downloaded a savegame from my iTouch. i usually start to find easy things. in this case i started to look for where the money value is located:
As first thing, i loaded the game end i read the money that it shows:

in this case the value was $ 805.300.261. if i turn it to HEX, i'll get 0x2fffe825. now, on my dump made with hexdump (you can use a simple hex editor) it doesn't exist. Then i realized that the values were not in Big Endian, but in Little Endian, so i looked for the value 0x25e8ff2f and i found it on the offset 0x68.
now this is the money offset. then i looked for a more complex thing: where, the quantity of an item that i have on my spaceship, is stored. i looked for my Intelli Jet rocket that i have on the ship (255)
now on that screen you can see that i have 255 rockets on each item space. at the beginning it was just on the Intelli Jet.
255 in Hex is 0xFF. i looked on the offset table and i found many of them. so i started to edit just the one that was located somewhere that has a sense, like 0xFF000000 or similar and i found the place where the stuff was located. now the offset is not static, since i have done the same thing on a different savegame (always from GOF2) and it wasn't the same offset.
Explain it is not so easy, but probably somewhere, at the beginning of the file,  is stored a hex number that say where you can read the item offset.

Now i saw that items are stored as some Hex ID (here you can find some of them found by me: ).
This is what i learned from the savegame:

 Tell me if something is not clear. i'll rewrite that part if needed.
 This is how i do Reverse Engineering.


Popular posts from this blog

Raspberry PI + YwRobot Arduino LCM1602 IIC V1 HD44780 LCD

Install Package Homebrew

Reversing Wii U Executables