#2 Hardcoding keys for all games into libray?

Closed
opened 4 years ago by necklace · 36 comments

I'm unsure about the benefits of using the .ird files. Currently, libray doesn't even check the hashes that are included in them, to verify if the decryption was successful, but so far it doesn't seem to be a problem. It does however check region count.

I've found dumps containing just decryption keys for PS3 games, and I've wondered if (seeing as there are only 1441 disc games) we could just hard code those keys into libray so we don't have to download the .irds.

I am however unsure about the legality of doing so. If anybody has opinions or experience on the matter, please chime in!

I'm unsure about the benefits of using the .ird files. Currently, libray doesn't even check the hashes that are included in them, to verify if the decryption was successful, but so far it doesn't seem to be a problem. It does however check region count. I've found dumps containing _just_ decryption keys for PS3 games, and I've wondered if (seeing as there are only [1441 disc games](https://en.wikipedia.org/wiki/List_of_PlayStation_3_games_released_on_disc)) we could just hard code those keys into libray so we don't have to download the .irds. I am however unsure about the legality of doing so. If anybody has opinions or experience on the matter, please chime in!
gmipf commented 2 years ago

I would recommend to add the keys from redump.org, as they are more complete. The ird library is missing many titles. redump.org is also constantly adding new keys. A complete set is accessible only for dumpers but I could give you a zip file with all current keys.

I would recommend to add the keys from redump.org, as they are more complete. The ird library is missing many titles. redump.org is also constantly adding new keys. A complete set is accessible only for dumpers but I could give you a zip file with all current keys.

That was what I was planning on doing, but legally speaking I don't think it's a good idea. If you know any lawyers willing to answer this question and assure me that it's fine, I'd be willing to do it.

I have a dump from 2019, but I'm assuming it's outdated. Feel free to send me a link, though I'm assuming we can't add the latest keys here anyway since the complete set is accessible only for dumpers?

That was what I was planning on doing, but legally speaking I don't think it's a good idea. If you know any lawyers willing to answer this question and assure me that it's fine, I'd be willing to do it. I have a dump from 2019, but I'm assuming it's outdated. Feel free to send me a link, though I'm assuming we can't add the latest keys here anyway since the complete set is accessible only for dumpers?
gmipf commented 2 years ago

I don't know how the legal status is, but redump doesn't host illegal stuff usually. There is also another tool which integrates the redump keys, but lacks features I need.

Here is the tool with integrated keys: https://github.com/13xforever/ps3-disc-dumper/releases

I don't know how the legal status is, but redump doesn't host illegal stuff usually. There is also another tool which integrates the redump keys, but lacks features I need. Here is the tool with integrated keys: https://github.com/13xforever/ps3-disc-dumper/releases

@gmipf Say, you don't happen to have a list containing all the serial identifiers and filenames for every game in the key archive?

I've been trying to find/make one but it looks like I'm gonna have to scrape a bunch to make a complete list. Vimm.net is not complete. RPCS3's compatibility list is not complete. GameFAQs uses some different names here and there..

@gmipf Say, you don't happen to have a list containing all the serial identifiers and filenames for every game in the key archive? I've been trying to find/make one but it looks like I'm gonna have to scrape a bunch to make a complete list. Vimm.net is not complete. RPCS3's compatibility list is not complete. GameFAQs uses some different names here and there..
gmipf commented 2 years ago

No, I don't have such a list. But You could do it this way: You could do an crc32 check to identify the encrypted iso by searching the crc32 in the ps3 dat file. Then search for the matching filename from the dat file in the key files. Key filename and datfile filenames should match always (at least if both are from same date). I also uploaded updated keys zip, dat file, search for "Sony PlayStation 3 Disc Keys, datfile, cuesheets" at archive.org.

You also could register at redump.org and ask about a complete ps3 list. Here is the redump discord: https://discord.gg/8RRb7ssf

Yesterday I come across a ps3 game not available at redump, but as ird. So I also wouldn't remove the ird functionality. They both missing keys from each other sometimes.

No, I don't have such a list. But You could do it this way: You could do an crc32 check to identify the encrypted iso by searching the crc32 in the ps3 dat file. Then search for the matching filename from the dat file in the key files. Key filename and datfile filenames should match always (at least if both are from same date). I also uploaded updated keys zip, dat file, search for "Sony PlayStation 3 Disc Keys, datfile, cuesheets" at archive.org. You also could register at redump.org and ask about a complete ps3 list. Here is the redump discord: https://discord.gg/8RRb7ssf Yesterday I come across a ps3 game not available at redump, but as ird. So I also wouldn't remove the ird functionality. They both missing keys from each other sometimes.

