Newsgroup: it.comp.hardware.cd
Titolo: TOC e dintorni (parte 1 e 2)

Premesso che ciò che sto per dire non costituisce reato, in quanto la
creazione di CD protetti è una metodologia impiegata dalla maggior parte
delle software house di giochi, quindi procedimento atto a prevenire la
pirateria piuttosto che a diffonderla, vorrei esporre dettagliatamente le
mie conoscenze in tale settore.
Inanzitutto chiedo scusa agli "esperti" che sanno già tutto; spero di non
annoiarvi :-)
Le critiche sono ben accette, se costruttive...nessuno pretende di essere il
depositario della verità assoluta. E questo vale anche per il sottoscritto!
Basta che non si cominci ad offendere, come capita spesso da un po' di tempo
a questa parte.
Cosa abbiamo a disposizione noi brava gente per poterci creare un CD
protetto dalla copia? Certamente non le tecnologie a disposizione delle
software house; vedi ad. esempio la tecnologia SecuROM, oppure LaserLock,
oppure SafeDisc oppure CD Cops oppure DiscGuard, etc. (a tal proposito
rimando al sito 
http://cdfreaks.com/italia/index2.html
 per maggiori
informazioni sulle varie protezioni dalla copia).
Proprio in questo sito esiste una descrizione abbastanza dettagliata sulla
creazione di TOC illegale (che è il tipo di protezione che ci accingiamo a
sviscerare), ma non tanto chiara e completa. A suo tempo, a onor del vero,
mandai una copia del mio lavoro a quel sito, che lo rese disponibile a
tutti; quindi non faccio niente di nuovo e trascedentale, ma poiché ho
ricevuto parecchie richieste di chiarimenti e delucidazioni, umilmente le
rendo disponibili, in linea con la filosofia Internet.
Cosa vuol dire TOC?
Cosa aspettarsi da un CD protetto dal TOC illegale?
TOC (abbr. di Table Of Contents) si può definire come un Indice che
racchiude le informazioni riguardanti la struttura delle tracce all'interno
di una sessione di lavoro. Questo TOC fa parte integrante del cosidetto
Lead-in che viene sempre scritto insieme a suo fratello lead-out (che invece
indica la fine fisica di una sessione) alla chiusura di ogni sessione.
Creare un TOC illegale o fasullo vuol dire riuscire a "imprigionare"
all'interno del CD delle informazioni errate sullla struttura dello stesso.
Nero Burning Rom ha un'opzione (Ignora tipo di Toc illegale) che permette,
quando si fa la copia di un CD ( sia al volo sia previa costruzione di file
immagine ) di eludere le informazioni errate. Altro Software, come ad es.
Easy Cd Creator, non ha questa opzione e quindi quando tentiamo di copiare
un CD si arresta e dice; "Amico, questo CD non è OK".
Ma qui viene il bello; anche Nero, di fronte a certi tipi di TOC illegali,
non riesce a proseguire nella copia.
Ma di questo parlerò la prossima volta, quando descriverò i vari sistemi per
creare TOC fasullo.
Quando riusciremo a crearci il nostro CD protetto con il TOC illegale avremo
o no un CD protetto ?
Sicuramente si per quanto riguarda la copia CD--->CD ; no, invece, per
quanto riguarda i dati stessi contenuti all'interno che possono essere
benissimo copiati su HD e quindi rimasterizzazati.
Che senso ha tutto questo allora?
Supponiamo che io sia un programmatore che ha finito di sviluppare
un'applicazione di svariati milioni.
Voglio creare un CD non solo protetto (quindi rendere la vita difficile ai
masterizzatori e a chi li usa) ma anche che abbia i dati protetti.
Seguitemi nella logica. Il CD perfetto dovrebbe essere fatto così:
1-) Protezione (TOC illegale) --->no copia cd
2-) Applicativo (Software o Gioco) all'interno del CD che, una volta
installato sul computer, per poter caricarsi vada alla ricerca di un "quid",
un qualcosa all'interno del CD originale, e solo lì. Questo "qualcosa"
potrebbe essere un file, un altro eseguibile, il numero di identificazione
del CD, etc. L' eseguibile, si dice, dovrebbe fare un controllo del CD, il
cosidetto " Check Cd ". Se trova quello che deve trovare prosegue nella sua
"corsa", altrimenti ti dice: "Calma ragazzo, questo non è il CD originale" e
si blocca.
In questo modo, tanto per fare un esempio funziona il gioco Half Life, come
molti sapranno.
Quindi l'unico modo sarebbe fare un CD identico all'originale, ma come se
c'è un TOC che non te lo permette?
CREARE CD  PROTETTI (seconda parte)
(by MiCo '99)
Premesso che per creare questo tutorial ho preso lo spunto dal sito CD
Freaks, e precisamente dalla sezione "Protezione dalla copia", mi sono preso
la briga di ampliare e rendere più chiari alcuni concetti per i visitatori
del sito medesimo.
Ho usato il seguente equipaggiamento:
* CDRWin 3.7E (indispensabile)
* CDRCue CueSheet Editor 1.0c (indispensabile)
* Un masterizzatore Traxdata CDR4120 Pro (4x in scrittura) (SCSI)
* Un lettore Plextor Ultraplex 32x (SCSI)
ESEMPIO 1 (copia da CD di dati)
In questo esempio ho usato un CD che ha soltanto una traccia Dati (CD di
dati).
Aggiungeremo una traccia fasulla alla copia per creare un CD con TOC
illegale.
Incominciamo avviando CDRWin e scegliendo Extract Disc/Tracks/Sectors e
selezionando il lettore sorgente in CD reader ed inserendo un nome per il
nostro file immagine. Lasciare gli altri settaggi così come sono e cliccare
su Start. Verranno ora creati il file immagine(file *.bin) ed il
Cuesheet(*.cue).Il cuesheet è un file creato da CDRWIn nel quale sono
contenute tutte le informazioni sul layout del CD (lunghezza e disposizione
delle tracce).Dopo che l'immagine è stata creata, cliccare sull'icona Record
Disc e caricare il CueSheet (v. "Load CueSheet..."). Verificare il Total
Disc Time (v. tempo totale del disco)e segnarselo. Nel mio caso il tempo
totale del disco è: 73:53:47
Adesso avviamo Notepad o qualsiasi altro editor di testo e apriamo il
Cuesheet.
Sarà del tipo:
FILE "C:\Prova\IMMAGINE.BIN" BINARY ----->file immagine di CDRwin
  TRACK 01 MODE2/2352
    INDEX 01 00:00:00
Adesso aggiungiamo la traccia fasulla alla fine del Cuesheet usando No e
impostandola sul Tempo Totale del Disco meno 2 Secondi! Il mio tempo totale
del disco era 73:53:47, quindi diventerà 73:51:47
FILE "C:\Prova\IMMAGINE.BIN" BINARY
  TRACK 01 MODE2/2352
    INDEX 01 00:00:00
  TRACK 02 MODE2/2352
    INDEX 01 73:51:47
Adesso apriamo di nuovo CDRWin e ritorniamo in Record Disc e clicchiamo su
Disc Layout.
Noteremo che il tempo di partenza della Track 2 (la traccia fasulla) NON è
73:51:47, ma bensì 73:53:47. E questo è esattamente il tempo di partenza per
il Lead Out.
Usciamo dalla schermata Disc Layout e adesso possiamo masterizzare il disco
cliccando su Start Recording. Quando verrà detto che il nostro CD sta
violando
le specifiche CDROM semplicemente continuiamo.
Quando il CD è fatto e lo si carica in Extract Disc/Tracks/Sectors si può
vedere la 2ª Track (fasulla) nel CD, e se voglio creare un file immagine
ottengo un errore e non posso continuare.
Ovviamente, questa protezione non è perfetta. Non posso copiare il CD usando
CDRwin e/o Nero, usando il Traxdata, o il Plextor come source reader (v.
lettore sorgente).
Se, però, abbiamo l'hardware giusto (un buon masterizzatore SCSI, come un
Plextor) possiamo copiare il CD se usiamo il Masterizzatore come Source
Reader.
ESEMPIO 2
(protezione migliore: modalità diverse)
Se vogliamo migliorare questa protezione, cosicché il CD non possa essere
copiato in nessun modo e per sempre, aggiungiamo una 2ª traccia dati che è
in una modalità diversa. Per esempio, il mio CD usava 1 traccia dati. Se
aggiungo una traccia fasulla in una modalità differente, il Cuesheet
apparirà più o meno così:
FILE "C:\Prova\IMMAGINE.BIN" BINARY
  TRACK 01 MODE2/2352  ------>Mode 2
    INDEX 01 00:00:00
  TRACK 02 MODE1/2352  ------>Mode 1
    INDEX 01 73:51:47
