Newsgroup: it.comp.programmare
Titolo: Mi vogliono rubare un prg mio... help

Ho fatto un programmino di contabilità, fatture e magazzino utile per me e
molto semplice però efficacie, ma non vorrei che vennisse scopiazzato da
persone esterne che lo usino per i loro comodi in quanto pur avendo
richiesto un contributo minimo (100.000 Lit) per gratificare il
programmatore (...che sarei io ...) non ne hanno voluto sapere ed ora
pensano di copiare semplicemente il file ed usarlo per i loro scopi.
La domanda è : c'è la possibilità di bloccare l'uso a chi non è autorizzato
:
una semplice password non basta in quanto essendo obbligato a darla a 2-3
persone queste possono accedere al file e copiarselo e dare anche la pwd a
chi lo userà.
Pensavo alla possibilità di rendere possibile l'uso solo sul pc dove l'ho
installato con un controllo, ma non so come fare, oppure ... aiutatemi
(please) con qualunque idea.
Grazie
G.Gullone

 (please) con qualunque idea.
A parte che ci sono vari sw di protezione di questo tipo, io a suo tempo
feci una cosa di questo tipo: il programma di installazione aveva una copia
"vergine" dell'eseguibile, che per essere installata aveva bisogno di una
password. La password, qui sta il bello, dipendeva dal disco rigido su cui
era installato il S.O. (allora il DOS), nel senso che andava a vedere il
numero di serie dell'HD e chiedeva una password in qualche modo
"complementare" al numero di serie. Quella password gliela davo io che
possedevo il keygen.
Una volta installato, il programma funziona solo sull'HD dove era
installato, copiarlo non serviva.
Non è un sistema a prova di hacker, ma sicuramente a prova di "utente che ci
vuole provare".
Il realtà io sviluppai una versione lite di questo concetto, andando a
scrivere il numero di serie in un posto ben preciso dell'eseguibile; lo
scrissi in Borland Pascal 7 (DOS) e BASM, il Built In Assembly del Borland
Pascal 7 per DOS.
Tanti anni fa'. :-)

 installato con un controllo,
Tali 'controlli' ti richiedono di entrare nel dettaglio dell'hardware
della macchina (cosa difficile sui sistemi Win NT/2000) oppure l'uso
di 'chiavi hardware' che complicano la vita ai programmatori e sono
costosine.
Se non lo hai pensato fin dall'inizio per la protezione il mio 
consiglio e' di lasciare perdere quella gente.
Davide

 ha scritto nel messaggio
news:05Z08.30038$aD.10...@twister2.libero.it...

Un trucchetto molto semplice che ho scoperto usare da un programmino per il
collegamento lap-link tra due PC è quello di copiare, in fase di installazione,
in una cartella che non centri nulla con il programma stesso (p.e. c:\Windows)
un file che magari abbia un'estensione che possa passare inosservata (nel caso
del programmino lap-link era un file di testo con estensione .gif).
Eventualmente in questo file ci scrivi il numero seriale dell'HD.
Certo, non è a prova di smanettoni (difatti ho subito sgamato il prg lap-link)
però...
Ciao!
--
Esteban
Hosted by 
www.seber.it
Remove 'nonspammare' for reply

Giusto per orientari questa è una semplice funzione che ho scritto
agli inzizi della mia carriera...
molto utile quanto però facile da crakkare 
ma solo per utenti che sanno quello che fanno (Programmatori per
intenderci)
per chi non ne capisce non c'e' possibilità..
Posto in vb per semplicita:
' API per prendere il  seriale dell'HD
Public Declare Function GetVolumeInformation Lib "kernel32" Alias
"GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal
lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long,
lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long,
lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String,
ByVal nFileSystemNameSize As Long) As Long
' un po di variabili 
Public strbname As String * 100
Public strAs As Long
Public comleng As Long
Public flag As Long
Public filesis As String * 100
' Una struttura da leggere o scrivere in un file di key /da
'distribuire con l'applicazione
Type Tprotect
OWNER_NAME As String * 40
HD_SERIAL As Long
HD_NAME As String * 40
HD_FILESIS As String * 100
HD_CONTROL_FILE As String * 300
End Type
' la sub  di protezione da inserire all'avvio 
Public Sub goonline()
Dim ff As Long 
Dim tp As Tprotect
ff = FreeFile
Open App.Path & "\fileKey.lcp" For Binary As #ff 
' apro il file in cui avevo salvato la  struttura di cui sopra con il
seriale dell'hd
Get #ff, , tp ' prendo la struttura
Close #ff 'chiudo il file
GetVolumeInformation "c:\", strbname, 100, stras, comleng, flag,
filesis, 100
' Prendo  il seriale dell'hd attuale
If stras <> tp.HD_SERIAL Then ' se sono diversi 
Unload Me ' esci
End
End If
'seno si continua
End Sub
Praticamente tu prendi il seriale dell'hd dove devi installarlo , lo
scrivi in un file e ditribuisci il file con l'applicazione 
Il prog quando parte controlla se il Seriale attuale è uguale a quello
che hai messo nel file di key e se sono diversi si ferma
ti consiglio di mettere il file di key nella
windows\system---windows\system32
e dagli un nome comune 
Se devi proteggere un prog che gli hai già dato,
fai un nuovo eseguibile e digli che gli stai facendo un upgrade
oppure mandagli in e-mail un file che faccia una patch del tuo
eseguibile..
IO NON HO DETTO NIENTE
ciao 
Lorenzo