Aha! Thank you, that's what I was looking for.

Good to know, I'll make it fallback to .ird if it can't find a key.

Aha! Thank you, that's what I was looking for. Good to know, I'll make it fallback to .ird if it can't find a key.
gmipf commented 2 years ago

I have another great idea, you could also integrate auto renaming based of the dat file filenames (redump style) and PARAM.SFO. I like to give encrypted files the redump dat file style of filenames and for decrypted the Multiman style "Disc title [DiscSerial].iso" based of the PARAM.SFO file. I think the disc title in param.sfo begins at the offset 3AC and the DiscSerial at 42C.

Special character of the PARAM.SFO disc titles you could replace like this:

":" = " -"

"/" = "-"

Example of Multiman style naming:

Time Crisis - Razing Storm [BCES01070].iso

I have another great idea, you could also integrate auto renaming based of the dat file filenames (redump style) and PARAM.SFO. I like to give encrypted files the redump dat file style of filenames and for decrypted the Multiman style "Disc title [DiscSerial].iso" based of the PARAM.SFO file. I think the disc title in param.sfo begins at the offset 3AC and the DiscSerial at 42C. Special character of the PARAM.SFO disc titles you could replace like this: ":" = " -" "/" = "-" Example of Multiman style naming: Time Crisis - Razing Storm [BCES01070].iso

Unfortunately I probably can't access the PARAM.SFO yet. It would also require first decrypting to a temporary file, opening it up to check param.sfo, and then renaming it to that style. I could add that functionality when I get access to PARAM.SFO though, which is whenever we get extracting to work.

Both I and nobodyiswashere have been looking into it but as it stands now we're stopped by this issue: https://github.com/clalancette/pycdlib/issues/19

So it's either wait for pycdlib, find another library, or implement that functionality ourselves. Or run 7z x .iso using subprocess but.. eh.


I've now added the keys. I opted to add them the same way ps3-disc-dumper does it, so instead of hardcoding them in the code I bundle them as package data. I might change this in the future as the AUR package now has to bundle these keys somehow as well..

I've noticed the crc32 takes some time, so it's a small performance loss. In theory if I acquire a dataset with serial ids it could instead instantly select key based on that, since that is baked into the .iso.

Anyway, good enough for now. At least the redump keys are in so you don't have to manually use -d. I'll be releasing 0.0.6 shortly, you might have to manually uninstall and reinstall through pip.

Unfortunately I probably can't access the PARAM.SFO yet. It would also require first decrypting to a temporary file, opening it up to check param.sfo, and then renaming it to that style. I could add that functionality when I get access to PARAM.SFO though, which is whenever we get extracting to work. Both I and nobodyiswashere have been [looking into it](https://notabug.org/nobodywasishere/libray/src/extract-iso) but as it stands now we're stopped by this issue: https://github.com/clalancette/pycdlib/issues/19 So it's either wait for pycdlib, find another library, or implement that functionality ourselves. Or run `7z x .iso` using subprocess but.. eh. --- I've now added the keys. I opted to add them the same way ps3-disc-dumper does it, so instead of hardcoding them in the code I bundle them as package data. I might change this in the future as the AUR package now has to bundle these keys somehow as well.. I've noticed the crc32 takes some time, so it's a small performance loss. In theory if I acquire a dataset with serial ids it could instead instantly select key based on that, since that is baked into the .iso. Anyway, good enough for now. At least the redump keys are in so you don't have to manually use -d. I'll be releasing 0.0.6 shortly, you might have to manually uninstall and reinstall through pip.
gmipf commented 2 years ago

Regarding PARAM.SFO, that file is actually not encrypted (or its disc title and DiscSerial at least), you can access it on encrypted iso files or directly from original disc.

OK, the recent library has a problem accessing the BD filesystem.

7z would be the next thing I would also suggest but you probably want to process everything internally.

EDIT: Does the setup.py has an uninstall command?

Regarding PARAM.SFO, that file is actually not encrypted (or its disc title and DiscSerial at least), you can access it on encrypted iso files or directly from original disc. OK, the recent library has a problem accessing the BD filesystem. 7z would be the next thing I would also suggest but you probably want to process everything internally. EDIT: Does the setup.py has an uninstall command?

