APrip - Generic Patching Of Additional Anti-Piracy Copy Protection Found In Some Later PSX Games (Including LibCrypt)

Members research, findings and information that can be useful towards the PlayStation 1.
Post Reply
alexfree
Verified
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 221
Joined: Oct 21, 2021
I am a: Programmer, Gamer
PlayStation Model: SCPH-1000
Location: USA
Contact:

APrip - Generic Patching Of Additional Anti-Piracy Copy Protection Found In Some Later PSX Games (Including LibCrypt)

Post by alexfree » November 5th, 2022, 11:00 am

https://alex-free.github.io/aprip

APrip is a portable open source tool capable of bypassing/patching-out the ‘standardized’ additional anti-piracy copy protection found in some later PSX games. APrip can:

Patch The CD Image of a PSX game directly to remove the additional anti-piracy copy protection.

Generate valid GameShark code(s) to remove the additional anti-piracy copy protection.

Convert an existing GameShark code which bypasses or removes the additional anti-piracy copy protection for one version of a game to a different version (i.e. converts a Rev 0 code to a Rev 1 or Demo version compatible code, or for a different regional release of the same game entirely).

I explain a bit how it works here as well: https://alex-free.github.io/aprip#how-it-works
Last edited by alexfree on June 22nd, 2023, 5:19 pm, edited 3 times in total.

User avatar
masterg0r0
Active PSXDEV User
Active PSXDEV User
Posts: 61
Joined: Jul 18, 2021
I am a: Modder and Hobbyist Developer
Motto: Everything is hackable 100%!
PlayStation Model: 1002+7502
Location: United Kingdom

Post by masterg0r0 » November 25th, 2022, 10:26 am

Neat stuff. :dance Would be nice if APrip had support for LibCrypt as well, by locating the magic key word through the sectors and then implement it through the CD image, as well as the anti-AR and anti-modchip patches. But then again, that might sound too complicated. :?

alexfree
Verified
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 221
Joined: Oct 21, 2021
I am a: Programmer, Gamer
PlayStation Model: SCPH-1000
Location: USA
Contact:

Post by alexfree » November 28th, 2022, 6:08 pm

masterg0r0 wrote: November 25th, 2022, 10:26 am Neat stuff. :dance Would be nice if APrip had support for LibCrypt as well, by locating the magic key word through the sectors and then implement it through the CD image, as well as the anti-AR and anti-modchip patches. But then again, that might sound too complicated. :?
I looked into this. It's actually infeasible because the magic key is unobtainable from the incorrectly ripped image.

User avatar
masterg0r0
Active PSXDEV User
Active PSXDEV User
Posts: 61
Joined: Jul 18, 2021
I am a: Modder and Hobbyist Developer
Motto: Everything is hackable 100%!
PlayStation Model: 1002+7502
Location: United Kingdom

Post by masterg0r0 » November 29th, 2022, 7:14 am

What if instead you could obtain it from a CloneCD (.SUB) subchannel file?

alexfree
Verified
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 221
Joined: Oct 21, 2021
I am a: Programmer, Gamer
PlayStation Model: SCPH-1000
Location: USA
Contact:

Post by alexfree » November 29th, 2022, 8:49 am

masterg0r0 wrote: November 29th, 2022, 7:14 am What if instead you could obtain it from a CloneCD (.SUB) subchannel file?
That would be the only way. But at that point, why would you not just burn the CD-R correctly with the proper subchannel data using Clone CD?

It really just ends up not making sense to add.

alexfree
Verified
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 221
Joined: Oct 21, 2021
I am a: Programmer, Gamer
PlayStation Model: SCPH-1000
Location: USA
Contact:

Post by alexfree » November 29th, 2022, 9:01 am

V1.0.2 Update Changes:
https://alex-free.github.io/aprip#downloads

Cleaned up cd-command-logger.sh/cd-command-logger.bat and ap-type-checker.sh/ap-type-checker.bat scripts. The Windows find command is now executed via it’s full filepath (in system32) to ensure the correct find command is being executed. It was possible in v1.0.1 that some non-standard %PATH% configuration could override the Windows default find command, breaking the .bat scripts.

Small performance increase (start searching at sector 19 instead of 0) for the bin-patcher mode has been applied.

User avatar
masterg0r0
Active PSXDEV User
Active PSXDEV User
Posts: 61
Joined: Jul 18, 2021
I am a: Modder and Hobbyist Developer
Motto: Everything is hackable 100%!
PlayStation Model: 1002+7502
Location: United Kingdom

Post by masterg0r0 » December 4th, 2022, 11:29 pm

alexfree wrote: November 29th, 2022, 8:49 am
masterg0r0 wrote: November 29th, 2022, 7:14 am What if instead you could obtain it from a CloneCD (.SUB) subchannel file?
That would be the only way. But at that point, why would you not just burn the CD-R correctly with the proper subchannel data using Clone CD?

It really just ends up not making sense to add.
You're right.

alexfree
Verified
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 221
Joined: Oct 21, 2021
I am a: Programmer, Gamer
PlayStation Model: SCPH-1000
Location: USA
Contact:

Post by alexfree » December 18th, 2022, 4:27 pm

masterg0r0 wrote: December 4th, 2022, 11:29 pm
alexfree wrote: November 29th, 2022, 8:49 am
masterg0r0 wrote: November 29th, 2022, 7:14 am What if instead you could obtain it from a CloneCD (.SUB) subchannel file?
That would be the only way. But at that point, why would you not just burn the CD-R correctly with the proper subchannel data using Clone CD?

It really just ends up not making sense to add.
You're right.
I did have a thought on this. A generic patcher could be made to remove libcrypt protection (as I have done from inside tonyhax international's loader as a test that didn't make it in any final releases due to the sheer size and complexity it added to the loader itself). I could modify that code, and have it simply read each boot file at the expected offset within a disc image as input. That disc image, if matched, could have a 'magic key' mapped to it that runs my generic routine to patch out most LibCrypt2 Protected games (works on Dino Crisis and a few others in my original, very limited testing but the method is essentially an automatic version of the hex editing method for LC2 described in the LibCrypt Bible page: https://red-j.github.io/Libcrypt-PS1-Pr ... /index.htm). If a match isn't found, you'd have to know the magic key and you could pass that as an argument to the patcher. Still would be useful, even if you need to figure out the magic key yourself since there are lists: https://www.psdevwiki.com/ps3/PS1_Custom_Patches which I could also use for the table to automate that.

I might put this in aprip when i can make it a reality.

alexfree
Verified
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 221
Joined: Oct 21, 2021
I am a: Programmer, Gamer
PlayStation Model: SCPH-1000
Location: USA
Contact:

Post by alexfree » June 22nd, 2023, 5:18 pm

New update with initial LibCrypt v2 support

https://github.com/alex-free/aprip#version-103-6222023

alexfree
Verified
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 221
Joined: Oct 21, 2021
I am a: Programmer, Gamer
PlayStation Model: SCPH-1000
Location: USA
Contact:

Post by alexfree » June 27th, 2023, 11:52 am

New update with LibCrypt v1 support 100%
https://github.com/alex-free/aprip#downloads

alexfree
Verified
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 221
Joined: Oct 21, 2021
I am a: Programmer, Gamer
PlayStation Model: SCPH-1000
Location: USA
Contact:

Post by alexfree » July 29th, 2023, 6:50 am

APrip v1.0.5 update https://github.com/alex-free/aprip#downloads
Changes:

Removed broken non-stealth mod-chip APv1/APv2 patching.
Improved and cleaned up code, enabling build on Pop!OS.
Added info on EDC Protected games.

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests