PS3 PS1 libcrypt support on PS3 official emus - research thread

@krHACKen im taking a look at your PPF files (more about this later) and i realized about some details that worths to be commented
There are 4 libcrypt protected multidisc games (ff8, ff9, parasite eve II, galerians)
ff8 <--- the PPF is identical for all the discs (total 4 discs)
ff9 <--- the PPF patches are different for every disc (total 4 discs)
parasite eve II <--- the PPF is identical for all the discs (total 2 discs)
galerians <---the PPF patches are different for every disc (total 3 discs) but..................

If we compare the PPF files for the galerians discs (Fr.) only differs in the last patches
galerians disc 2 (this patches are included in the PPF for dsc 1 and disc 3)
galerians disc 1 (includes the patches for disc 2 + two more patches)
galerians disc 3 (includes the patches for disc 2 + three more patches)

Im wondering if this "anomally" in the galerians discs is intentional, mostly because the PPF patches for ff8 and parasite eve II are identical for all discs.
It would be very convenient to use the same exact PPF patch for the 3 galerians discs
Im not asking about ff9 because the PPF patches for every disc differs a lot (seems to be same data but with a displacement?)

------------------
Your collection includes a few PPF patches for games that are not libcrypt protected http://redump.org/discs/libcrypt/2/
Jackie Chan Stuntmaster (Europe) (Recalled).ppf
Muppet Monster Adventure (France).ppf
OverBlood 2 (Europe) (Disc 1) (v1.0).ppf
OverBlood 2 (Europe) (Disc 2) (v1.0).ppf
World Championship Snooker (Europe) (En,Fr,De).ppf

Why do you have 2 PPF patches for Jackie Chan Stuntmaster ?, as far i see there is only 1 version of the disc
I guess we can remove the others, Muppet Monster Adventure, OverBlood 2, and World Championship Snooker are not libcrypt protected, so im not going to include them in the page in wiki
 
Last edited:
Hmm, since the three FR localized discs of Galerians all have the same magic word, the patch souldn't differ, unless there are differences in LBA or EXE data. I'll check what gets patched as soon as possible and fix my mistakes if any.
Else yeah, same magic word & same LBA & same data = a single PPF for all the games discs.

LC protected games which don't originally have LC subs might crash on emus when a non-NULL magic word is calculated; because plain data gets dexored with a garbage key.


Edit: Archive updated. That's right. Patches for disc 1 and disc 3 contained extra junk data. I fixed them.
You can indeed use the same PPF on the three discs, they're identical.
Thank you for reporting.
 
Last edited:
Edit: Archive updated. That's right. Patches for disc 1 and disc 3 contained extra junk data. I fixed them.
You can indeed use the same PPF on the three discs, they're identical.
Thank you for reporting.
Nice, this makes things a bit easyer :)
I was looking at it because i modifyed all your PPF files to add a "signature" in the PPF header. I also changed the filenames to add the ID, and added a lot of .txt dummies using the same naming style to complete the collection of 229 files... i will upload them for you to review them later, there are some details i would like to mention to you about the names i used

But by now i just want to show you the "signature" im using, check the PS1 Custom Patches page in wiki, i been updating it this weekend

As you can see im adding the "Title ID" (also known as "Game ID") of all the discs compatibles with the PPF file, a short description of what the patch does, and the author... and optionally a version incase some of you want to update them
I was rying with different styles, but at the end i had to short it a lot down to "ABCD12345 LC crack by krHACKen" (for the PPF files compatibles with an unique disc)
If you take a look at the signature of the PPF file for final fantasy VIII is more obvious why i shorted it so much
Final fantasy 8 only leaves a couple of bytes unused (and this depends of the lenght of the author nick, heheh)

Let me show you some examples, this is the PPF header of a PPF file compatible with 1 disc only
Displayed in a hexeditor view with the title "Actua Ice Hockey 2 (SLES-01226)"
Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000  50 50 46 33 30 02 53 4C 45 53 30 31 32 32 36 20  PPF30.SLES01226 
00000010  4C 43 20 63 72 61 63 6B 20 62 79 20 6B 72 48 41  LC crack by krHA
00000020  43 4B 65 6E 20 20 20 20 20 20 20 20 20 20 20 20  CKen            
00000030  20 20 20 20 20 20 20 20 00 00 00 00 94 58 01 00          ...."X..
00000040  00 00 00 00 01 00 96 58 01 00 00 00 00 00 02 00  ......–X........