Regarding PARAM.SFO, that file is actually not encrypted (or its disc title and DiscSerial at least), you can access it on encrypted iso files or directly from original disc.

Hm, if the offset is predictable for every .iso somehow I might be able to do it. I'll look into it.

Unfortunately setup.py does not have an uninstall, but you can record where it has installed by reinstalling:

python3 setup.py install --record files.txt

Then manually remove the files in files.txt. I'd try installing with pip first and then if that doesn't work I would see if manual uninstall fixes it.

> Regarding PARAM.SFO, that file is actually not encrypted (or its disc title and DiscSerial at least), you can access it on encrypted iso files or directly from original disc. Hm, if the offset is predictable for every .iso somehow I might be able to do it. I'll look into it. Unfortunately setup.py does not have an uninstall, but you can record where it has installed by reinstalling: ``` python3 setup.py install --record files.txt ``` Then manually remove the files in files.txt. I'd try installing with pip first and then if that doesn't work I would see if manual uninstall fixes it.
gmipf commented 2 years ago

OK, thank you.

One more thing I have remembered. Regarding BLES code vs crc32 verification. I have sometimes encountered discs with same DiscSerial but different content/iso/key. Maybe the crc32 is a more safe method. Last time it was the BLES00316 where I had to download the right ird manually using your tool. libray had downloaded the ird for the older revision disc without DLC, but I had the newer updated disc (BioShock: Ultimate Rapture Edition).

Another case would be BLES00816. Resident Evil 5: Gold Edition has a second revision release also with same DiscSerial. (The first revision is also Gold Edition, but older patch.)

OK, thank you. One more thing I have remembered. Regarding BLES code vs crc32 verification. I have sometimes encountered discs with same DiscSerial but different content/iso/key. Maybe the crc32 is a more safe method. Last time it was the BLES00316 where I had to download the right ird manually using your tool. libray had downloaded the ird for the older revision disc without DLC, but I had the newer updated disc (BioShock: Ultimate Rapture Edition). Another case would be BLES00816. Resident Evil 5: Gold Edition has a second revision release also with same DiscSerial. (The first revision is also Gold Edition, but older patch.)
gmipf commented 2 years ago

Regarding PARAM.SFO offsets, I'm not sure if they are always the same. But this iso repacking tool also renames Multiman style: https://www.psx-place.com/resources/ps3-iso-tools.68/

That tool also has different naming options it is useful for packing games to iso where you don't have any iso or original disc anymore and some patching options which are long time ago deprecated.

Regarding PARAM.SFO offsets, I'm not sure if they are always the same. But this iso repacking tool also renames Multiman style: https://www.psx-place.com/resources/ps3-iso-tools.68/ That tool also has different naming options it is useful for packing games to iso where you don't have any iso or original disc anymore and some patching options which are long time ago deprecated.

No problem, do tell if it doesn't work!

That is very good to know, thank you! I thought they were unique per release. Could maybe solve it by using crc32 when the dataset isn't 100%, for example I see gamefaq have these empty columns for multi releases with same discserial: https://gamefaqs.gamespot.com/ps3/980166-resident-evil-5-gold-edition/data whereas others have one per release: https://gamefaqs.gamespot.com/ps3/997880-time-crisis-razing-storm/data

Maybe a combination of size and discserial could work.. Maybe we also should download all the .irds and take the crc32s and keys from there as well.

No problem, do tell if it doesn't work! That is very good to know, thank you! I thought they were unique per release. Could maybe solve it by using crc32 when the dataset isn't 100%, for example I see gamefaq have these empty columns for multi releases with same discserial: https://gamefaqs.gamespot.com/ps3/980166-resident-evil-5-gold-edition/data whereas others have one per release: https://gamefaqs.gamespot.com/ps3/997880-time-crisis-razing-storm/data Maybe a combination of size and discserial could work.. Maybe we also should download all the .irds and take the crc32s and keys from there as well.
gmipf commented 2 years ago

I have tested the decryption now and the title was successfully identified + its key. But the crc32 calculation is heavier than I've expected. For the 16gb iso it took pretty long time. Maybe you should add ird as a first choice and then fallback to the redump/datfile mechanic, after it fails to find the key? The old ird method can also detect if the ird file is not matching or if its missing.