oppure
FILE "C:\Prova\IMMAGINE.BIN" BINARY
  TRACK 01 MODE2/2352  ------>Mode 2
    INDEX 01 00:00:00
  TRACK 02 AUDIO       ------>Mode Audio
    INDEX 01 73:51:47
ESEMPIO 3
(da CD Audio)
Altro esempio: creiamo file immagine e cuesheet da CD AUDIO (nel mio caso,
durata: 78:45:06).
Il Cd è un cd Audio dato da 19 track.
FILE "C:\Prova\IMMAGINE.BIN" BINARY
  TRACK 01 AUDIO
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    INDEX 01 03:57:53
  TRACK 03 AUDIO
    INDEX 01 08:28:38
  TRACK 04 AUDIO
    INDEX 01 13:16:54
  TRACK 05 AUDIO
    INDEX 01 17:13:37
  TRACK 06 AUDIO
    INDEX 01 21:09:18
  TRACK 07 AUDIO
    INDEX 01 23:42:68
  TRACK 08 AUDIO
    INDEX 01 26:13:28
  TRACK 09 AUDIO
    INDEX 01 30:05:29
  TRACK 10 AUDIO
    INDEX 01 34:30:30
  TRACK 11 AUDIO
    INDEX 01 39:00:27
  TRACK 12 AUDIO
    INDEX 01 43:59:59
  TRACK 13 AUDIO
    INDEX 01 46:48:63
  TRACK 14 AUDIO
    INDEX 01 52:39:40
  TRACK 15 AUDIO
    INDEX 01 57:34:57
  TRACK 16 AUDIO
    INDEX 01 62:25:00
  TRACK 17 AUDIO
    INDEX 01 68:22:43
  TRACK 18 AUDIO
    INDEX 01 71:19:70
  TRACK 19 AUDIO
    INDEX 01 74:31:25
  TRACK 20 MODE1/2352 ---->traccia fasulla
    INDEX 01 78:43:06
