Originally Posted by hyper2k
A quick patching I did for the FFXIII ELF (basically, replace a compare instruction to an unconditional branch).
You can see on picture below, I am 3:48 in the game (just after the 1st two battles) and have 999999999 GIL (You can also see the L1/R1 which shows that this is for PS3).
Unfortunately, for the life of me, I can't upload the .pkg I built to install the patched EBOOT.BIN (my proxy is not working). I can, however, tell you how to achieve this.
1. Decrypt the SELF
2. If you want the infinite gil (technically, max gil on buy/sell), open the ELF in a hex editor and search for the byte pattern
Code:
"7F 9D 40 00 40 9D 00 08 7D 1D 43 78 93 A7 26 38"
3. When you get the match, replace the "7F 9D 40 00" in that pattern with "48 00 00 08". You are basically replacing
Code:
cmpw cr7, %r29, %r8
with
Code:
b 5A19C4 #this instruction might be different on others
which will force the game to skip a max limit check on the GIL, then just store the max GIL as the current GIL.
4. Before re-encrypting and re-compressing the ELF, make sure to update hard-coded paths (replace the /dev_bdvd paths to valid /dev_hdd0 paths)
5. Encrypt the SELF
6. Build the .pkg.
7. Install the .pkg, then depending on how you build the .pkg, transfer remaining files.
Steps 2 and 3 are specific for the Asian version of FFXIII (BCAS25005). I don't have the US nor the Japanese version so I don't know if other regions use the same instructions (most likely they should).
I know that I am very vague in several steps, but you can find more instructions at psx-scene.com about the rebuilding of BDVD SELF to HDD SELF.
It's a complicated process, but at least now you can get to cheat a game on your PS3!
Source:
.::Codemasters Project::.