How does the detection actually work in the other tool? (https://github.com/13xforever/ps3-disc-dumper/releases)

I have tested the decryption now and the title was successfully identified + its key. But the crc32 calculation is heavier than I've expected. For the 16gb iso it took pretty long time. Maybe you should add ird as a first choice and then fallback to the redump/datfile mechanic, after it fails to find the key? The old ird method can also detect if the ird file is not matching or if its missing. How does the detection actually work in the other tool? (https://github.com/13xforever/ps3-disc-dumper/releases)

Oof, yeah. Tested it now with /dev/sr0, that's too slow. Doing it from file is a lot faster for me, but then again I have an SSD and not everyone has that.

Well I'm not 100% sure, but it seems to me that they only use discserial/productcode meaning they would have a bug for multiple releases. Have you tested it with those second revisions you have?

If the .dat had product codes we could first check product code + size, and then fallback to other methods and crc32 in the end. Unless we find an outlier case with code + size.

Oof, yeah. Tested it now with /dev/sr0, that's too slow. Doing it from file is a lot faster for me, but then again I have an SSD and not everyone has that. Well I'm not 100% sure, but it seems to me that they only use [discserial/productcode](https://github.com/13xforever/ps3-disc-dumper/blob/master/Ps3DiscDumper/Dumper.cs#L243) meaning they would have a bug for multiple releases. Have you tested it with those second revisions you have? If the .dat had product codes we could first check product code + size, and then fallback to other methods and crc32 in the end. Unless we find an outlier case with code + size.

Here's what we can do, I've figured out that PARAM.SFO is always at the start of a sector, so we can quickly search for it. I had to implement a .SFO file reader to actually read it (you said your offset was 0x3AC, but two of my isos offset were 0x378, luckily someone has documented how it actually works: https://www.psdevwiki.com/ps3/PARAM.SFO).

Getting the title from PARAM.SFO we now have two data points; game title and iso size. Using those two we can try search for the corresponding redump keys. If we find one we use it, otherwise fall back to .ird. I think doing a crc32 is too slow, but maybe we can add that as a third option in case .ird fails too.

It works for two of my isos, I'm gonna have to test for the rest of my isos but I could do a release if you want to test your isos as well.

Oh and I added multiman styling by default if it finds PARAM.SFO.

Here's what we can do, I've figured out that PARAM.SFO is always at the start of a sector, so we can quickly search for it. I had to implement a .SFO file reader to actually read it (you said your offset was 0x3AC, but two of my isos offset were 0x378, luckily someone has documented how it actually works: https://www.psdevwiki.com/ps3/PARAM.SFO). Getting the title from PARAM.SFO we now have two data points; game title and iso size. Using those two we can try search for the corresponding redump keys. If we find one we use it, otherwise fall back to .ird. I think doing a crc32 is too slow, but maybe we can add that as a third option in case .ird fails too. It works for two of my isos, I'm gonna have to test for the rest of my isos but I could do a release if you want to test your isos as well. Oh and I added multiman styling by default if it finds PARAM.SFO.
gmipf commented 2 years ago

I have tried ps3 disc dumper on bioshock ultimate rapture edition using encrypted iso with Alcohol Portable virtual drive on Windows.

The tool has downloaded both ird files to the ird sub directory and apparently detected the right one. It also somehow check its integrity at the end.

I have also sent an email to you.

I have tried ps3 disc dumper on bioshock ultimate rapture edition using encrypted iso with Alcohol Portable virtual drive on Windows. The tool has downloaded both ird files to the ird sub directory and apparently detected the right one. It also somehow check its integrity at the end. I have also sent an email to you.

Interesting, I think maybe it fell back to downloading the .irds then? According to the bundled keys it should have both europe and usa edition of that game (I just ran strings on the .exe):

BioShock - Ultimate Rapture Edition (Europe) (En,Fr,De,Es,It).key
BioShock - Ultimate Rapture Edition (USA) (En,Fr,Es).key
...
BioShock - Ultimate Rapture Edition (Europe) (En,Fr,De,Es,It).keyPK
BioShock - Ultimate Rapture Edition (USA) (En,Fr,Es).keyPK

I tried testing it on my iso but it just downloaded the .ird for me as well. Also, the linux version is just command-line it seems. Was also very slow for me, I quit half way through.

What happens if you test a .iso that doesn't have an .ird anywhere?

Interesting, I think maybe it fell back to downloading the .irds then? According to the bundled keys it should have both europe and usa edition of that game (I just ran `strings` on the .exe): ``` BioShock - Ultimate Rapture Edition (Europe) (En,Fr,De,Es,It).key BioShock - Ultimate Rapture Edition (USA) (En,Fr,Es).key ... BioShock - Ultimate Rapture Edition (Europe) (En,Fr,De,Es,It).keyPK BioShock - Ultimate Rapture Edition (USA) (En,Fr,Es).keyPK ``` I tried testing it on my iso but it just downloaded the .ird for me as well. Also, the linux version is just command-line it seems. Was also very slow for me, I quit half way through. What happens if you test a .iso that doesn't have an .ird anywhere?
gmipf commented 2 years ago

I have tried it now with the Ultimate Action Triple Pack (BLES02123) which has no ird. This is a multi game disc consists of:

Just Cause 2 (BLES-00517)

Sleeping Dogs (BLES-01704)

Tomb Raider (BLES-01780)

It was a little weird. It has detected the disc as Tomb Raider (BLES-01780) and renamed the unpacked folder as such but actually processed the key with the right key file "Ultimate Action Triple Pack (Germany) (En,Fr,De,Es,It,Nl,Pt)". The detection is very fast, so I think it does not calculate the whole disc, instead it does something with "\PS3_GAME\LICDIR\LIC.DAT", see log.

Here it is also mentioned: https://github.com/13xforever/ps3-disc-dumper/blob/757e6ae17171365c0f5655b69c1cc5c969bb5752/Ps3DiscDumper/Dumper.cs#L35

But don't really understand much about coding.

I have tried it now with the Ultimate Action Triple Pack (BLES02123) which has no ird. This is a multi game disc consists of: Just Cause 2 (BLES-00517) Sleeping Dogs (BLES-01704) Tomb Raider (BLES-01780) It was a little weird. It has detected the disc as Tomb Raider (BLES-01780) and renamed the unpacked folder as such but actually processed the key with the right key file "Ultimate Action Triple Pack (Germany) (En,Fr,De,Es,It,Nl,Pt)". The detection is very fast, so I think it does not calculate the whole disc, instead it does something with "\PS3_GAME\LICDIR\LIC.DAT", see log. Here it is also mentioned: https://github.com/13xforever/ps3-disc-dumper/blob/757e6ae17171365c0f5655b69c1cc5c969bb5752/Ps3DiscDumper/Dumper.cs#L35 But don't really understand much about coding.
gmipf commented 2 years ago
The log: https://drive.google.com/file/d/1Zpq4gs08SC5hlJFCmYkbQSJcrSEjqh1f/view?usp=sharing
gmipf commented 2 years ago

So sent another email now.

So sent another email now.

Haven't had time to look into this that much, BLES-02123 has a LIC.DAT that is pretty much empty (has strings "BLES01780", "BLES00517", and "BLES01704" in it but that's pretty much it). So I've rewritten it to just first check if there's a unique size in redump, then check size+name, then .ird. Made a release 0.0.7 now. Works with my .isos.

I'll close this issue now, either re-open or make a new issue if you find a game where this doesn't work!

Thanks again for the help :)

Haven't had time to look into this that much, BLES-02123 has a LIC.DAT that is pretty much empty (has strings "BLES01780", "BLES00517", and "BLES01704" in it but that's pretty much it). So I've rewritten it to just first check if there's a unique size in redump, then check size+name, then .ird. Made a release 0.0.7 now. Works with my .isos. I'll close this issue now, either re-open or make a new issue if you find a game where this doesn't work! Thanks again for the help :)
gmipf commented 2 years ago