Ho aggiunto al cuesheet una ventesima traccia fasulla in modalità
diversa(Mode1) e indicando sempre il tempo totale del CD meno due secondi.
ESEMPIO 4
(CD Dati da disco rigido)
SCOPO: vogliamo costruire, ex-novo, un CD DATI protetto partendo da file di
dati del nostro HD.
Con CDRWin creiamo un file immagine (file *.iso) di dati presenti sul nostro
disco rigido.
CDRWin ---->File Backup and Tools ----> Build an ISO9960 Image File
Una volta creato il file immagine *.iso (11:54:59 nel mio caso) apriamo
CDRCue CueSheet Editor:
CDRCue ---->Insert ---->File... ---->inseriamo il file immagine *.iso creato
con CDRWin per creare noi direttamente il nuovo cuesheet che sarà del tipo:
FILE C:\Prova\IMMAGINE.ISO BINARY
  TRACK 01 MODE1/2048
    INDEX 01 00:00:00
Salviamo il cuesheet appena creato; ora apriamolo col Notepad per andare ad
aggiungere la traccia fasulla:
FILE C:\Prova\IMMAGINE.ISO BINARY
  TRACK 01 MODE1/2048
    INDEX 01 00:00:00
  TRACK 02 MODE2/2352 ---->traccia fasulla in modalità diversa
    INDEX 01 11:52:59 ---->durata CD, meno due secondi,come al solito!
