Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fully implement sceNpDrmVerifyUpgradeLicense #10581

Merged
merged 3 commits into from
Sep 16, 2021

Conversation

NicknineTheEagle
Copy link
Contributor

@NicknineTheEagle NicknineTheEagle commented Jul 18, 2021

This brings sceNpDrmVerifyUpgradeLicense closer to what I believe real PS3 does.
You'll likely get some complaints from people who did not unlock their C00 games properly after this is merged. The correct process is to install unlock PKG and RAP for it.

@AniLeo AniLeo requested a review from Megamouse July 18, 2021 22:14
@NicknineTheEagle
Copy link
Contributor Author

NicknineTheEagle commented Jul 19, 2021

This appears to noticeably slow down game list refresh. Not sure how acceptable that would be for the devs. Could probably use some testing to evaluate the impact more.

rpcs3/Emu/system_utils.cpp Outdated Show resolved Hide resolved
@NicknineTheEagle
Copy link
Contributor Author

This appears to noticeably slow down game list refresh. Not sure how acceptable that would be for the devs. Could probably use some testing to evaluate the impact more.

Can potentially use a simplified check in the game list if necessary.

rpcs3/Emu/system_utils.cpp Outdated Show resolved Hide resolved
rpcs3/Emu/system_utils.cpp Outdated Show resolved Hide resolved
rpcs3/Emu/system_utils.cpp Outdated Show resolved Hide resolved
rpcs3/Emu/system_utils.cpp Outdated Show resolved Hide resolved
@NicknineTheEagle
Copy link
Contributor Author

@Nekotekina Could you take a look at this, please? This PR has been hanging in pending for a while now.

@Nekotekina
Copy link
Member

Just a note, even though it doesn't particularly matter, std::string_view is better passed by value not reference.

@Megamouse Megamouse merged commit b30ac48 into RPCS3:master Sep 16, 2021
@bundangdon
Copy link

"You'll likely get some complaints from people". Indeed, and on that note I'll be using an older build for a while. Confusingly bad move.

@JimScript
Copy link

JimScript commented Sep 18, 2021

If you put the edat file into a folder named with the product code of the game, it works again, but you also should have a valid rap file as usual. (i.e. exdata/NPUAxxxxx/xxx.edat)

Edit: Sorry I meant to say what AniLeo is saying, but I guess I didn't say enough of the file path, what they are saying is correct.

@AniLeo
Copy link
Member

AniLeo commented Sep 18, 2021

The PR is correct, .edat files should be on dev_hdd0/home/00000001/exdata/TITLE_ID as a real console, not on the root exdata folder

They're directly installed there once you install your Unlock PKG, or when you dump your already installed .edat files from a console

If you don't have them there, simply move them

@bundangdon
Copy link

Totally respect you guys and your work, but you just made it more complicated with this addition. This move wasn't really necessary, and I think you'll get more complaints than compliments as I'm sure most of RPCS3 users do not have a "valid rap" nor have the means to do so.

@AniLeo
Copy link
Member

AniLeo commented Sep 18, 2021

.edat files may require a .rap file in order to be decrypted, same as game data. They already did before, you can't magically decrypt an .edat file without the AES-256 key, which is the .rap file. There's no functional change here.

Not all .edat files are encrypted (i.e. need a .rap file). If they didn't before, they also don't need it now.

@AniLeo
Copy link
Member

AniLeo commented Sep 18, 2021

To clarify, which seems to be your confusion: .rap files aren't required for mere formality. They're decryption keys. Without a .rap file, you can't decrypt content that requires it. The only theoretical way you'd be able to decrypt something without the (AES-256) key would be to bruteforce it, and the complexity of that means you'd need approximately 100 to 200 times the current age of the universe worth of time to do it, assuming you own a quantum computer.

@NicknineTheEagle
Copy link
Contributor Author

NicknineTheEagle commented Sep 18, 2021

"You'll likely get some complaints from people". Indeed, and on that note I'll be using an older build for a while. Confusingly bad move.

This is literally how it works on the real PS3. You install EDAT file and a RAP/RIF to decrypt it, same as with other PSN content. There's nothing confusing about it.

I'm sure most of RPCS3 users do not have a "valid rap" nor have the means to do so.

Most RPCS3 users also pirate their games. Doesn't mean developers have to support that.

@NicknineTheEagle NicknineTheEagle deleted the c00-edat branch September 18, 2021 03:09
@AniLeo
Copy link
Member

AniLeo commented Sep 18, 2021

Most RPCS3 users also pirate their games. Doesn't mean developers have to support that.

As I said above, it's technically impossible to do so regardless. Either the content is encrypted, and you need a decryption key, or it's not encrypted, and you don't.

@bundangdon
Copy link

"You'll likely get some complaints from people". Indeed, and on that note I'll be using an older build for a while. Confusingly bad move.

This is literally how it works on the real PS3. You install EDAT file and a RAP/RIF to decrypt it, same as with other PSN content. There's nothing confusing about it.

I'm sure most of RPCS3 users do not have a "valid rap" nor have the means to do so.

Most RPCS3 users also pirate their games. Doesn't mean developers have to support that.

Be that as it may, this was a pretty disappointing update to RPCS3. That being said though, keep up the good work

@AniLeo
Copy link
Member

AniLeo commented Sep 18, 2021

Making the emulator more accurate is a disappointing update because you need to move previously incorrectly installed files to the correct directory?
I've explained in the most simple way, if you can't understand C to read the code yourself or basic cryptography then there's no arguing, it's a one-side discussion with someone who doesn't want to listen.

@RPCS3 RPCS3 locked as off-topic and limited conversation to collaborators Sep 18, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Firmware: HLE Loader Involving the load of PS3 file formats
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants