Saturday, 21 April 2012

PS3Tutorials translation



Well seems that Korben and his friends almost finished to translate the wiki in French.
I started to translate it in italian, but it will be a looong work :( i don't have so much time.

anyway if you want to contribute, please tell me (also here) and i can explain you what you need to do. you can translate it into ANY language you want.

I added a translation menu on the left (the main code was from Korben - thanks for that -, but i implemented it to have a good look) you can use it to change page.

if you have suggestion, please write them down in this page.

i want to thanks all the guys that worked on this wiki.

http://ps3tutorials.wikispaces.com

Monday, 16 April 2012

System Controller Fw Reader

this is a new version of my Syscon Fw Reader.
This simple program will read and show information about a Syscon Firmware package/binary

this is a small update.

To compile it, put it in the ps3tools folder and add the *.c name in the makefile or use my makefile ( Makefile ); add also this little_endian.h in the same folder.

V0.04
http://pastie.org/private/wghqogu1eiwlosr2djrmrw

Tuesday, 10 April 2012

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: http://pastebin.com/raw.php?i=y4kkdwmb ).
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.