[zxspectrum] Re: DEMO PENTAGON su ZX-UNO
- From: Luca Alimandi <luca.alimandi62@xxxxxxxxxxx>
- To: zxspectrum@xxxxxxxxxxxxx
- Date: Sat, 3 Sep 2016 11:29:46 +0200
Il 03/09/2016 04:00, Massimo Raffaele ha scritto:
Il giorno 2 settembre 2016 19:30, Luca Alimandi
<luca.alimandi62@xxxxxxxxxxx <mailto:luca.alimandi62@xxxxxxxxxxx>> ha
scritto:
Il 02/09/2016 19:18, Enrico Maria Giordano ha scritto:
Il 02/09/2016 17:44, Massimo Raffaele ha scritto:
Potrebbe essere interessante, dato che su sei in grado di
farlo. O
magari una piccola guida che spieghi come avevi fatto in
passato...
per chi non sa come fare e vorrebbe imparare.
Il problema, oltre ai decenni trascorsi, è che praticamente
ogni sprotezione era un caso a sé. In generale quello che
facevo è cominciare a cercare l'entry point. Spesso già quello
non era facile da trovare. Però il programma da qualche parte
deve cominciare. Quindi se c'era un Basic si cercava la linea
di inizio e si partiva da lì. A volte c'era del codice
macchina nascosto che magari spostava o caricava dei blocchi
di codice che si sovrapponevano all'area Basic sostituendo il
Basic attuale. Alla fine si doveva trovare una chiamata Basic
o L/M ad un tape loader e si cercava di individuare i blocchi
caricati e l'indirizzo di partenza. A questo punto si
cominciava a seguire il linguaggio macchina per vedere di
individuare se c'era una protezione e dove intervenire per
bypassarla. Per non parlare poi del multiload che andavano
ricercati chissà dove nel codice macchina. Insomma, un bel casino.
EMG
Già, ricordo!... Anche se io lo facevo per i software di utilità
(word processor, desktop publishing, grafica, ecc...). Comunque
confermo: un vero casino. E per i giochi molto di più! :'(
Ovviamente hai stuzzicato il preservatore seriale che è in me :-). Hai
ancora quei software da te sprotetti?
Max
No, purtroppo ho paura che stavolta non ci sia trippa per gatti! :-D
A parte gli scherzi, la questione è che più che sproteggere dei
programmi, ne facevo una specie di reverse engineering, allo scopo di
aggiungere funzionalità, correggere bug, estrapolare parti di programma
da riutilizzare separatamente, o identificare il modo in cui venivano
salvati e usati i file allo scopo di creare delle utility esterne per
gestirli in modo più agevole e avanzato...
Un esempio calzante è DTP Pack
<
http://www.worldofspectrum.org/infoseek.cgi?regexp=%5EDTP+Pack$&pub=%5EP%2eC%2eG%2e+Computer+Software$&loadpics=1>,
un programma di Desktop Publishing che era composto di diversi moduli:
uno per la videoscrittura, uno per la composizione di immagini, uno per
l'impaginazione del tutto, uno per la stampa ad alta risoluzione
(ovviamente si parla di stampanti ad aghi e simili!...). Dovresti
conoscerlo bene, in quanto ho visto che se ne parlò in lista...
Una particolarità di quel programma, che a mio avviso lo rendeva
estremamente avanzato, era la possibilità di caricare in memoria dei
"plugin", dei pezzi di eseguibile che venivano utilizzati per ampliare
le funzionalità ed eseguire attività particolari. Analizzando il modo in
cui erano realizzati quelli forniti in dotazione, riuscii a crearne
degli altri, uno dei quali era il "famoso" Italian! che permetteva di
far leggere a voce il testo scritto con l'editor (una mini-sintesi
vocale molto spartana ma abbastanza efficace, della quale ultimamente
sto cercando di aumentare la qualità e le funzionalità, anche se non è
facile!...).
Un altro plugin permetteva di inviare il testo attarverso il modem con
una versione semplificata di Link (di EMG).
Un altro esempio è la creazione di un gran numero di font aggiuntivi per
il DTP, per i quali mi ispiravo a tutte le scritte e i titoli che
trovavo nelle riviste, alle insegne dei negozi, e perfino ai Letraset
(quella specie di trasferelli con le lettere e i numeri che si usavano
molto in disegno tecnico...). Ne produssi un buon numero e di una certa
varietà e qualità, tanto che li misi a disposizione degli altri utenti
ZX attraverso la rivista inglese Format... Da qualche parte dovrei avere
delle lettere di utenti che mi ringraziavano e mi raccontavano come
avevano usato i miei font...
Però più che di sprotezione si trattava di un vero e proprio
"smontaggio" dei programmi per carpirne alcuni segreti e sfruttare le
conoscenze acquisite per aggiungere o creare qualcosa di nuovo. In
alcuni casi mi serviva per poter rendere compatibili i programmi con
alcune periferiche, come la Disciple o il mouse Kempston, in quanto a
volte c'erano dei conflitti negli indirizzi delle porte che ne
impedivano il corretto funzionamento, oppure per permettere il
salvataggio e il caricamento dei file su periferiche più avanzate, come
i floppy disk tramite la Disciple...
Purtroppo di tutto questo è rimasto ben poco. Durante i vari traslochi,
negli anni, molte cose sono andate perse, e con il fatto che la mia
Disciple ormai è andata, non saprei nemmeno come utilizzare alcuni
floppy "superstiti".
E poi devo confessare che i miei lavori, purtroppo, non erano mai
definitivi, per cui avevo molti programmi in versioni diverse, portati a
vari stadi di evoluzione, e mentre ci lavoravo avevo ben presente di
cosa si trattava, ma dopo 35 anni non credo ci capirei più niente!...
Comunque, se dovessi ritrovare qualcosa di utilizzabile, certamente te
lo farò avere, non dubitare!
--
|_ /-\
Other related posts: