seregonwar / PFU-PupFileUnpacker

PFU-PupFileUnpacker is a program that can unpack and analyze .PUP's “Playstation Update Package” files.
GNU General Public License v3.0
29 stars 2 forks source link

please finish this soon #2

Open zeeboi9 opened 1 year ago

zeeboi9 commented 1 year ago

hey can you please finish this soon and if you found a way to decrypt of extract these file you must have also had a way to repack them thank you for all the work so far your doing great as i look throught the code i think you are doing an amazing job if you need any help let me know

seregonwar commented 1 year ago

Hi,

Unfortunately, I had to halt my work on this project due to other commitments and unforeseen issues. Currently, the main code has some problems that you can identify by running the startup file pup_unpacker.py. As soon as I have the opportunity, I will resume working on the project. From this point forward, I will be dedicating my efforts to it. In the meantime, if you're interested, you can take it on. You have all the necessary documentation to proceed. If you decide to do so, please keep me updated.

PS. Feel free to send a pull request for any changes you make. Before doing so, please ensure that the changes are relevant to the project, functional, and do not compromise the overall operation of the program. If you can enhance the GUI, as I'm uncertain about its user-friendliness and modernity, it would be appreciated. I'll include your name in the readme.md file as a token of gratitude and credit for your contributions.

This is my telegram name for share your progress or problem, scribe me for all necessities: @SeregonWar

Best regards, SeregonWar

seregonwar commented 1 year ago

hello, I can confirm that I've started working on the project again and you can see it yourself by viewing the commits :).

zeeboi9 commented 1 year ago

thanks bro

zeeboi9 commented 1 year ago

wait what was the problem you had for the pup_unpacker.py i'll try to help

seregonwar commented 1 year ago

Hello zeeboi9,

Thank you for asking what issues I faced in the last code update.

In summary, I solved the following problems:

In summary, the code is now more solid, with less problematic, better structured and should work better. I intervened on all the main critical issues that had been reported.

The code still has problems but I'm solving them, now the program starts but if I don't correct the errors it won't work. If you want you can do it already, run the code on an IDE and check the warnings given by it (use vs2022 or vs code), the following are the dependencies needed to make it all work properly:

Here is a list of the main dependencies needed to run the code for the extraction of PUP files:

-Python 3.6 or higher

-Tkinter module for GUI

pip install tkinter

-Struct module to read the track

Basic in Python standard library

-Module os to interact with the file system

Basic in Python standard library

-Zipfile module to decompress files

pip install zipfile

LZMA form to decompress LZMA data

pip install lzma

Psutil module to get info on CPU and memory

pip install psutil

Pytest module for code testing

pip install pytest

Thank you for your support <3

zeeboi9 commented 1 year ago

no thank you for doing this

seregonwar commented 2 months ago

Hello! Sorry for not continuing the development, I am writing you here again to tell you that the development of the software has restarted, I am fixing the many bugs and useless things added previously! If everything works correctly you will soon be able to extract .PUP packages.

seregonwar commented 2 months ago

As previously stated, I managed to convert the '''PS4UPDATE.PUP''' file into a '''PS4UPDATE.PUP.dec''' file, I leave you the content of the information from the latest push to the repository:

PS4 Update Extraction Summary

I translated most of the code to English (it was previously written in Italian for development purposes). So far, I have managed to extract the following information:

Extracted Data:

Data Details:

Decrypted Data (Preview):

Padding Information:

Decrypted File:


Problematic Section:


Error Details:

Next Steps:

As you can see, I have encountered a problem with values being too large, but this will be fixed with the next upload. :)

zeeboi9 commented 1 month ago

Bro If u complete this the ps4 homebrew community Will celebrate u like a hero

zeeboi9 commented 1 month ago

IMA post it to the resdit so I can get more help

seregonwar commented 1 month ago

It would be very nice, after the latest developments of jailbreak for ps4 11.00 with the PPoE flaw and buffer overload I had a hope of finally being able to finalize the program! I don’t know if you’ve read the latest news but another exploitable bypass has been found on fw11.50 and below! Ah another thing, if you want you can test the code, currently the program is able to extract some “blobs” and convert the file from PS4UPDATE.PUP to PS4UPDATE.PUP.dec but I have to implement a working unpacking that allows the extraction of the PS4UPDATE1 and 2 directories.

zeeboi9 commented 1 month ago

that is all pretty cool i hope the reddit post will get to people who can help u i have a suggestion like not now but when your project is more mature it will probably make sense to make precompiled binaries as the average person might not be willing to or able to install python and its packages and clone the repo and run it though in actuality it probably is easy I'll see what else i can do to help ur project keep up the great work

seregonwar commented 1 month ago

As soon as the program will work perfectly I will compile it in .exe and .deb (the latter without a graphical interface) and it will be accessible even to inexperienced people, so I have implemented a simple gui translated into various languages. Even the fact that it has no terminals but that it manages everything in the graphical interface is a plus point in my opinion.

zeeboi9 commented 1 month ago

that is good

zeeboi9 commented 1 month ago

btw what python version ans package manager are you using(ie conda or pip)

seregonwar commented 1 month ago

I am using pip 24.2, the latest version of the pip package manager. The requirements.txt file lists all the dependencies used throughout the entire project.

seregonwar commented 1 month ago

Hi I wanted to inform you that the compiled version has just been uploaded and you can test it without danger of crashing or anything else. If you encounter any problems please let me know! (I'm working on full decryption of the files, keep an eye on the commits) ;)

zeeboi9 commented 1 month ago

that is very cool will do