Thanks, I'm trying it now with some new isos. Here is my first feedback. I have tried decrypting with the following: "No More Heroes - Heroes' Paradise (Europe) (En,Fr,De,Es,It).iso"

It had to fallback to ird:

[*] Searching for PARAM.SFO
[*] PARAM.SFO found
[*] Checking for bundled redump keys
[*] Trying to find redump key based on size
[*] Trying to find redump key based on size and game title
[*] No keys found
[WARNING] No IRD file specified, finding required file. Continuing regardless.
[*] Decrypting with disc key: 54d22ee955b01e7f04106b6ef1e6cfe5
[*] Decrypted .iso is output to: /PS3ISO/No More Heroes - Heroes' Paradise [BLES01101].iso
Thanks, I'm trying it now with some new isos. Here is my first feedback. I have tried decrypting with the following: "No More Heroes - Heroes' Paradise (Europe) (En,Fr,De,Es,It).iso" It had to fallback to ird: ``` [*] Searching for PARAM.SFO [*] PARAM.SFO found [*] Checking for bundled redump keys [*] Trying to find redump key based on size [*] Trying to find redump key based on size and game title [*] No keys found [WARNING] No IRD file specified, finding required file. Continuing regardless. [*] Decrypting with disc key: 54d22ee955b01e7f04106b6ef1e6cfe5 [*] Decrypted .iso is output to: /PS3ISO/No More Heroes - Heroes' Paradise [BLES01101].iso ```

