Join Us and become a Member for a Verified Badge to access private areas with the latest PS4 PKGs.
Status
Not open for further replies.
Following his previous releases, today PlayStation 4 developer m0rph3us1987 let us know on Twitter that he's abandoning the PS4Ninja project so he's decided to share the PS4Ninja file browser homebrew application's source code with PS4 community developers! :ninja:

Download: ps4ninja-master.zip / GIT / ps4ninja_672.7z (18 KB)

From the Readme.txt, to quote: How to build

1) Go into ps4ninja_win\Browser\PS4NINJA and type
Code:
make
This will build minlib, ps4ninja (PS4 part) and create payload_176.bin.

2) To build the windows application, open the VS Solution and build it.

3) You can manually build any of the components by entering into the directory and type "make".

From Ybin.me (PS4-EAP-KEY-DUMPER-672.bin):
Code:
// Decrypted EAP partition key and print it into klog
// key for /eap_user, /User, /Update
void getEAPPartitionKey(){
   void(*bzero)(void *buf, size_t len) = (void *)0xFFFFFFFF82613B00;
   void(*icc_nvs_read)(size_t id, size_t no, size_t offset, size_t len, unsigned char *buff) = (void *)0xFFFFFFFF82639CD0;
   void(*sceSblGetEAPInternalPartitionKey)(unsigned char *encBuffer, unsigned char *decBzffer) = (void*)0xFFFFFFFF827B1B00;

   // Allocate needed space
   struct malloc_type *mt = ps4KernelDlSym("M_TEMP");
   unsigned char *encNVSKeyBuffer = (unsigned char*)malloc(0x70, mt, M_ZERO | M_WAITOK);
   unsigned char *decryptedKey = malloc(0x20, mt, M_ZERO | M_WAITOK);
   bzero(encNVSKeyBuffer, 0x70);
   bzero(decryptedKey, 0x20);

   // Read encrypted key from NVS
   icc_nvs_read(0, 4, 0x200, 0x60, encNVSKeyBuffer);
 
   // Let SAMU decrypt the key for us
   sceSblGetEAPInternalPartitionKey(encNVSKeyBuffer, decryptedKey);

   printf("\nsEAP partition key: ");
   for (int i = 0; i < 0x20; i++)
   {
       if (decryptedKey[i] < 0x10)
           printf("0x0%x ", decryptedKey[i]);
       else
           printf("0x%x ", decryptedKey[i]);
   }

   printf("\n");
   return;
}
How to mount EAP partitions on Windows guide:

Mounting PS4 HDD On Windows, Only Specific Partitions
Requirements:
  • .wslconfig (for this you also need wsl2 installed, wsl1 should work as well)
  • bzImage (this is ufs readonly! for ufs rw you need to compile your own bzImage)
Both .wslconfig are place on C:\Users\(your_username)\ (in my case it's zecoxao)

cmtab
eap key partitions (i've chosen eap_vsh, update, user)
folders (according to cmtab)
and of course, your keys

in the case of user partition the number of the partition will be 27 so you do this
subtract 27 with 1
this will give 26
then you left shift 32
this will give 111669149696

Modify .wslconfig and cmtab accordingly! (path to bzImage, directory where to mount eap partitions, keys.bin location, ivoffset, etc)

Cheers to @mota for sharing the news in the PSXHAX Shoutbox! :beer:
PS4Ninja PlayStation 4 File Browser Source Code by M0rph3us1987.png
 

Comments

Another GREAT release... and a BIG thanks to m0rph3us1987 for deciding to make it open source to give another PS4 dev the opportunity to learn from it and possibly take over the project someday. :cool:
 
Status
Not open for further replies.
Back
Top