Newsgroup: it.comp.lang.visual-basic
Titolo: Come proteggiere il sw??

Esistono dei sistemi efficaci e poco costosi per proteggere in sw dalla
pirateria??
Pensavo di utilizzare delle chiavi hardware ma appena ho visto i prezzi mi
sono spaventato! costano oltre me 50.000£, cosa impensabile visto che il
pacchetto che vorrei proteggere ha un valore di 80.000...
Se qualcuno ha qualche stratagemme mi faccia sapere!
Ciao ciao
Luca

 ha scritto nel messaggio
news:9k83o8$fak$1...@nreadB.inwind.it...


1) Il tuo sofware è bellissimo e quindi serve: per qualunque modo troverai
di proteggerlo basterà fare un giro su Astalavista e troverai il crack
2) Il tuo software non è bellissimo, nessuno sarà interessato a copiarlo.
In un caso e nell'altro è tempo perso. 8-)
In generale l'idea è quella di prendere una serie di dati più o meno univoci
(da quelli "banali" come il nome utente o l'email a quelli più complicati
come l'address della scheda di rete o cose simile), applicarci una
trasformazione più o meno complessa, e generare un numero univoco per ogni
installazione, che poi fornisci all'utente per registrare il software. Va da
se che se poi l'utente cambia qualcosa devi dargli un nuovo numero e quindi
lui perde tempo ad aspettare che tu glielo fornisca e tu a rigenerarlo. Come
dicevo prima, tempo perso.
Saluti
Massimo


 ha scritto nel messaggio
news:9k83o8$fak$1...@nreadB.inwind.it...


 Giorgio
Se il cliente usa ghost ti frega.
Ciaotutti,
*

> Se il cliente usa ghost ti frega.
Non si può avere tutto dalla vita...!

 Giorgio
e con questo temo tu infranga la loro privacy.
mi sa che tu abbia diritto di sapere quante volte installano il _tuo_
sw.
a parte questo, i prog che mi costringono ad alzare il telefono, o
simili, anche se legali mi snervano abbastanza, e li boicotto con tutte
le mie forze. anche se qualcuno mi dice che sara' la nuova linea ms.



gią... astalavista.box.xp... :-)
ad una presentazione di Office XP ho chiesto "ma se io ho una macchina per i test, alla quale
sostituisco i componenti quasi ogni settimana... ogni quanto tempo devo ritelefonarfli?" Mi hanno
risposto che no, ci sono delle tolleranze su certi tipi di componenti... ma non hanno saputo dirmi
altro, cosa volesse dire "tolleranza" (suppongo che la sostituzione della PCCard conti in un modo,
quella delle MB in un altro) e cosa dovrei fare in questo caso... mah...
Ciao,
Moreno
#sirri#@#
morenosoft.com#
(togliete "#" dall'indirizzo)
Moreno Sirri VB Site - 
http://www.msvbsite.net
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo NewsGroup:
 
http://www.it-lang-vb.net
---------------------------------------------------------------------------


io, in generale, uso un sistema completamente software..
il mio cliente si chiama "pippo srl" ?
bene... ovunque capita, in stampe, schermate, videate ci schiaffo
"questo programma è registrato a nome di pippo srl" (soprattutto nelle
stampe)
in base a quella ragione sociale mi calcolo un numero univoco che viene
controllato all'avvio del programma, se i conti non tornano il programma non
parte
se il prg viene copiato da qualcuno, gli risulterà praticamente inservibile
(la topolino srl che se ne fa di un programma di fatturazione, che ad ogni
fattura mette
come intestazione pippo srl ?)
Ciao
Enrico

 già... astalavista.box.xp... :-)
ho cercato, ho cercato, in countrycodes, ma... strana nazione,
professore !

 stampe)
ecco. io tifo esattamente per questo sistema.
se a qualcuno non gliene frega niente di quello che appare,
vuol dire che non fa mercato.



