The PSP Go! eboot is different. Anyone capture the response of the server to a valid license key?
EDIT: They're identical decrypted....huh. Encrypted, the file header, something I'm not sure what it is, and a line that says "Jim, their shields are still up!" are the only similarities.
I don't see any reason to why the go would have different encryption then the old psp's. The line's "Jim, their shields are still up!" for mccoy, "Aye, sir, I'm working on it!" for scotty and "We have a Klingon vessel on our screen" for uhura are probably part of the header that the kirk looks at while decrypting, and their values can be changed and the kirk will still decrypt it correctly (there are other checks though to prevent from editing). I could not find any documentation on this header for kirk. And it seems like psp developers (both sony and datel) have a thing for star trek.
They decrypt to the exact same thing, however. I'm wondering if this means Datel went the extra length to find a flaw in the algo, just to make Sony look even more foolish.
0xd4 0x7c ?
I was hoping the string was there as an exploit in the decryption but then I edited the same bytes in a sony update and it also decrypted normally, hell in newer updates sony doesn't even care anymore and they just null out the bytes.
The thing I can't figure out is the Go/normal difference. Only 196 bytes/1.42 MB are the same, however they both decrypt to the EXACT same thing. They even seem interchangeable.
Are you sure there are no differences, because a single byte will change the entire encrypted file.
And how would the datel installer even know that your psp is a go!, they could check the usb details but I doubt they do that as there is an option to select a psp drive and you can select a huge hard drive and the software will not raise an error.
I just ran the installer, once on a hard drive the other on my psp 1000 and I got 2 completely different files. The one I got from the hard disk (probably the go! file) would not run on the psp but the one they installed would. Also sony releases 2 different updates, one for go! and one for psp 1-3, so datel had to crack both of their encryptions.
The PSP Go! eboot is different. Anyone capture the response of the server to a valid license key?
The response is a license file.
The license is checked by the function located at 0x15BA4. sub_15BA4(unk, 0x00, 0x05, 0x14, psid_checksum, lic_file_buf)
psid_checksum, is a sha-1 of the psid. lic_file_buf stores the contents of the license file. if the return of sub_15BA4 is "true", this means that the license is valid, otherwise the demo splash screens will be displayed.
I was also able to write a PRX with two functions much like uhura, except always return 0xdeadbeef, patch the imports, psp-pack it, then inject it in the place of uhura.prx, and it generates a different ID, and I'm sure it would be fixed between PSPs, but that's just an observation.
http://www.sendspace.com/file/l3ghc7
./injector EBOOT.BIN uhura_rev.prx f2c20 2066
pack-pbp EBOOT.PBP PARAM.SFO ICON0.PNG NULL PIC0.PNG PIC1.PNG NULL EBOOT.BIN_injected NULL
I was also able to write a PRX with two functions much like uhura, except always return 0xdeadbeef, patch the imports, psp-pack it, then inject it in the place of uhura.prx, and it generates a different ID, and I'm sure it would be fixed between PSPs, but that's just an observation.
I ran it on two PSP's, and it indeed generates the same console ID.
WAT WHAT
you guys alredy cracked this wow you guys are soo great
Game ID and flags
Code header and flags
Code name
Address
Value
Address
Value
Code header and flags
Code name
Address
Value
Address
Value
...so on, note the address might have a flag in the last 8 bits (X0000000)