Right so the title of that game is "NO MORE HEROES HEROES' PARADISE" but the datfile has it as "No More Heroes - Heroes' Paradise (Europe) (En,Fr,De,Es,It)". Could solve it by replacing spaces in the query with '%' and adding country from serial id, that doesn't seem to break my other isos either. At least ird worked :)

Right so the title of that game is "NO MORE HEROES HEROES' PARADISE" but the datfile has it as "No More Heroes - Heroes' Paradise (Europe) (En,Fr,De,Es,It)". Could solve it by replacing spaces in the query with '%' and adding country from serial id, that doesn't seem to break my other isos either. At least ird worked :)
gmipf commented 2 years ago

So tried more isos, most of them work by the size, but size + name doesn't seems to work correctly. Here another one:

[*] Searching for PARAM.SFO
[*] PARAM.SFO found
[*] Checking for bundled redump keys
[*] Trying to find redump key based on size
[*] Trying to find redump key based on size and game title
[*] No keys found
[WARNING] No IRD file specified, finding required file. Continuing regardless.
[*] Decrypting with disc key: f9ff4db8df87987088fc99de8309ebe0
[*] Decrypted .iso is output to: Lost Planet - Extreme Condition [BLES00198].iso
So tried more isos, most of them work by the size, but size + name doesn't seems to work correctly. Here another one: ``` [*] Searching for PARAM.SFO [*] PARAM.SFO found [*] Checking for bundled redump keys [*] Trying to find redump key based on size [*] Trying to find redump key based on size and game title [*] No keys found [WARNING] No IRD file specified, finding required file. Continuing regardless. [*] Decrypting with disc key: f9ff4db8df87987088fc99de8309ebe0 [*] Decrypted .iso is output to: Lost Planet - Extreme Condition [BLES00198].iso ```

If you add the -v/--verbose flag to the command it should print out a bunch of junk, there you can see what the 'TITLE' of the PARAM.SFO is. 0.0.7 simply checks if that title can be found as a substring in the name from the .dat dump. In the case of the two previous games (assuming BLES-00198 is named something like "Lost Planet Extreme Condition" in PARAM.SFO) there's a dash in the name from the dump which screws up the substring search (in addition to the size being the same in different countries).

The last commit should solve this, so if you wanted it to work you could pull that and install it manually. I'd make a 0.0.8 release, but I kind of want to clean it up a bit and look for more examples that would screw that logic up.

Really need to make tests now, lol. Maybe if there was a PARAM.SFO TITLE list somewhere I could just test all of those.

If you add the `-v/--verbose` flag to the command it should print out a bunch of junk, there you can see what the 'TITLE' of the PARAM.SFO is. 0.0.7 simply checks if that title can be found as a substring in the name from the .dat dump. In the case of the two previous games (assuming BLES-00198 is named something like "Lost Planet Extreme Condition" in PARAM.SFO) there's a dash in the name from the dump which screws up the substring search (in addition to the size being the same in different countries). The last commit should solve this, so if you wanted it to work you could pull that and install it manually. I'd make a 0.0.8 release, but I kind of want to clean it up a bit and look for more examples that would screw that logic up. Really need to make tests now, lol. Maybe if there was a PARAM.SFO TITLE list somewhere I could just test all of those.
gmipf commented 2 years ago

i have found a PARAM.SFO collection here: https://archive.midnightchannel.net/SonyPS/PS3/Disc%20Repair/

i have found a PARAM.SFO collection here: https://archive.midnightchannel.net/SonyPS/PS3/Disc%20Repair/
gmipf commented 2 years ago

Found another bug:

libray -i dumps/ssv.iso -o "Split-Second - Velocity [BLES00780].iso"
[*] Searching for PARAM.SFO
[*] PARAM.SFO found
[*] Checking for bundled redump keys
[*] Trying to find redump key based on size
[*] Trying to find redump key based on size and game title
[*] Found potential redump key: "Split-Second (USA) (En,Fr,Es)"
[*] Decrypting with disc key: fcf4d4f2cebcb4881310bf6c331fbd34
[*] Decrypted .iso is output to: Split-Second - Velocity [BLES00780].iso