Comunque molto spesso questo è superfluo poiché se un programma viene sviluppato "ad hoc" su
specifiche del cliente, difficilmente sarà riutilizzabile da un altro cliente, almeno che non abbia
compiti, processi di produzione o quant altro molto simili al primo...
Se invece un programma è destinato ad un utenza più ampia, a meno di non ricompilare il programma
per ogni cliente, mi sa che bisogna trovare un'alternativa...


ecco. io tifo esattamente per questo sistema.
  Idem, sono d'accordo con te anche sul boicottaggio dei prodotti che
costringono a richiedere nuovi codici ogni volta che devi fare una
reinstallazione ed anch'io sui miei programmi sbatto nella schermata
principale la scritta "Registrato a Pinco Pallino".
  Ciao :-)
  Massimo
  Nell'indirizzo, inserire una "h" tra la "t" e la "u"
  In the address, insert an "h" between the "t" and the "u"

 per ogni cliente, mi sa che bisogna trovare un'alternativa...
Mi pare che la soluzione giusta sia proprio ricompilare il programma per
ogni cliente :P
Anche perche' quando un programma si allarga spesso e volentieri ogni
potenziale cliente ha bisogno solo di un numero ridotto di feature rispetto
a quelle totali, percui paga un programma personalizzato e gli viene
ricompilato su misura.
Se il programma ha un mercato davvero ampio... Beh, a quel punto fai pagare
l'assistenza che fai prima.
Ciaotutti,
*

 * <-------------- questa sintesi mi fa un'invidia che non ti dico :)
ciao, ª

 per ogni cliente, mi sa che bisogna trovare un'alternativa...
e chi ha parlato di ricompilare ? :-)
Ciao
Enrico

 ricompilato su misura.
si... ma se il "giro" si allarga parecchio, poi il lavoro da effettuare per
ogni copia
venduta diventa abominevole...
in questo caso tendo a parametrizzare le funzionalità del programma:
se il cliente x non vuole la funzione y, semplicemente gliela "nascondo" (e
non gliela faccio pagare)
il programma resta uno e uno soltanto
ciao
Enrico


Eheh...
Ciaotutti,
*

 Se qualcuno ha qualche stratagemme mi faccia sapere!
Ho scherzato a sufficienza.
Personalmente ritengo che proteggere efficacemente i programmi senza fare
uso di una chiave harware sia molto difficile (e anche lì del resto è
possibile scassare la protezione senza essere degli cracker di professione).
I metodi che ho utilizzato non era finalizzati alla protezione da super
smanettoni ma da un utente medio(-stupido) che però è in grado di copiarsi
un CD e/o reinstallarsi la procedura su n-mila altri PC. Visto che gli
utenti medio stupidi sono circa il 95% ho valutato rischi e benefici.
Arrivando al dunque:
metodo 1: Numero di serie HDU
- se il programma parte per la prima volta (manca un file *.LIC) mi dice che
se voglio usarlo devo attivarlo.
a questo punto sorge un problema: o io sono lì e con un dischetto/cd lancio
il programma che crea il *.LIC (e me ne vado con il dischetto in tasca) che
contiene criptato il numero di serie del disco oppure devo trovare un modo
di 'affogare' la funzione di creazione del *.LIC nel mio programma ma
consentirne l'utilizzo solo quando voglio io. in pratica quando l'utente
cerca di attivare il programma gli compare una videata con un numero MOOOLTO
random di 8 cifre, nella stessa maschera viene richiesto di contattare il
sottoscritto (con tutte le istruzioni del caso) comunicarmi il numerazzo e
ricevere in cambio un controcodice da scrivere sempre nella stessa maschera.
ovvio che i due codici devono essere uno funzione dell'altro in modo che
l'applicazione sia in grado di verificare l'effettiva corrispondenza. se
l'utente cercasse di attivare il programma su un'altra stazione il numero
random sarebbe un altro e quindi anche il controcodice non funzionerebbe
più.
- una volta che il programma è attivato (esiste il file *.LIC) questi non
farà altro che aprire il LIC leggere le informazione che gli interessano e
il numero di serie dell'HDU e quindi confrontarlo con il numero di serie
reale del'HDU. Se sono diversi: CICCIA! altrimenti... OK. ((Naturalmente le
informazioni contenute nel file LIC dovranno essere crittate)
metodo 2: fx(Dati Anagrafici)
- come sopra c'è un file crittato. L'utente inserisce i dati anagrafici, il
numero di utenti contemporanei  in una maschera di attivazione, poi gli
viene chiesto un codice. Naturalmente il codice è una funzione dei dati
inseriti (a te la scelta)... l'omino ti telefona e tu calcoli il codice e
glielo comunichi. Il programma salva il file LIC e... così via.
Ho usato questo metodo molto tempo fa e mi sono basato sul fatto che tutti i
report del programma stampavano i dati anagrafici del proprietario, se
qualcuno scopiazza il programma ad un amico con i codici poteva
tranquillamente usarlo ma si trovava le intestazioni sbagliate.
Spero di non essere stato troppo contorto. Come ho premesso sopra anche se i
sistemi sono facili da scassare... sono comunque un buon deterrente per
l'utente tipo della mia applicazione. Va detto anche che la mia applicazione
è distribuita in non più di 500 copie e quindi posso gestire le attivazioni
telefoniche senza grossi problemi... se la tua applicazione (me lo auguro
per te) fosse distribuita in migliaia di copie potresti avere bisogno di una
segretaria.
Per la cronaca allora non usavo VB (e anche ora lo uso poco per mia fortuna)
e quindi evito vi mandarti sorgenti incomprensibili (Clipper, C, ASM e
Pascal).
Mi piacerebbe sapere se ti sono stato d'aiuto e se tu o qualcun altro ha
qualche idea migliore.
Saluz
max

