76w 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
Boss, how about we start a midget wrestling promotion.