Salviamo e apriamo ora il cuesheet con CDRWin: masterizziamo!:-)))
ESEMPIO 5
(Audio da disco rigido)
Scopo: vogliamo costruire, ex novo, un CD AUDIO protetto partendo da file
*.wav del nostro HD. Per fare questo dovremo creare prima un cuesheet CD
mixed mode e poi aggiungere la traccia fasulla.
Useremo CDRCue per inserire nel cuesheet i file wav e CDRWin per il resto.
Quindi:
CDRCue ---->Insert ---->File... ---->inseriamo i Wav nell'ordine desiderato.
Ora, il problema è quello di inserire una traccia diversa da quella Audio,
una traccia dati. Con CDRCue,come già si è visto nell'esempio 4, si possono
inserire anche file *.iso (file immagine) costituiti da dati.
Ora quindi apriamo CDRWin e ripetiamo la procedura
CDRWin ---->File Backup and Tools ----> Build an ISO9960 Image File
dove useremo, per la creazione del file immagine,un file di testo *.txt di
pochi Kb creato in precedenza.
Creato il file immagine, lo importeremo con CDRCue nel cuesheet al di sotto
dell'ultima traccia audio, come si vede qui sotto:
FILE C:\MUSICA~1\MP3~1\EAGLES~1\A.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\a.wav
  TRACK 01 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\B.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\b.wav
  TRACK 02 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\C.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\c.wav
  TRACK 03 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\D.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\d.wav
  TRACK 04 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\E.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\e.wav
  TRACK 05 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\F.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\f.wav
  TRACK 06 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\G.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\g.wav
  TRACK 07 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\H.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\h.wav
  TRACK 08 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\I.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\i.wav
  TRACK 09 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\L.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\l.wav
  TRACK 10 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\M.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\m.wav
  TRACK 11 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\N.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\n.wav
  TRACK 12 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\O.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\o.wav
  TRACK 13 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\P.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\p.wav
  TRACK 14 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\Q.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\q.wav
  TRACK 15 AUDIO
    INDEX 01 00:00:00
FILE C:\Prova\IMMAGINE.ISO BINARY ---->file immagine *.iso
  TRACK 16 MODE1/2048
    INDEX 01 00:00:00
Salviamo il tutto e importiamo il cuesheet in CDRWin.
Apriamo la finestra Disc Layout e vediamo che il Track 16 Mode1 è lungo
00:04:00.
Quindi cosa facciamo adesso? Creiamo un'altra traccia, fasulla, usando il
Notepad, e come indicato qui sotto;
FILE C:\MUSICA~1\MP3~1\EAGLES~1\A.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\a.wav
  TRACK 01 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\B.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\b.wav
  TRACK 02 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\C.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\c.wav
  TRACK 03 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\D.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\d.wav
  TRACK 04 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\E.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\e.wav
  TRACK 05 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\F.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\f.wav
  TRACK 06 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\G.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\g.wav
  TRACK 07 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\H.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\h.wav
  TRACK 08 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\I.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\i.wav
  TRACK 09 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\L.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\l.wav
  TRACK 10 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\M.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\m.wav
  TRACK 11 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\N.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\n.wav
  TRACK 12 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\O.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\o.wav
  TRACK 13 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\P.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\p.wav
  TRACK 14 AUDIO
    INDEX 01 00:00:00
FILE C:\MUSICA~1\MP3~1\EAGLES~1\Q.WAV WAVE  ; D:\M U S I C A\M P 3\Eagles-
LIVE\q.wav
  TRACK 15 AUDIO
    INDEX 01 00:00:00
FILE C:\PIER\IMMAGINE.ISO BINARY
  TRACK 16 MODE1/2048
    INDEX 01 00:00:00
  TRACK 17 MODE2/2352 ---->traccia fasulla
    INDEX 01 00:04:00
Abbiamo creato un CD Mixed mode con traccia fasulla.
NB: togliere sempre 4 secondi ai CD mixed mode.
Andiamo poi a masterizzare!!!
Questa volta l'unico modo per vedere le tracce fasulle è quello di aprire in
CDRWin la finestra Table of Contents, dove vediamo che sul CD ci sono 17
tracce tra le quali due di dati.
Il nostro CD audio è induplicabile.
La prossima volta una sezione dedicata al CHECK CD.
Ma datemi un po' di tempo.
Buona protezione a tutti!!!

 mtg <
http://members.xoom.it/mtgonline/

Hai ragione...ho fatto un errore di scrittura...capita!
Comunque segui le indicazioni e non ti sbaglierai
Grazie e ciao

Errata corrige:
73:53:47 meno due secondi =73(min):51:47
O no?

Leggi bene i vari modi per creare i cue files.

 mtg <
http://members.xoom.it/mtgonline/