And this one is compatible with 4 discs
Displayed in a hexeditor view with the tile "Final Fantasy VIII (SLES-02081, SLES-12081, SLES-22081, SLES-32081)"
Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000  50 50 46 33 30 02 53 4C 45 53 30 32 30 38 31 2C  PPF30.SLES02081,
00000010  31 32 30 38 31 2C 32 32 30 38 31 2C 33 32 30 38  12081,22081,3208
00000020  31 20 4C 43 20 63 72 61 63 6B 20 62 79 20 6B 72  1 LC crack by kr
00000030  48 41 43 4B 65 6E 20 20 00 00 00 00 BC 0C 01 00  HACKen  ....¼...
00000040  00 00 00 00 02 00 5C A8 0D 01 00 00 00 00 00 02  ......\¨........
At some point you need to review them and "update" your collection with them, im mostly doing this changes to your files to use them as a reference to organize the page in wiki, but that signature (and the new filenames) are good for other tools
As example, the tool made by ronnie coould display the PPF header, instead of the current implementation that dedicates a function to give you credits for the patches
The point is... everybody should add that kind of info to the PPF header, is handy for everyone because allows to give them a unique identifyer (id/author/ver)

Btw solomonbytes dont get afraid of publishing incomplete or broken PPF patches, if we identify them accuratelly nobody is going to complain, also wiki keeps a record of all the edits so incase a PPF gets broken we can restore it to a previous version :encouragement:

Also, check what i did with the blueish "floating window" at left side for the game "Actua Ice Hockey 2"
This is intended to comment every individual patch inside the PPF.. think in it like the comments in a source code file, you can write whatever you want in it
Im not adding any info for them because i dont understand them but you know.. you could write a text saying "here im patching XXX", etc...
Are the kind of comments that could be handy for educational purposes, but also to discuss and eventually improve the patches :)
 
Last edited:
Nice, this makes things a bit easyer :)
As example, the tool made by ronnie coould display the PPF header, instead of the current implementation that dedicates a function to give you credits for the patches
The point is... everybody should add that kind of info to the PPF header, is handy for everyone because allows to give them a unique identifyer (id/author/ver)

I think I already do. I do print the 50 byte info string at offsets 6 to 56 of the PPF
and also, if present, the full text from the .DIZ section of the PPF.

But for the ppf's I also ship with pop-fe I also have a simple string along the lines of "Contributed by krHACKen"
If you edit and update the PPF to be more complete and have better credits in the 6:56 info field or the .DIZ
I am super happy to add them to pop-fe.

==

Credits should always be provided, no matter how big or small. Sometimes people tell me 'nah it is so small I don't want credit'. I respect that but I also disagree. No matter how small a contribution is, I think it is a contribution and it deserves credit.

==

If at anytime, something in pop-fe should have explicit credits added please let me know immediately and I will add it.
The best way to do that is via a git pull request. That way the credit will be part of the git history forever.
 
Last edited:
Btw solomonbytes dont get afraid of publishing incomplete or broken PPF patches, if we identify them accuratelly nobody is going to complain, also wiki keeps a record of all the edits so incase a PPF gets broken we can restore it to a previous version

since i understood the main problem of learning patchs was not patch but the emulators themselves, things are going much better.

btw, ps3 emulators are interessting on multi audiotracks disc , they do not crash on bad ECC, they just ignore audio tracks. this is another hint to detect eventual not working ppf.

nothing can be done properly without PS1 2352 image EDC-ECC recalculator ( or equal ) thx to Krhaken & Devildwarf for the support.
 
I think I already do. I do print the 50 byte info string at offsets 6 to 56 of the PPF
and also, if present, the full text from the .DIZ section of the PPF.