Si ma cosa fai lo ricompili ogni volta?
                                        danilo

                                         danilo
no... è un sistema molto simile a quello postato da max
(diciamo una via di mezzo fra il primo e il secondo)
creo un "vincolo" utilizzando un dischetto (che poi torna a casa con me)
e schiaffo la ragione sociale del cliente un po' ovunque
(quella la prendo dal database)
se tutto è ok il programma parte
se no, ciccia!
se un utente si copia il sw troverà su tutte le stampe la ragione sociale
dell'utente dal quale ha copiato...
la premessa è la stessa di max : il livello è per circa il 90% medio-basso
Ciao
Enrico

 wrote in message
news:9k8n2d$1c95u$1...@news02.it.net...

Guarda...a mio avviso senza stare a ricompilare tutte le volte il software
puoi semplicemente leggere il serial dell'hd....usarlo come codice per
generare una key...e con un algoritmo su misura ti crei la key derivata dal
serial del disco....
cosi' quando l'utente lo vuole installare ti deve chiamare per chiedere la
key....ovviamente se cambiano HD ti dovrammo richiamare.....li basta che
archivi i dati dei clienti e fai un controllo minimo alla richiesta della
key.....
Basta che poi il prog salvi la chiave nel registro e a ogni avvio la
ricontrolla rigenerandola dal serial dell'HD
Molte software house adottano questo sistema....soprattutto piccole software
house italiane che vendono per l'appunto programmi fatti "ad hoc" anche se
generalizzati come quello che vuoi fare te....
Come soluzione forse non è il massimo della comodità ma sicuramente è
semplice da realizzare e a costi minimi.....
Ciao
Sandro

 semplice da realizzare e a costi minimi.....
Sicuramente è una delle tecniche più usate, anche se non a prova di bomba.
Senza tirar fuori cracker vari, che per i piccoli programmi sicuramente non
si mettono al lavoro c'è da considerare che, a quanto pare da una mail di
questa stessa newsletter, l'id dell'hard disk può essere modificato a
piacimento da utilities varie.
Ciò significa che una sola licenza può essere ipoteticamente goduta da
infiniti utenti semi-esperti.
In ogni caso resta sicuramente il metodo più semplice ed economico.

 Guarda...a mio avviso senza stare a ricompilare tutte le volte il software
ma io non ho mai detto che ricompilo tutte le volte!!!
io ho una sola copia del sw!!!!
uff...
che caldo che fa!!!
Ciao
Enrico