APrip - Generic Patching Of Additional Anti-Piracy Copy Protection Found In Some Later PSX Games (Including LibCrypt)
-
Verified
- 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)
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
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.
- masterg0r0
- Active PSXDEV User
- Posts: 66
- Joined: Jul 18, 2021
- I am a: Programmer
- Motto: They see me rollin'
- PlayStation Model: 7502
Neat stuff.
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. 


PSX Dev. Console: SCPH-7502 (PAL), MM3, Xplorer with Caetla 0.38.
-
Verified
- Extreme PSXDEV User
- Posts: 221
- Joined: Oct 21, 2021
- I am a: Programmer, Gamer
- PlayStation Model: SCPH-1000
- Location: USA
- Contact:
I looked into this. It's actually infeasible because the magic key is unobtainable from the incorrectly ripped image.masterg0r0 wrote: ↑November 25th, 2022, 10:26 am Neat stuff.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.
![]()
- masterg0r0
- Active PSXDEV User
- Posts: 66
- Joined: Jul 18, 2021
- I am a: Programmer
- Motto: They see me rollin'
- PlayStation Model: 7502
What if instead you could obtain it from a CloneCD (.SUB) subchannel file?
PSX Dev. Console: SCPH-7502 (PAL), MM3, Xplorer with Caetla 0.38.
-
Verified
- Extreme PSXDEV User
- Posts: 221
- Joined: Oct 21, 2021
- I am a: Programmer, Gamer
- PlayStation Model: SCPH-1000
- Location: USA
- Contact:
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?masterg0r0 wrote: ↑November 29th, 2022, 7:14 am What if instead you could obtain it from a CloneCD (.SUB) subchannel file?
It really just ends up not making sense to add.
-
Verified
- Extreme PSXDEV User
- Posts: 221
- Joined: Oct 21, 2021
- I am a: Programmer, Gamer
- PlayStation Model: SCPH-1000
- Location: USA
- Contact:
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.
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.
- masterg0r0
- Active PSXDEV User
- Posts: 66
- Joined: Jul 18, 2021
- I am a: Programmer
- Motto: They see me rollin'
- PlayStation Model: 7502
You're right.alexfree wrote: ↑November 29th, 2022, 8:49 amThat 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?masterg0r0 wrote: ↑November 29th, 2022, 7:14 am What if instead you could obtain it from a CloneCD (.SUB) subchannel file?
It really just ends up not making sense to add.
PSX Dev. Console: SCPH-7502 (PAL), MM3, Xplorer with Caetla 0.38.
-
Verified
- Extreme PSXDEV User
- Posts: 221
- Joined: Oct 21, 2021
- I am a: Programmer, Gamer
- PlayStation Model: SCPH-1000
- Location: USA
- Contact:
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.masterg0r0 wrote: ↑December 4th, 2022, 11:29 pmYou're right.alexfree wrote: ↑November 29th, 2022, 8:49 amThat 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?masterg0r0 wrote: ↑November 29th, 2022, 7:14 am What if instead you could obtain it from a CloneCD (.SUB) subchannel file?
It really just ends up not making sense to add.
I might put this in aprip when i can make it a reality.
-
Verified
- Extreme PSXDEV User
- Posts: 221
- Joined: Oct 21, 2021
- I am a: Programmer, Gamer
- PlayStation Model: SCPH-1000
- Location: USA
- Contact:
New update with LibCrypt v1 support 100%
https://github.com/alex-free/aprip#downloads
https://github.com/alex-free/aprip#downloads
-
Verified
- Extreme PSXDEV User
- Posts: 221
- Joined: Oct 21, 2021
- I am a: Programmer, Gamer
- PlayStation Model: SCPH-1000
- Location: USA
- Contact:
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.
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.
Who is online
Users browsing this forum: Majestic-12 [Bot] and 3 guests