But for the ppf's I also ship with pop-fe I also have a simple string along the lines of "Contributed by krHACKen"
If you edit and update the PPF to be more complete and have better credits in the 6:56 info field or the .DIZ
I am super happy to add them to pop-fe.
I dont know what the DIZ section is, the other day i was trying to find a description of the PPF internal structure and found this
https://github.com/meunierd/ppf/blob/master/ppfdev/PPF3.txt

The main reason why i was looking at that is because i was not sure if the PPF files had some kind of checksum at the end to protect/safe them, and i was happy to see they doesnt have it... in other words... we can add more commands at the bottom, or to modify the area named "patch description" (position 6-55, size 50, in dec) just with a hexadecimal editor

Basically... when we display the PPF files made by krHACKen in a hexeditor view we are displaying the "patch description" as an empty area (filled with byte 0x20), this way
Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000  50 50 46 33 30 02 20 20 20 20 20 20 20 20 20 20  PPF30.          
00000010  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00000020  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00000030  20 20 20 20 20 20 20 20 00 00 00 00 94 58 01 00          ...."X..
00000040  00 00 00 00 01 00 96 58 01 00 00 00 00 00 02 00  ......–X........

For the list in wiki where i wanted to display them in hex thats a bit unneficient (wasted space)... but... filling the empty descriptions with info is not increasing the wiki total page size
In other words... for the matter of the total page size in wiki displaying the "empty" descriptions" or "filled" descriptions results in the same page size
And while thinking about this i also realized the tools that are going to use this PPF files could display the patch description too (pop-fe, ManaGunZ, Apollo, etc...)

I was a bit inspired too by what the old crack teams was doing, this is the paradox/bad PPF patch for vagrant story (where the "patch description" area includes game title, author, and the keyword "crack")
Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000  50 50 46 32 30 01 56 61 67 72 61 6E 74 20 53 74  PPF20.Vagrant St
00000010  6F 72 79 20 28 50 61 6C 2F 55 4B 29 20 2D 20 43  ory (Pal/UK) - C
00000020  72 61 63 6B 20 62 79 20 42 2E 41 2E 44 2F 50 44  rack by B.A.D/PD
00000030  58 00 20 20 20 20 20 20                          X.
As said, i dont know whats is the DIZ area, but if it requires a big rebuilding of the PPF file i guess im not going to do it because it would take many time and is going to increaser the wiki total page size, also big rebuildings of the PPF files doesnt makes me so condident compared with what im doing. Adding some bytes in the "patch description" is something relativelly easy, so im confident im not breaking the PPF file

since i understood the main problem of learning patchs was not patch but the emulators themselves, things are going much better.
By now implementing libcrypt support in the PS3 emulator/s is something theoretical, we dont know if is working and if there are some games that requires diffrent methods than what pop-fe is doing (by adding the libcrypt magic word to the PKG)
There are 3 official PS1 emulators shipped with the PS3 firmwares, and it seems sony was implementing different methods to deal with libcrypt along the different versions of them, as example, some PS1 emulators have the magic word for 3 games hardcoded (it seems this trick only works with LC1 games), and 3 more games with the subchannel data offsets also hardcoded (we dont know if this method could work with more games), and we also have the last sony implementations that seems to support both previous implementations by "packing" the related data with the game discs (lets say... are loading it externally instead of being hardcoded in the emu, it seems to be the same stuff but external)

So in the meantime it makes sense to apply "LC cracks" to the game disc images because we are sure is going to work

One of the goals of the page in wiki was to prepare the "playground" and the "toys" for patch makers to publish and discusss the patches, i think that goal is fullfilled with the actual style of the page, by now the page didnt have any kind of activity of this type and the only 2 "PS1 fixers" i know are krHACken and you, but the wiki page is ready for it, eventually other people could publish some patches in it :)
krHACken is still activelly keeping an eye of his collection and you was motivated enought to play around with them, if you keep an eye at the wiki page eventually you could find something that worths to be reviewed
 
Last edited:
I dont know what the DIZ section is, the other day i was trying to find a description of the PPF internal structure and found this
https://github.com/meunierd/ppf/blob/master/ppfdev/PPF3.txt

