Newsgroup: it.comp.lang.visual-basic
Titolo: comunicare con un computer in rete in modo 'hidden'

Tra le cose che non conosco e che non ho mai fatto è quello di
andare in modo 'hiddden' in internet, tramite codice, all'insaputa di 
colui che usa il programma.
Programmi come i sistemi Windows, AVG antivirus, matLab lo fanno 
regolarmente per controllare le registrazioni dei programmi.
Anch'io vorrei cominciare a farmi una cultura in questo campo, per 
installarlo sul mio software.
In altre parole, vorrei tenere la 'lista' cioè identificazione hardware, 
sulla quale il mio software viene installato.
Cioé andare in internet (Winsock ??? esiste ancora?? ) al momento 
dell'installazione, per collegarsi al mio server e scambiarsi informazioni.
Se vedo che si passa un limite ragionevole di installazioni (magari 50 o 
100, tanto per poter supporre la presenza di una organizzazzione di 
pirateria software che sta distribuendo il mio programma sempre con la 
stessa product key, <almeno questo>), blocco il programma.
Da dove si comincia a farsi una cultura in questo campo ??

 sulla quale il mio software viene installato.
Non so se questo può essere legale.....cmq, per i miei programmini sto 
utilizzando la comunicazione tramite webservice.
Il programma all'avvio si connette al server che registra ip, ora di accesso 
+ un campo per avere un riferimento unico di quella installazione.
Nel caso in cui non volessi + far funzionare quel programma, disabilito 
quell'installaizone su server e quando il programma si connetterà nuovamente 
verrà chiuso.
Sempre attraverso lo stesso metodo posso rendere disponibile un 
aggiornamente, che viene scaricato e installato al successivo riavvio del 
programma :D
Ovviamente il tutto è facilmente aggiornabile....però fa figo :D
 

 Da dove si comincia a farsi una cultura in questo campo ??
Pappa pronta:  
http://installkey.codeplex.com/
 

 nuovamente verrà chiuso.
E' esattamente quello che voglio, solo che il server deve mandare anche 
un 'feedback', in modo che io possa prendere una azione *subito* sul 
computer e invalidare l'installazione.
Cosa devo leggere per imparare a fare queste cose ??  :-)))


tenkiï¿œ.... :-))

 se lo fanno Microsoft e Matlab deve essere legale  :-)
non c'è nulla di "hidden" ma è tutto alla luce del sole.
O puoi fare eccome esistono apposta le classi WebClient e 
WebRequest/WebResponse.
.m
-- 
Mauro Servienti
{C67C0157-5D98-4733-A75E-93CAEE4BADC8}
Microsoft MVP - Visual C# / MCTS
http://mvp.support.microsoft.com
blog @ 
http://milestone.topics.it
whynot [ at ] topics [ dot ] it

 
OK. grazie.
Mo' ne ho di materiale da leggere...
:-)


Perchè no?? :O Dove posso trovare qualche informazione a proposito?
A me è successo con un programma: ha scoperto in qualche modo che la chiave 
di registrazione non andava bene e mi è comparso un messaggio dicendo che: 
"per fare questo programma ho speso ore di tempo e fatica, se vuoi 
continuare ad utilizzarlo prendi una licenza..." Dopo questo messaggio tutto 
quello che era dentro la directory è stato cancellato
 


Quel programmatore era davvero un cane.
E se c'è un bug e per qualche motivo cancelli programma e lavoro di un
tuo cliente pagante? Se cosciente che ti può far causa per migliaia di
euro, vero?
Non puoi disattivare di punto in bianco un programma, perchè su tutti i
clienti c'è sempre quello che ti manda in errore l'applicazione, vuoi
perchè il sistema operativo non è quello che ti aspettavi, vuoi perchè
lancia il programma con privilegi diversi da quelli previsti, vuoi
perchè una libreria a cui fai riferimento è installata male, vuoi perchè
(e qui sarebbe un bagno di sangue) il webservice con il quale effettui
la validazione del codice decide di non funzionare correttamente e ti
cancella tutti i programmi di tutti i clienti!!!
Non per nulla Microsoft si limita a dare un messaggio del tipo "Windows
Genuine Advantage - Il programma che stai usando non dispone di una
licenza valida ecc...", ma non te lo blocca a priori, ti avvisa soltanto.
Nicola

 Da dove si comincia a farsi una cultura in questo campo ??
Socket, Win Inet  (vecchio vb6)
Con .Net: classe Socket, ancora.. oppure compri qualcosa come ip*works.
oppure ancora, il controllo  (non ricordo bene il nome) Http/Internet.
-- 
http://www.codingace.it
http://www.annunci.in

No, non ho parlato di cancellazione dati, soltanto di disattivazione del 
programma.
Nel programma dove mi è accaduto, i miei file creati dal programma stesso, 
residenti all'interno della stessa directory, sono rimasti. Solo il 
programma se ne è andato :D
 


Non hai capito.
Io distribuisco un programma che fa un certo lavoro... può essere un
gestionale o salcazzo.
Il cliente paga per quel programma e si aspetta che funzioni, non che di
punto in bianco smetta di funzionare per beghe con la licenza!!!
Se un cliente paga per un programma è perchè quel programma
probabilmente gli serve per lavoro. Ma tu sai che significa (prendo il
mio caso) per un ottico non poter riprendere i dati di refrazione di una
scheda cliente? E se non potesse emettere fattura o fare un preventivo?
Se poi, come ti dicevo nel messaggio precedente, fai una cappellata col
webservice, ti trovi una schiera di decine (o anche centinaia) di
clienti incazzati neri a cui devi dare *subito* assistenza perchè sono
bloccati!!!
Nicola

 punto in bianco smetta di funzionare per beghe con la licenza!!!
Capito ora, su questo sono d'accordo :D
Ma se il cliente non paga?
esempio: mister X mi fa fare il programma, lo prova, vede che è ok ma non me 
lo paga....
Dentro ho messo una funziona che dopo tot giorni deve smettere di funzionare 
se non è stato"registrato"( equivalente a dire che il cliente non ha 
pagato).
E' legale ? A mio pensiero si....
 


Quello si chiama Shareware, trialware, demo o come vuoi ed è legale.
Ma se un cliente ha inserito un codice di licenza e per un qualche
motivo quel codice è valido, allora non puoi più procedere con la
disattivazione in toto del programma.
Al massimo gli disabiliti alcune funzioni non vitali e gli fai uscire
ogni X minuti un messaggio di "licenza non valida".
Eventualmente tu tieni un log sul tuo server di quali installazioni
hanno una licenza non valida (e questo lo devi documentare nell'EULA che
fai accettare al cliente, altimenti avrai problemi sulla privacy).
Con quei log poi cominci a contattare i clienti per dire "signori, c'è
questa segnalazione, vediamo di capire doc'è il problema".
Nicola