He chose the USA version key of the same game for decryption, but it should be "Split-Second - Velocity (Europe) (En,Fr,De,Es,It)" = 77A38187B74B2D170341B8445E327DFE

Found another bug: ``` libray -i dumps/ssv.iso -o "Split-Second - Velocity [BLES00780].iso" [*] Searching for PARAM.SFO [*] PARAM.SFO found [*] Checking for bundled redump keys [*] Trying to find redump key based on size [*] Trying to find redump key based on size and game title [*] Found potential redump key: "Split-Second (USA) (En,Fr,Es)" [*] Decrypting with disc key: fcf4d4f2cebcb4881310bf6c331fbd34 [*] Decrypted .iso is output to: Split-Second - Velocity [BLES00780].iso ``` He chose the USA version key of the same game for decryption, but it should be "Split-Second - Velocity (Europe) (En,Fr,De,Es,It)" = 77A38187B74B2D170341B8445E327DFE

That should also be fixed in the latest commit. If you want to test that you could pull and install manually. Then it should search for "%split-second%velocity%europe%" and find the correct one.

That should also be fixed in the latest commit. If you want to test that you could pull and install manually. Then it should search for "%split-second%velocity%europe%" and find the correct one.
gmipf commented 2 years ago

This time I have installed manually the latest again, here a new game not working:

$ libray -i Minecraft\ -\ PlayStation\ 3\ Edition\ \(Europe\)\ \(En\,Ja\,Fr\,De\,Es\,It\,Nl\,Pt\,Sv\,No\,Da\,Fi\,Zh\,Ko\,Pl\,Ru\,Tr\).iso -o /media/4TB/PS3/PS3ISO/"Minecraft - PlayStation 3 Edition [BLES01976].iso"[*] Searching for PARAM.SFO
[*] PARAM.SFO found
[*] Checking for bundled redump keys
[*] No keys found
[WARNING] No IRD file specified, finding required file. Continuing regardless.
[ERROR] Unable to download IRD, couldn't find link. You could specify the decryption key with -d if you have it.

It is this game: Minecraft - PlayStation 3 Edition (Europe) (En,Ja,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi,Zh,Ko,Pl,Ru,Tr)

This time I have installed manually the latest again, here a new game not working: ``` $ libray -i Minecraft\ -\ PlayStation\ 3\ Edition\ \(Europe\)\ \(En\,Ja\,Fr\,De\,Es\,It\,Nl\,Pt\,Sv\,No\,Da\,Fi\,Zh\,Ko\,Pl\,Ru\,Tr\).iso -o /media/4TB/PS3/PS3ISO/"Minecraft - PlayStation 3 Edition [BLES01976].iso"[*] Searching for PARAM.SFO [*] PARAM.SFO found [*] Checking for bundled redump keys [*] No keys found [WARNING] No IRD file specified, finding required file. Continuing regardless. [ERROR] Unable to download IRD, couldn't find link. You could specify the decryption key with -d if you have it. ``` It is this game: ```Minecraft - PlayStation 3 Edition (Europe) (En,Ja,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi,Zh,Ko,Pl,Ru,Tr)```
gmipf commented 2 years ago

Another one:

$ libray -i Minecraft\ -\ Story\ Mode\ -\ A\ Telltale\ Games\ Series\ -\ The\ Complete\ Adventure\ \(Europe\)\ \(En\,Fr\,De\,Es\,Pt\,Zh\,Ru\).iso -o /media/4TB/PS3/PS3ISO/"Minecraft - Story Mode - A Telltale Games Series - The Complete Adventure [BLES02246].iso"
[*] Searching for PARAM.SFO
[*] PARAM.SFO found
[*] Checking for bundled redump keys
[*] No keys found
[WARNING] No IRD file specified, finding required file. Continuing regardless.
[ERROR] Unable to download IRD, couldn't find link. You could specify the decryption key with -d if you have it.

This game: Minecraft - Story Mode - A Telltale Games Series - The Complete Adventure (Europe) (En,Fr,De,Es,Pt,Zh,Ru)