It is an optional area that consists of a few lengt fields but is mostly just one big text area that is at the end of the file.
A file_id area begins with @BEGIN_FILE_ID.DIZ and ends with @END_FILE_ID.DIZ (Amiga BBS standard).
A lot of the PPFs at consolecopyworld seem to have such sections that are essentially an entire screen of text.


Has anyone tried to patch cobra and just check what happens if you deliberately corrypt the subq crc for the lbas that the magic word indicate should be corrupted? Either checking lba against the 32 different sectors that libcrypt uses, or checking lba+150
 
Last edited:
you missed Asterix - Mega Madness (SLES-03324)

merry christmas :grin:

this ppf is properly made according to KrHacken method :

- action replay check is let intact
- mod chip detection is killed
- magic word patched
- ECC rectified to play on ALL hardware & emulator possible.
 

Attachments

merry christmas :grin:

this ppf is properly made according to KrHacken method :

- action replay check is let intact
- mod chip detection is killed
- magic word patched
- ECC rectified to play on ALL hardware & emulator possible.
Thanks, see what i did with it
https://www.psdevwiki.com/ps3/PS1_Custom_Patches#Asterix_-_Mega_Madness

In the last days im trying to figure how the page in wiki "should work", "should look" and many others "should" but im not completly sure of how will look the final version and/or how other wiki editors are going to use it, but lets take this game as a guinea pig to add a sample in the wiki page at how it should work

