77w ago - This weekend PlayStation 3 developer
PsDev has released a homebrew application called PS3 CFW Folder Checker along with the source code as well.
Download:
PS3 CFW Folder Checker Homebrew App and Source Code
From the included ReadMe file: Just place the .exe file in your flash drive where you have your folders and cfw setup run it and it will tell you if there is a typo, the foldername correct, the pup name correct and then if so it tell you your ready to go.
Took me 5 min.
Follow me on twitter at
RealPsDev
Source Code:
#include <Windows.h>
#include <direct.h>
#include <iostream>
#include <fstream>
#include <string>
#pragma comment(lib, "shlwapi.lib")
#include <shlwapi.h>
using namespace std;
typedef unsigned int u32;
/*******************************************************************************
* Check if a file or a folder exists
******************************************************************************/
bool Exists(string Path)
{
return GetFileAttributes(Path.c_str()) != INVALID_FILE_ATTRIBUTES;
}
/*******************************************************************************
* Quit the application with a message
******************************************************************************/
void Quit(string Message)
{
cout << Message.c_str() << "\r\nPress any key to continue...";
cin.get();
exit(0);
}
/*******************************************************************************
* Entry Point
******************************************************************************/
int main(int argc, char* argv[])
{
// - Show banner
cout << "*****************************************************\r\n";
cout << "**\r\n";
cout << "** \tCFW Checker\r\n";
cout << "**\tFollow me on twitter @ RealPsDev\r\n";
cout << "**\tI was bored made in 5min\r\n";
cout << "**\r\n";
cout << "*****************************************************\r\n\r\n";
// - Get CFW Path
char ExePath[MAX_PATH];
GetModuleFileName(NULL, ExePath, MAX_PATH);
string SourcePath = string(ExePath);
SourcePath.erase(SourcePath.rfind("\\"));
// - Verify 'Cfw' folder
SourcePath += "\\PS3\\UPDATE\\PS3UPDAT.PUP";
cout << "- Checking see if Folders For CFW are correct" << endl;
if (!Exists(SourcePath))
Quit("Error: Folders are not correct(" + SourcePath + ")\r\n");
Quit("\r\nYou are now ready to the USB into the ps3!\r\n");
return 0;
}
Finally, from
PsDev on PS3 lv0: http://pastie.org/2967339
From PsDev. Nothing Important Just some lv0 stuff / whistle
SELF header
elf #1 offset: 00000000_00000090
header len: 00000000_00000500
meta offset: 00000000_000001e0
phdr offset: 00000000_00000040
shdr offset: 00000000_000e7830
file size: 00000000_000e7640
auth id: 1ff00000_01000001 (Unknown)
vendor id: ff000000
info offset: 00000000_00000070
sinfo offset: 00000000_00000140
version offset: 00000000_00000180
control info: 00000000_00000190 (00000000_00000070 bytes)
app version: 4.0.0
SDK type: Retail (Type 0)
app type: level 0
Control info
control flags:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
file digest:
6e bc 16 e2 38 12 18 df d0 02 18 e1 66 2b fe 5b 65 50 f7 5a
Section header
offset size compressed unk1 unk2 encrypted
00000000_00010500 00000000_00000c70 [NO ] 00000000 00000000 [YES]
00000000_00020500 00000000_000c7380 [NO ] 00000000 00000000 [YES]
Encrypted Metadata
unable to decrypt metadata
ELF header
type: Executable file
machine: PowerPC64
version: 1
phdr offset: 00000000_00000040
shdr offset: 00000000_000e73c0
entry: 00000000_00000c60
flags: 00000000
header size: 00000040
program header size: 00000038
program headers: 2
section header size: 00000040
section headers: 10
section header string table index: 9
Program headers
type offset vaddr paddr
memsize filesize PPU SPE RSX align
LOAD 00000000_00010000 00000000_00000000 00000000_00000000
00000000_00000c70 00000000_00000c70 rwx --- --- 00000000_00010000
LOAD 00000000_00020000 00000000_08000000 00000000_08000000
00000000_000cc250 00000000_000c7380 rwx --- --- 00000000_00010000
Section headers
[Nr] Name Type Addr ES Flg Lk Inf Al
Off Size
[00] <no-name> NULL 00000000_00000000 00 00 000 00
00000000_00000000 00000000_00000000
[01] <no-name> PROGBITS 00000000_00000000 00 wae 00 000 08
00000000_00010000 00000000_00000c70
[02] <no-name> PROGBITS 00000000_08000000 00 wa 00 000 04
00000000_00020000 00000000_00017358
[03] <no-name> PROGBITS 00000000_08017360 00 a 00 000 16
00000000_00037360 00000000_0002c748
[04] <no-name> PROGBITS 00000000_08043ab0 00 ae 00 000 16
00000000_00063ab0 00000000_0007e5f8
[05] <no-name> PROGBITS 00000000_080c20b0 00 ae 00 000 08
00000000_000e20b0 00000000_00004200
[06] <no-name> PROGBITS 00000000_080c62b0 00 ae 00 000 08
00000000_000e62b0 00000000_00000080
[07] <no-name> PROGBITS 00000000_080c6330 00 ae 00 000 08
00000000_000e6330 00000000_00001050
[08] <no-name> NOBITS 00000000_080c7380 00 ae 00 000 128
00000000_000e7380 00000000_00004ed0
[09] <no-name> STRTAB 00000000_00000000 00 00 000 01
00000000_000e7380 00000000_0000003d
Download: http://www.mediafire.com/download.php?9du5uysk1cr49tc
To quote: Hi everybody, here to release my new update.
PS3Tools GUI Edition v2.6 Changes:
Added CEX 2 DEX
New Interface
Fixed PKG decryptor button
Fixed EDAT Tool button
Removed second GUI form
Minor bug fixes and code changes to perform better
I have been asked a lot recently to add in a debug PKG decryptor because all I had is a Retail decryptor & extractor. Well I did, but last minute checks, I noticed it was not performing the way I wanted it too.
So instead of releasing faulty code/tool on my program and say it works half way, I'd rather withdraw the feature until a further update when I can have it working properly to my standards and what should be most.
PlayStation 3 CEX to DEX:
This whole CEX to DEX is going around, I felt like adding it to GUI form had to be done so, I jumped on band wagon and did it. When going to use this Make sure you have a CEX Nor flashed named "CEXFLASH.bin" and the eid_root_key.bin in the program folder.
Run the tool and it will output a DEXFLASH.bin... easy as pie. Note* opensll required!!
Thanks to naehrwert, KaKaRoToKS, andbey0nd Math, HsRiena, geohot, eussNL, zecoxao and ofcourse the MAIN team I cannot forgot. Fail0verFlow also tthousand for always helping with everything, you're awesome buddy I never give you enough appreciation and thanks!!
Finally, from Sony PS3 hacker evilsperm:
I will not be going into detail on how to compile the metldrpwn or how to compile and use libeeid. Oh and if you don't know what scp is go google it because im not gonna be getting into all that, this isnt a spoon feeding tut
1. dump nor (from xmb, hardware flasher, or petitboot) if from petitboot you will need a flash drive or external hdd. make sure you hold on to this backup or your FUCT if something goes wrong.
2. extract nor (f0f tools or the windows nor unpack)
3. install rebug otheros++
4. install rebug otheros++ preptools
5. boot into petitboot
Now this is where it will start to get tricky because you will need to either scp files or use a flashdrive/external hdd, I use scp because its fast and easy
6. READ eEID : dd if=/dev/ps3nflasha skip=$((0x2F000)) of=/cex_eid.bin bs=1 count=$((0x10000))
7. scp cex_eid.bin to your computer
8. cd / rm cex_eid.bin
8. scp your metldr to the PS3 from your computer
9. run the metldrpwn on your metldr and dump the eid_root_key
10. scp your eid_root_key from your PS3 to your computer
11. use libeeid or whatever that other cex>dex tool is and convert your eid to dex (using the cex_eid.bin > dex_eid.bin)
12. scp your new dex_eid.bin to the PS3
13. WRITE eEID: dd if=dex_eid.bin of=/dev/ps3nflasha bs=1 seek=$((0x2F000)) count=$((0x10000))
14. reboot
15. if you're not bricked you will still be in cex FW just install DEX fw and poof your done
LAST WORDS OF WARNING:
If you brick its 100% you're fault and you didn't follow the instructions the the letter, or you just did something wrong all together. Don't ask me what went wrong cuz I won't have a clue nor do I care if you brick seeing I warned you to have a hardware flasher just in case.
Sorry if that sounds harsh but if you don't think you can do this then you shouldn't be trying to mess with your nor in the first place because YOU CAN PERM BRICK!
Rename the .bin's for use with this gui...
Note: After booting to gameOS from petitboot (just after writing the nor, which only a very small section is actually changed) it is still booting the cex firmware that is installed. It isn't on debug fw yet, so there are no debug options. All this does is allow you to install a debug firmware.
More PlayStation 3 News...
Download: http://www.mediafire.com/?1u838ik6yzzvi8q
To quote: To jump right into it, I have added a lot into this version. RCO dumper SFO reader and a whole new GUI form and GUI improvements.
When the program first loads, you're going to be opted to choose the GUI, well remember the original GUI for the main screen? Well I added a new one that took out the Command prompt emulator, made the form smaller and sleeker.
Once you choose the GUI you want it will take you too the specific form, but wait, you want to use the other GUI after your done with your first selection? Well I though of that and instead of having it close after selection it stay's alive until you're done!
Changes:
SFO READER
Dump category_friend.rco
Dump category_game.rco
Dump category_music.rco
Dump category_network.rco
Dump category_photo.rco
Dump category_psn.rco
Dump category_sysconf.rco
Dump category_tv.co
Dump category_user.rco
Dump category_video.rco
Added loading bar on both GUI
Added dialogs to see completion
Add messageboxes for errors and PUP completion
Fixed minor bugs
Fixed Core_os image reader tool
Side Note: All RCO's that are dumped will be shown in the RCO folder.
Finally, in related news nevik has made available http://www.2shared.com/file/lv38Dbax/Ps3ToolsOsXv2pkg.html and http://www.2shared.com/file/CWuLP5jA/make_pkg.html (Windows) stating the following:
If you repack any .PKG with they will install on 4.11 DEX. I have had a great deal of fun learning TCL TK and some python to try and make this tool as easy to use as possible for those who don't want to install Macports. Read README and how to use included.
PS3Tools v2 for OSX:
New: no more X11 needed all GUI is written in tcl tk.
Readself2
Edit Read and Create PARAM.SFO files.
Fail0verFlow make self tool
As of now you can:
[list]
unself : F0F unself
unself2 : F0F unself2 See README.txt for mallory instructions.
readself : F0F readself and readself2
Download: http://www.mediafire.com/?lzc6jh9xbzehdib / http://www.mediafire.com/?uwr85vw2gbix8aw (Mirror)
To quote: The major addition is a Retail PKG decryption and extraction tool. I also removed the extra tools as it wasn't needed, and wasted space, most external programs are gonna be taken out and be coded so it's internal. That way space, folder size and your Computers memory is more free.
I need to thank math because, this uses his AES engine and without it I would have had to code one on my own. (Don't worry I had his permission). It was truly a pain incorporating this into my program, much harder than the EDAT tools.
private byte[] PS3AesKey = new byte[16] {
0x2E, 0x7B, 0x71, 0xD7, 0xC9, 0xC9, 0xA1, 0x4E,
0xA3, 0x22, 0x1F, 0x18, 0x88, 0x28, 0xB8, 0xF8
Decryption of Retail PKG
Extraction of Retail PKG
Bug fixes
Removed external programs
Fixed bugs and added some little features in EDAT tool
Doesn't take up as much memory
Also if I can port Rcomage to c# then expect that to be next release, it's hard porting c++ to c# though, but I'm trying, it has alot of code that needs converter.
Thanks to naehwert, KaKaRoToKS, geohot, Math, eussNL and of course Fail0verFlow! and anyone else I forgot.
More PlayStation 3 News...