Another one: ``` $ libray -i Minecraft\ -\ Story\ Mode\ -\ A\ Telltale\ Games\ Series\ -\ The\ Complete\ Adventure\ \(Europe\)\ \(En\,Fr\,De\,Es\,Pt\,Zh\,Ru\).iso -o /media/4TB/PS3/PS3ISO/"Minecraft - Story Mode - A Telltale Games Series - The Complete Adventure [BLES02246].iso" [*] Searching for PARAM.SFO [*] PARAM.SFO found [*] Checking for bundled redump keys [*] No keys found [WARNING] No IRD file specified, finding required file. Continuing regardless. [ERROR] Unable to download IRD, couldn't find link. You could specify the decryption key with -d if you have it. ``` This game: ```Minecraft - Story Mode - A Telltale Games Series - The Complete Adventure (Europe) (En,Fr,De,Es,Pt,Zh,Ru)```
gmipf commented 2 years ago

Another one on the latest build:

$ libray -i Koi-hime+Enbu+\(Japan\).iso -o "Koi-hime Enbu [BLJM61274].iso"
[*] Searching for PARAM.SFO
[*] PARAM.SFO found
[*] Checking for bundled redump keys
[*] No keys found
[WARNING] No IRD file specified, finding required file. Continuing regardless.
[ERROR] Unable to download IRD, couldn't find link. You could specify the decryption key with -d if you have it.
Another one on the latest build: ``` $ libray -i Koi-hime+Enbu+\(Japan\).iso -o "Koi-hime Enbu [BLJM61274].iso" [*] Searching for PARAM.SFO [*] PARAM.SFO found [*] Checking for bundled redump keys [*] No keys found [WARNING] No IRD file specified, finding required file. Continuing regardless. [ERROR] Unable to download IRD, couldn't find link. You could specify the decryption key with -d if you have it. ```
gmipf commented 2 years ago

And again same problem with another iso. It couldn't find the key using redump and ird, despite both are available. I think your latest build has a bug, I will install the pip version again.

And again same problem with another iso. It couldn't find the key using redump and ird, despite both are available. I think your latest build has a bug, I will install the pip version again.
gmipf commented 2 years ago

Hi, long time no see. I just wanted to add another one with wrong key:

$ libray -i ps3_f3_bles01193.iso -o "F.E.A.R. 3 [BLES01193].iso"
[*] Searching for PARAM.SFO
[*] PARAM.SFO found
[*] Checking for bundled redump keys
[*] Trying to find redump key based on size
[*] Trying to find redump key based on size and game title
[*] Found potential redump key: "F.E.A.R. 3 (Europe) (En,Ja,Fr,De,Es,It,Pt,Ko,Pl,Ru)"
[*] Decrypting with disc key: 666f58db97e9892a2e3ad940a12bd991
[*] Decrypted .iso is output to: F.E.A.R. 3 [BLES01193].iso

It should had used F.E.A.R. 3 (Germany) (En,Ja,Fr,De,Es,It,Pt,Ko,Pl,Ru).key

Hi, long time no see. I just wanted to add another one with wrong key: ``` $ libray -i ps3_f3_bles01193.iso -o "F.E.A.R. 3 [BLES01193].iso" [*] Searching for PARAM.SFO [*] PARAM.SFO found [*] Checking for bundled redump keys [*] Trying to find redump key based on size [*] Trying to find redump key based on size and game title [*] Found potential redump key: "F.E.A.R. 3 (Europe) (En,Ja,Fr,De,Es,It,Pt,Ko,Pl,Ru)" [*] Decrypting with disc key: 666f58db97e9892a2e3ad940a12bd991 [*] Decrypted .iso is output to: F.E.A.R. 3 [BLES01193].iso ``` It should had used ```F.E.A.R. 3 (Germany) (En,Ja,Fr,De,Es,It,Pt,Ko,Pl,Ru).key```

Hey hey, nice hearing from you again, time flies way too fast.

That's a very interesting case, exact same name and size but different key.

Though, it means we need another point of information to separate the two, and I'm not sure where we would get that.

Keep 'em coming if you find them, valuable info I can use to write tests later on.

I'll look into it as soon as possible but I've been a little strapped for time for the past few months..

Hey hey, nice hearing from you again, time flies way too fast. That's a very interesting case, exact same name and size but different key. Though, it means we need another point of information to separate the two, and I'm not sure where we would get that. Keep 'em coming if you find them, valuable info I can use to write tests later on. I'll look into it as soon as possible but I've been a little strapped for time for the past few months..

Hi again, I finally have time to look into some stuff. Sent you an email :)

Hi again, I finally have time to look into some stuff. Sent you an email :)
Sign in to join this conversation.
No Milestone
No assignee
2 Participants
Loading...
Cancel
Save
There is no content yet.