I changed your "patch description" in the PPF header, thanks for the dedication, but is better to be a bit serious when labeling them :D
Is the same style i used with the others "SLES03324 LC crack by Solomonbye", in this case (because is only 1 disc and your nick is not extremelly long... there is room to do something like this later incase is needed "SLES03324 LC crack v2 by Solomonbye"
In theory if that happens it would mean that "v2" is an improvement over the previous version

It took some time, but i "splitted" all the patch commands to display them at left too (one line each)
The concept is pretty much the same used in this page https://www.psdevwiki.com/ps3/PS2_Custom_Configs
For PPF we are displaying offsets and patched data... but is posible to add asm, opcodes, or just a text description of what is patched

The offsets in the floating window at left could be endianess swapped and removed all the trailiing zeroes, to short the line and make more room for descriptions, but im keeping them exactly like in the other floating window at right to make more obvious to the wiki readers that both windows contains the same data

So... can you please write a short description for every line to add them to the wiki page ?
It would be very useful to me, the other day i was doing the first test with this idea with the game "Actua Ice Hockey 2" (pretty much the same i did now with your PPF) but i cant add any info in the floating window at left, but i would like to show a good sample of how im suggesting other wiki editors to use the page

Btw, the style used in the PS2 configs page (using arrows, some values converted to decimal, others byteswaped, etc...) was like the natural evolution of the people that was creating that custom configs, is mostly a matter to fit the biggest amount of technical info in a short single line
For this descriptions im asking you to do for a PPF in the PS1 custom patches page do whatever you find best, think in it as if you where talking with krHACKen by SMS \o/
 
Last edited:
Thanks, see what i did with it
https://www.psdevwiki.com/ps3/PS1_Custom_Patches#Asterix_-_Mega_Madness

In the last days im trying to figure how the page in wiki "should work", "should look" and many others "should" but im not completly sure of how will look the final version and/or how other wiki editors are going to use it, but lets take this game as a guinea pig to add a sample in the wiki page at how it should work

I changed your "patch description" in the PPF header, thanks for the dedication, but is better to be a bit serious when labeling them :D
Is the same style i used with the others "SLES03324 LC crack by Solomonbye", in this case (because is only 1 disc and your nick is not extremelly long... there is room to do something like this later incase is needed "SLES03324 LC crack v2 by Solomonbye"
In theory if that happens it would mean that "v2" is an improvement over the previous version

It took some time, but i "splitted" all the patch commands to display them at left too (one line each)
The concept is pretty much the same used in this page https://www.psdevwiki.com/ps3/PS2_Custom_Configs
For PPF we are displaying offsets and patched data... but is posible to add asm, opcodes, or just a text description of what is patched

The offsets in the floating window at left could be endianess swapped and removed all the trailiing zeroes, to short the line and make more room for descriptions, but im keeping them exactly like in the other floating window at right to make more obvious to the wiki readers that both windows contains the same data

So... can you please write a short description for every line to add them to the wiki page ?
It would be very useful to me, the other day i was doing the first test with this idea with the game "Actua Ice Hockey 2" (pretty much the same i did now with your PPF) but i cant add any info in the floating window at left, but i would like to show a good sample of how im suggesting other wiki editors to use the page

Btw, the style used in the PS2 configs page (using arrows, some values converted to decimal, others byteswaped, etc...) was like the natural evolution of the people that was creating that custom configs, is mostly a matter to fit the biggest amount of technical info in a short single line
For this descriptions im asking you to do for a PPF in the PS1 custom patches page do whatever you find best, think in it as if you where talking with krHACKen by SMS \o/

If you want to link to the individual PPFs, I have the initial set of krHACKen's patches here :
https://github.com/sahlberg/pop-fe/tree/master/libcrypt.
If you want to use the libcrypt directory in my github, we can store the other/additional PPFs there too.

In this file: https://raw.githubusercontent.com/sahlberg/pop-fe/master/gamedb.py
you have a mapping between the file names and the game-id. It is python but it is human readable.
The mapping for libcrypt is towards the end of the file and the data that starts with libcrypt = ...
 
Solomon presents : The sandungas dilema.

merry christmas to all & i hope it will make you laugh. it's all i can offer by now.
You made the PPF for the asterix game yesterday but you cant explain what you did in it ?, i thought it was not going to be hard for you to write a short description of what you did 24 hours ago because probably you remember the details very well
Although you found some time to do a subrealistic comic, ok, it didnt made me laugt but i think i got it
 
oh god, you are a way off what i meant.


--> the "all i can offer" was money related to support the job of everyone, [ a thing supposed to be given as a present, with relative value, always accompanied with the " merry christmas" ] based on latest question about SBI support on ps3 emulator I initiated and i am aware of.


Sorry you don't get it way i was trying to display how by detailing everything for a temp stage in the sbi implantation in cobra to avoid patching bins would kill necessity to make wiki on how to make ppf and will instead generate amount of threads on site like " u killed my iso, bla bla not working, i have to redownload everything, etc ".

i was trying to put it in funny way. nevermind.

explaining how to make ppf won't help anything if all is already available on the same page ready to download, even for educational purpose, it is way beyond niche market. you overcharge yourself with many things that will disappear the day the web site closes.
it was more in a sparing time i wanted to show you things. lil' mockery.

didn't i share excel file, didn't i contribute with all i could bring. didn't i respond to the request for gaul collection, even not asked to me but to krhacken ? of course i have time. i am willing to help, ways i can. if i dont get what you want i won't make 1st move randomly to ear afterward " you broke my wiki ".

now come close to me and make me a hug would you
:-p we need some love in this hard times.


update :
-- i requested account on your wiki. pending validation. meanwhile i tried to do something like i understand your request. it may not be the good location, i tried to not mess anything.

dont be mad if this is not what you expected
 
Last edited:
Only to provide my own perspective on wiki documentation.

sandungas, alongside a handful of other people, has been contributing to the wiki contents for years, the community owes him much in that regard, his objective in this particular case is merely to add as much data as possible to said wiki to help devs & users alike.

It's not his first rodeo, he already knows the strengths & weaknesses of psdevwiki, the issues related to site/resources online longevity, but he understands that all information is worth sharing as we never know in advance what info might turn useful a few years down the line, that the more information about something the better & he also knows that the target audience for such data can be very limited although the same thing could be said about much of the wiki's data.

I won't talk for other devs & hackers, although I am pretty sure they are all in the same situation, but I, for one, refer to the wiki often for development purposes, looking for technical information that 99.99% of users will never care to read or know.
Without that shared information that contributors like sandy have been compiling over the years, I would just waste time reinventing the wheel constantly, reversing code that has already been reversed a few years before etc..
In that light, I am convinced that a fair amount of features in currently available homebrew would never have seen the light of day without the documentation the wiki offered to their respective devs.
libcrypt support is a prime example, if the Cobra/emu devs had documented the scsi handling of subchannels + the emu's specs & that information had been added to the wiki, this thread would not have been necessary, someone has already done the research years ago but we don't really know who it was & even if we did it would not guarantee any answers, the topic was never documented & we now have to redo the research if only to confirm whether sbi support is a viable option, a waste of precious free time that could be better spent implementing imho.

Quite frankly I have been guilty of not adding enough of my findings to the wiki, at some point, I will have to make time to rectify that.
 
Last edited:
it is just a misunderstanding... you too, come to me, hug. :-p


in 2 days this topic is turned into " oh you see the french LC boy hacker wannabe, he tries to get ppl into a sexgroup for christmas"
 
oh god, you are a way off what i meant.


--> the "all i can offer" was money related to support the job of everyone, [ a thing supposed to be given as a present, with relative value, always accompanied with the " merry christmas" ] based on latest question about SBI support on ps3 emulator I initiated and i am aware of.


Sorry you don't get it way i was trying to display how by detailing everything for a temp stage in the sbi implantation in cobra to avoid patching bins would kill necessity to make wiki on how to make ppf and will instead generate amount of threads on site like " u killed my iso, bla bla not working, i have to redownload everything, etc ".

i was trying to put it in funny way. nevermind.

explaining how to make ppf won't help anything if all is already available on the same page ready to download, even for educational purpose, it is way beyond niche market. you overcharge yourself with many things that will disappear the day the web site closes.
it was more in a sparing time i wanted to show you things. lil' mockery.

didn't i share excel file, didn't i contribute with all i could bring. didn't i respond to the request for gaul collection, even not asked to me but to krhacken ? of course i have time. i am willing to help, ways i can. if i dont get what you want i won't make 1st move randomly to ear afterward " you broke my wiki ".

now come close to me and make me a hug would you
:-p we need some love in this hard times.


update :
-- i requested account on your wiki. pending validation. meanwhile i tried to do something like i understand your request. it may not be the good location, i tried to not mess anything.

dont be mad if this is not what you expected
Is not my wiki, im just one of the contributors

You are very optimistic thinking that everything is going to work fine, but right now we are at the same point, the only new "hack" is the feature implemented in pop-fe by ronnie that allows to add the libcrypt magic word in a "PS1 classic" PKG, but as far i know this is not fully confirmed to work for all libcrypt protected games
The other new thing for me is the discovery of the awesome PPF collection made by krHACKen, i was thinking about it since many time ago but i was not aware that already existed :D
The problem is that collection is focused in the discs released in france... the other european countries/languages are lucky because that same france games includes some other euro languages, but there are still many libcrypt protected games without a minimalistic PPF patch... to mention some... the final fantasies or soul reaver
Thats one of the reasons why the PPF patches from krHACKen are so important, because could be used as a reference to create the minimalistic patches for the other euro discs

Anyway, i was asking to write a small description here in the forum, just to have something to add to the wiki page as an example, it seems someone edited the page yesterday and did it, thats good enought

Btw @krHACKen can you take a look at the list of "magic words" that appears in the page ?, i copyed them from the .txt you uploaded the other day, but was missing 7 games or so (press CTRL+F keys in your web browser and search for ???? to find them in the page)
 
Last edited:
your 8 remaining codes...
 

Attachments

  • sandungas words.jpg
    sandungas words.jpg
    553.3 KB · Views: 114
Last edited:
They are wrong, because of reversed endianess. For example, Spyro 3 1.0 MW is 0x369A.

yea, sure, someone will explain to you, meanwhile, you wanna dance ?:chewie:


edit:

i revert to previous form of the message: are you acting on purpose for a contest or you are naturally an IDIOT ?
 

Attachments

  • Annotation 2021-12-23 132222.jpg
    Annotation 2021-12-23 132222.jpg
    50.1 KB · Views: 99
Last edited:

Similar threads

Back
Top