120w ago - Today
Heden of DeLiGhT has released PS3 ELF Builder v0.9 RC1 which can be used to rebuild ELF files from
Graf_Chokolo's
PlayStation 3 SELF Decrypter payload followed by some revisions below.
Download:
PS3 ELF Builder v0.9 RC1 /
PS3 ELF Builder v1.0 (Windows and Linux) /
PS3 ELF Builder v1.2 (Windows and Linux)
To quote: Please note, to rebuild the ELF you will need the original encrypted SELF file. The tool is currently Linux only, but should run under Cygwin, on Windows machines.
V1.2
- Windows GUI
- DEBUG symbols now kept (IDA & Xorloser's PS3 Loader)
- Error management with return codes
V1.1
- Build ELF from DEBUG SELF
V1.0
- Initial Release
- Windows & Linux Versions
ELF BUILDER V0.9 RC1 - LINUX VERSION
V0.9 - Release Candidate
Windows Version coming soon - Should work on Windows/Cygwin
ELF BUILDER
Use this tool to rebuild an ELF file from Graf_Chokolo's SELF decrypter
Howto :
Once decrypted by Graf's payload, a SELF/NPDRM file will give you 2 parts:
- xxxxx.0 Decrypted code segment
- xxxxx.1 Decrypted data segment
To rebuild the ELF file, you will need the original SELF file
The result ELF file will be ready for your preferred disassembler (ie. IDA)
It also enables to feed tools like MAKESELF, ...
Usage:
./ELF_builder [in: SELF] [in: DUMP.0] [in: DUMP.1] [out: ELF]
ie.:
./ELF_builder EBOOT.BIN dump_sonic4.0 dump_sonic4.1 EBOOT.ELF
This is a RC version, please send email for remarks, bugs or improvements heden_delight AT hushmail.me
Dedicated to GRAF_CHOKOLO and THERULER
.oO Heden / DeLiGhT'2010 Oo.
Next up,
qdps3gud has made available a
Quick and Dirty PS3 Game Update Downloader. To quote from the ReadMe File:
Quick instructions
1. Select base path of your PS3 games. A list of games and updates available will show.
2. Select game from list and click download update.
3. You can rename the game folder "BLESXXXXX - Game Name" with Rename Game Folder Key.
4. Updates will be in "BLESXXXXX - Game Name\UPDATES"
5. Copy Link will copy update link to clipboard so you can use thrid party download managers
Finally, in related PS3 homebrew news today
superfurry has released
Noobi3 v0.1 to v0.4 PS3 Reference Tool, which is aimed at newcomers to the PS3 scene and people who just need a quick reference of what's available for them... with his goal being to turn this into a PS3 Encyclopedia/Wizard.
Changelog:
v0.4
Added: Every Compatible Media Format
Fixed: Firmware Reference Clean up, making it easyer on the eyes
v0.3
Added: Every PS3 Error code
Added: All Homebrew availible to date (maybe a couple of very very new ones missing)
Added: Error sounds
Added: Fixed bug
v0.2
Added: device list, every known device or dongle to jailbreak with
added: a bit of colour
v0.1
Firmware refrence
graf, is your payload to be used with psgroove?
[graf_chokolo] yeah, psgroove, it uses 2 stages
[graf_chokolo] boostrap is programmed into psgroove
[graf_chokolo] payload is sent to ps3 via ethernet
[graf_chokolo] payload is what does the real job :-)
[graf_chokolo] i did it that way because you cannot program psgroove with large piece of code
[graf_chokolo] bootstrap.bin have to be converted to C hex and inserted into psgroove descriptor
[graf_chokolo] i can upload my psgroove descriptor, it's no problem
[graf_chokolo] ok, here is my psgroove desc
[graf_chokolo] http://pastie.org/1368027
[graf_chokolo] just convert bootstrap.bin to payload.h with bin2hex tool i provided
[graf_chokolo] the bytes after payload.h doesn't matter, they are just dummies
[graf_chokolo] program your psgroove with this bootstrap
[graf_chokolo] bootstrap has one purpose, it received payload.bin from me via ethernet and runs it :-)
[graf_chokolo] this way i can run huge piece of code :-)
[graf_chokolo] and do not need to reprogram my psgroove everytime, have just to change payload and it does something different
[graf_chokolo] i'm using tcpdump to capture verything that comes back from ps3 and extract it then with pcap2bin
[graf_chokolo] you can also use wireshark if you want to
[graf_chokolo] payload.bin is sent to ps3 with sendfile tool i provided
[graf_chokolo] and a self to decrypt e.g. is also sent with sendfile via ethernet
[graf_chokolo] all data sent to ps3 is acked by ps3, to make sure that file transferred to ps3 is ok
[graf_chokolo] because sometimes a ethernet frame can get lost
[graf_chokolo] to be able to decrypt selfs you have first to edit main.c file and uncomment it, make sure only self decrypter will be called in main
except mm and gelic
[graf_chokolo] to decrypt selfs, first run psgroove with programmed bootstrap
[graf_chokolo] wait some time till it runsa
[graf_chokolo] then send payload.bin
[graf_chokolo] data sent to ps3 should be acked,sendfle will give you feedback
[graf_chokolo] if it doesn't see any acks then there is a problem
[graf_chokolo] i think here it would be best to test it with your ps3
[graf_chokolo] when payload.bin is uploaded to ps3 it will be executed immediately
[graf_chokolo] if the payload.bin does self decryption then it waits now for you to send it some SELF file to decrypt :-)
[graf_chokolo] so send a SELF to ps3 with sendfile
[graf_chokolo] but before that make sure you start tcpdump to capture the data coming back from ps3 :-)
[graf_chokolo] because the data will contain the decrypted SELF segments :-)
[graf_chokolo] every decrypted self segment is sent using different Ethernet protocol field values
[graf_chokolo] i do it for one purpose, to make extracting decrypted segments easier
[graf_chokolo] here an example
[graf_chokolo] if a SELF has 2 encrypted segments, i send 1st decrypted segment with Ethernet protocol field value 0xBEEF, and the 2nd one i send
with protocol (0xBEEF+1)
[graf_chokolo] so to extract the 1st segment from tcpdump pcap file i just use "pcap2bin -p 0xBEEF "
[graf_chokolo] so to extract the 2nd segment from tcpdump pcap file i just use "pcap2bin -p 0xBEF0 "
[graf_chokolo] and now you have 2 decrypted segments :-) which are impatient to be loaded into IDA for reversing, but that's not all :-)
[graf_chokolo] forgot to say. when self decrypter is done, ps3 should make 2 beeps :-)
[graf_chokolo] you need also the right load addresses for those segments in order to be able to reverse it
[graf_chokolo] self decrypter sends not only decrypted segments to you, it sends more data :-)
graf_chokolo> one of the packets sent to PC by self decrypter contains load address of segment, take a look at decrypt_self.c and you will understand what i mean
[graf_chokolo] this paxket is sent just before the decrypted data is sent
[graf_chokolo] so now you have everything to do reversing with IDA
[graf_chokolo] just load these segments into IDA at right addresses
I hope someone explain something about payload for using this great tool.
I don't know if he is the same user of PS3 news... I hope so someone can explain us.