Newsgroup: it.comp.lang.vo-clipper
Titolo: Proteggere programmi Clipper dalla copia...

Vorrei un sistema semi-sicuro per proteggere i miei EXE
Una cosa che mi viene in mente e' scrivere il numero seriale del disco fisso
da qlc parte, ma come lo leggo?
--
Alessandro Maiucchi
maiu...@libero.it
http://maiucchi.supereva.it
(Rush-Queen-Kiss-Blade Runner-Scrittura creativa-Attualita')

 da qlc parte, ma come lo leggo?
Io, a volte, lo scrivo, crittato, in un semplice file INI.
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg

 ha scritto nel
messaggio news:3CD98E7F...@emagsoftware.it...


 Che ne pensi?
Boh, non c'è che da provare. Eventualmente ottenessi qualcosa di buono,
faccelo sapere.


 - Se il numero è uguale allora l'applicazione parte regolarmente.
io solitamente attivo i programmi in base al nominativo, generando un codice
di controllo (una specie di CRC32) che memorizzo in un file .ini.
Quindi tale software funziona a nominativo + controllo e se esce dalla ditta
si porta dietro il nome dell'utente ed e' semplice trovare la
responsabilità. E' un po' come un account, il mio ruolo e' quello
dell'Administrator.
In ogni caso, seguendo l'esempio di Bill, e' meglio se lo copiano in mille
piuttosto che usato da uno solo!

Ma come hai fatto a scriverlo nel file INI? Io il pc non lo vedro'!


 Ma come hai fatto a scriverlo nel file INI? Io il pc non lo vedro'!
Se non lo trova nel file .ini, alla prima esecuzione chiede le informazioni
all'utente.
Se non sono corrette exit e messaggio di informazione.

 piuttosto che usato da uno solo!
Dipende dal tipo di programma e dal suo valore...... ^_^

 Dipende dal tipo di programma e dal suo valore...... ^_^
aggiungo, meglio se lo copiano in 100.000, vuol dire che serve a molti. La
versione successiva avra' protezione a livello militare ed io gestiro' tutto
dalle Mauritius! ;->

 piuttosto che usato da uno solo!
Sono perfettamente d'accordo. Infatti, come ho detto, io non proteggo
più da un pezzo i miei programmi. Tanto il mio lavoro è più che altro
sulla personalizzazione.


 Ma come hai fatto a scriverlo nel file INI? Io il pc non lo vedro'!
Lo scrive automaticamente il programma quando l'utente inserisce il
numero di registrazione nell'apposita finestra.


 Se non sono corrette exit e messaggio di informazione.
Esattamente. :-)



Io direi che l'esperienza ha dimostrato che non č cosě e che la
protezione contro la copia non serve a niente in nessun caso, sia che si
tratti di programmi grossi che piccoli.


 dico bene?
infatti, ma lo scopo non e' quello di impedire il funzionamento ma quello di
incentivare la regolarizzazione della licenza. Se un cliente X fornisce la
sua licenza a Y, prima o poi Y mi contatta e questo e' il massimo che si
puo' ottenere.
Se a Y il programma gira e puo' valutarlo prima o dopo subentra l'esigenza
di comprarlo.

 di comprarlo.
E' esattamente anche la mia filosofia.


piuttosto che usato da uno solo!
Confermo. Inoltre con il controllo sul numero di serie del disco,
chissà perchè, molto spesso qualcuno telefonava dicendo che aveva
_dovuto_ formattarlo e voleva il nuovo codice.....
Saluti
===============================================
Antonello Negrone - Biella - Italy
anto...@anc-software.it
www.anc-software.it

Tanto per dire la mia, anni fa in Clipper ho tentato di proteggere i miei
programmi con il numero di serie del disco (avevo accesso ai PC degli
utenti). Dopo qualche tempo ho scoperto che circolavano liberamente: c'era
una utiility, mi pare PC Tools che ti consentiva di leggere e variare il
numero di serie dell'hard.... Ormai da tempo noi usiamo le chiavi e, a parte
il costo, non ci risultano controindicazioni, ne' che abbiamo scassinato i
programmi, non ancora almeno.
Ciao a tutti. Antonio

 _dovuto_ formattarlo e voleva il nuovo codice.....
