Hi guys,
I've analyzed the copy-protection of Audio Sculpture 1.5 and focused on how protected tracks and sectors are verified.
I've written scripts (a chain of breakpoint actions) that allow to "crack" the copy-protection under Hatari:
The original copy of AS 1.5 (AudioSculpture1-5.STX) has been duplicated using FastCopy III.
The resulting regular ST image can be run successfully under Hatari using the scripts provided in the attached zip file.
The zip file contains the following README:
Code: Select all
Audio Sculpture 1.5 - "IPL crack under Hatari 2.1.0"
By Orion / Replicants - January 2020
This set of files provides the means to crack the copy-protection of
Audio Sculpture 1.5 using the debugging facilities of Hatari 2.1.0.
This protection is called "IPL" which means "Initial Program Lock".
It consists of three different protections assembled into a single
mega-protection whose complete execution takes 15 seconds!
It has been developed by Illegal (Replicants), Altair (VMAX),
Zarathustra (The Invisibles) and some guys from SYNC.
It is present on all software published by Expose Software: Audio
Sculpture (all versions), No Buddies Land and Son Shu Shi.
The original copy of AS 1.5 (AudioSculpture1-5.STX) has been duplicated
using FastCopy III.
This copy is provided as a regular ST image (AudioSculpture1-5-COPY.ST).
If this ST image is run under Hatari without special actions, it will
crash because of the IPL copy-protection.
The *.ini files of this delivery implement a breakpoint actions chain
allowing to run the ST image of AS 1.5 under Hatari and to perform actions
such as patching the memory and the registers on-the-fly in order to
"crack" the IPL protection and to make the regular ST image of AS 1.5
run correctly.
To crack the IPL and make the ST image work correctly, launch a Unix
shell, go the the 'AS15.CRK' directory containing the *.ini files and
launch Hatari as follows:
$ <path_to_hatari>/hatari --configfile <your_hatari_config_file> --disk-a ./AudioSculpture1-5-COPY.ST --parse ./as15_bp0.ini
It is also possible to run the original copy of AS 1.5 (the STX image)
with the same breakpoint actions chain:
$ <path_to_hatari>/hatari --configfile <your_hatari_config_file> --disk-a ./AudioSculpture1-5.STX --parse ./as15_bp0.ini
This will dump the content of the protected tracks and sectors as well as
the routines that perform copy-protection checks.
This delivery contains the following files:
- README.txt
This file.
- AudioSculpture1-5.STX
The image of the original protected disk of AS 1.5.
- AudioSculpture1-5-COPY.ST
The image of the copy (using FastCopy III) of AS 1.5 (protected tracks
and sectors are missing or incorrect).
The purpose of the files below is to be able to run this image
correctly under Hatari.
- as15_bp0.ini
The head of the breakpoint actions chain that is used to "crack" the
protection of Audio Sculpture 1.5 under Hatari.
- as15_bp1.ini
Neutralize track#1 protection.
Hidden data into gap (HDG) and Invalid Data in Gap (IDG).
- as15_bp2_1.ini
Neutralize track#2 protection (1st part).
Hidden data into gap (HDG) and Invalid Data in Gap (IDG).
- as15_bp2_2.ini
Fix loading of IPL Part#3.
- as15_bp3_1.ini
Neutralize track#2 protection (2nd part).
Hidden data into gap (HDG) and Invalid Data in Gap (IDG).
- as15_bp3_2.ini
Neutralize track#3 protection (1st part).
Write Splice Inside Sector (SIS).
- as15_bp3_3.ini
Neutralize track#3 protection (2nd part).
Write Splice Inside Sector (SIS).
- as15_bp3_4.ini
Neutralize track#3 protection (3rd part).
Write Splice Inside Sector (SIS).
- as15_bp4.ini
Neutralize track#1 protection inside Audio Sculpture (outside the IPL).
Hidden data into gap (HDG) and Invalid Data in Gap (IDG).
- ipl_part3.bin
The 3rd part of the IPL normally located on sectors of track#2.
Every .ini file provides detailed comments about each part of the
copy-protection.
If you want to understand how this copy-protection works, just follow the directives.
It is a good complement to the doc written by Jean (DrCoolZic) as it shows what is actually verified (and how) by the copy-protection.
The "Write Splice Inside Sector" protection is very interesting and surprising as the copy-protection code is buggy!

(see the
as15_bp3_3.ini file for details).
I have another doc pending, but this one is more focused on the software part, and in particular on all the tricks used by the authors of the copy-protection to make it painful to reverse-engineer. I will publish it later...
Orion / Replicants
You do not have the required permissions to view the files attached to this post.