Si, ma come lo leggi quel numero da programma?


 numero di registrazione nell'apposita finestra.
E se si passano il floppy di installazione sei fregato... o no?


 il costo, non ci risultano controindicazioni,
Il costo per me è già una controindicazione sufficiente. :-)


 Si, ma come lo leggi quel numero da programma?
C'è un servizio dell'INT 21h oppure l'API di Windows
GetVolumeInformation().


 E se si passano il floppy di installazione sei fregato... o no?
No, non hai capito. Allora:
- Il cliente riceve il dischetto di installazione, installa il programma
e lo lancia.
- Questo, come prima cosa, legge un codice dal file INI, lo decritta e
lo confronta con il numero di serie dell'hard disk.
- Se è diverso mostra una finestra di registrazione nella quale invita
l'utente a comunicare al produttore un codice ricavato dal numero di
serie dell'hard disk.
- Il produttore fornisce quindi al cliente il numero di registrazione
ricavato a sua volta dal codice di cui sopra.
- Il cliente inserisce il numero di registrazione nella finestra
apposita e il programma lo scrive nell'INI.
Quindi dal prossimo lancio il programma non chiederà più di eseguire la
registrazione in quanto il codice che troverà nel file INI sarà quello
corrispondente al numero di serie. E copiare il dischetto o la directory
non serve a niente.


 Si, ma come lo leggi quel numero da programma?
Utilizzando la funzione FabGetDiskSerialNumber delle FabTools 1.4.4
Ciao
Antonello

 Utilizzando la funzione FabGetDiskSerialNumber delle FabTools 1.4.4
Se volete il mio parere, secondo me è sbagliato creare una dipendenza da
una libreria esterna per cose ottenibili facilmente in modo
indipendente.


indipendente.
Il fatto e' che quella libreria e' fornita con i sorgenti ;-)

 Il fatto e' che quella libreria e' fornita con i sorgenti ;-)
Ah, certo questo cambia le cose...


 
Se per effettuare il Link utilizzi il prodotto Blinker v.2.01, c'e' la 
possibilità di scrivere una stringa crittata nel file ".exe" di ampiezza
fino a 50 caratteri.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 fino a 50 caratteri.
Si, ma in che modo mi protegge? (considera che non ho accesso al computer
del cliente...)


Sul NG internazionale c'è l'esempio di come fare a leggere il numero di 
serie del disco spero possa essere utile:
John,
Can you do something with this ?
The GetVolumeInformation() function API returns the harddisk name and 
the harddisk number (decimal notation).
-----------
METHOD PushButton1() CLASS Test129
LOCAL pszVolumeNameBuffer AS PSZ
LOCAL dwVolumeSerialNumber AS DWORD
pszVolumeNameBuffer:=PSZ(Space(50))
IF GetVolumeInformation(PSZ("C:\"),  pszVolumeNameBuffer, 50, 
@dwVolumeSerialNumber, 0, 0, NULL_PSZ, 0)
    SingleLineEdit1:=Psz2String(pszVolumeNameBuffer) // Volume name
    SingleLineEdit2:=dwVolumeSerialNumber  // decimal HD number !!!
ELSE
    SingleLineEdit1:="Error !!!"
    SingleLineEdit2:=0
ENDIF
RETU NIL
-----------
Regards,
Ronny Michiels
Dental Clinic VUB
John M Roe wrote:
Can somebody tell me how to read the hard disk Number using a function.
I am trying to get a unique number for a specific PC any other suggestion is
welcomed.
Kindest regard

 Sul NG internazionale c'č l'esempio di come fare a leggere il numero di


 
Sinceramente non l'ho mai usata, ma credo sia una chiamata API e quindi dovrebbe essere utilizzabile senza nessuna libreria aggiuntiva, ma sicuramente qualcuno più esperto di me in clipper e chiamate alle API ti può aiutare.

 ha scritto nel
messaggio news:3CDADEEA...@emagsoftware.it...


 boot.bin e con un hexeditor cambi il valore :)
Certamente. Ma
1. L'utente normale non sa neanche di cosa tu stia parlando.
2. Per andare a modificare il numero di serie dell'hard disk bisogna
prima sapere che la protezione è basata su di esso.
3. Cambiando il numero di serie dell'hard disk magari si attiva un
programma ma se ne disattiva un altro.
