Newsgroup: it.comp.lang.visual-basic
Titolo: Protezione SW

Vorrei leggere con Vb.Net il numero di serie di un componente hw per esempio
dell'hd.
In modo da poter realizzare un efficace protezione contro le copie del mio
sw.
Grazie
Giampy

[*Giampy* = 
n...@spam.it
 in news:%0Acb.4907$
Zh....@tornado.fastwebnet.it
] ha
scritto:

Net o no, efficace un tubaccio!
E se il numeri di serie l'HD non l'ha?
E se si riformatta?
E se quello ti dice "ho cambiato l'HD"?

 E se quello ti dice "ho cambiato l'HD"?
Se tu gli dici che dipende dall'hd sì, ma se non glielo dici che ne sa come
hai effettuato la protezione?

 sa come hai effettuato la protezione?
La protezione si basa sul seriale del HD. Ipotizziamo pure che non venga
modificato dalla formattazione.
La domanda č: Un HD puň guastarsi ed essere sostituito?
Che fai a quel punto? Lo vedi che non c'č soluzione? (Anche perchč questo
vale per ogni parte hardware)


Io avevo fatto una cosa simile su un pocket PC, ma andando a leggere il
numero di serie della compaq.
Effettivamente su un PC il nume dell'HD è un'incognita! io lo cambio una
volta all'anno!
Ciao
Skanna

 modificato dalla formattazione.
il numero di serie comunemente detto e' quello del volume, si recupera
tramite GetVolumeInformation() ed e' quello che cambia con la formattazione;
peggio ancora, potrebbe anche identico su quei PC branded che vengono
forniti preinstallati (perche' quegli HD sono tutti "clonati", immagina
quindi un ufficio che ordina 20 PC nuovi uguali e che ha una sola licenza
del software...)
Esiste poi un identificativo del produttore che invece non cambia, ma
recuperare questo e' tutto un'altro paio di maniche...
Sia come sia, mi associo sulla inefficacia/scomodita' di tale soluzione
Ciao
-- 
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown

 questo vale per ogni parte hardware)
E gli hard disk ultimamente sono le cose in un Pc che si rompono con piů
frequenza purtroppo! :(

 Che fai a quel punto? Lo vedi che non c'è soluzione? (Anche perchè questo


 ha scritto nel messaggio
news:bkuon9$5vfeh$1...@ID-138791.news.uni-berlin.de...



andrea

 impossibile, come fai?
Beh, semplicemente va in un negozio, sceglie il modello, lo paga (spero) e
una volta a casa, armato di cacciavite, lo cambia... ;-)


 una volta a casa, armato di cacciavite, lo cambia... ;-)
Caccia....Ché?!
Eh io che usavo la chiave del 13....
self-ROTLF!!!

 P.S.: tu come ti difendi dalle copie indesiderate?
Te l'ho detto (o quasi)

aiutami, dimmi fino in fondo. Purtoppo devo consegnare, e dalle richieste
che mi hanno fatto sospetto che vogliono "rivenderselo".
Come ti tuteli?
Grazie

 Come ti tuteli?
Data e ora di creazione di un file o cartella (che cito senza timori). In
aggiunta metto in un file tutte le caratteristiche dell'utente. Se quel file
(che cito, anch'esso senza timori, e che contiene, oltre alle anagrafiche,
anche il controllo di cui sopra) cambia di un bit non va più una cippa.
Ripeto. Se uno mi copia _fisicamente_ il disco è come se avesse lo stesso
disco, ma con i dati del "vero" utente autorizzato, e se li tiene. Se il
disco si scassa e/o viene cambiato, devo riabilitare (anche se non è vero,
perchè lo faccio al telefono...). Se il mio sotware è allettante, con
qualche aggeggio software si possono intercettare le chiamate alla verifica
e bypassarle (come per un serial di un HD, e anche come una chiave hardware,
per sofisticata che sia). Non è sicuro al 100% (nulla lo è!!!), ma
abbastanza. Come dici tu, è un "deterrente" per l'utente normale.
Aggiungo anche che le procedure sono a scadenza. Ogni anno (almeno) devono
essere riabilitate.


Io grossomodo lavoro alla Giampy.
In realtà la quasi totalità dei miei soft non sono venduti per
installazione, ma per server, per cui sui client lascio libertà.
A volte, però, è il cliente che mi chiede che un impiegato non possa
portarsi a casa e rivendere software sviluppati internamente (esistono
settori in cui una azienda è identica all'altra, e il software sarebbe
effettivamente riutilizzabile).
Sostanzialmente, leggo il VolumeInformation, lo passo attraverso un
algoritmo di criptazione, e verifico se nel registry c'è il risultato
dell'algoritmo. Se non c'è, o se è sbagliato, l'applicativo visualizza una
chiave (diversa ogni volta). Tale chiave deve essere comunicata a noi, anche
telefonicamente, e noi restituiamo una contro chiave adeguata. L'operatore
la digita, e l'applicativo scrive nel registry il valore corretto.
Se cambia HD, la cosa riparte, e occorre sempre chiamare noi (o, in aziende
grosse, un responsabile del ced che ha il tool di generazione
contro-chiave).
E' evidente che uno potrebbe comprare dieci licenze e, sostenendo di avere
rotto l'HD, ne installa undici. Ma è un margine accettabile.
Il problema grosso, piuttosto, è che Giampy lavora in .Net, e la
GetVolumeInformation è una Api, quindi, in .Net, 'il male'.
Credo però che le classi dell'environment .Net offrano qualcosa per ottenere
informazioni analoghe.
Altrimenti, come diceva Lupo, si può sempre usare una caratteristica di un
qualche file 'invariante'.
Ciao
Alberto


La data di creazione ??
Davvero ti basi su quella ????
No penso di non aver capito

[*Friciu* = 
friciu...@yahoo.it
 in
news:DpCcb.164728$
R32.5...@news2.tin.it
] ha scritto:

Hai capito benissimo. E' una delle poche certezze del software (di base).

 GetVolumeInformation è una Api, quindi, in .Net, 'il male'.
Inoltre, se ho ben capito, una certa facilità nel risalire ai sorgenti (o
pseudo-tali)...

Per la lettura del valore è una questione che ho risolto, ora stavo appunto
facendo un bel algoritmo di cryptazione e la mia idea era tale e quale la
tua.
Il dubbio che ho è che i Pc di grossi produttori se acquistati insieme
abbiano tutti lo stesso valore e quindi è copiabile a piacere.
"Albe V°" <vaccariTOGLI_QUESTO@TOGLI_QUESTOhotmail.com> ha scritto nel
messaggio news:flCcb.346763$lK4.11...@twister1.libero.it...


 sorgenti (o pseudo-tali)...
Non avevo riflettuto. Hai ragione.
A questo punto non resta che un webservice...
Alberto
-- 
Rigore è quando arbitro fischia

 No, a me basta così.
Hai ragione. E' una bella bega anche per me (specialmente pensando cosa
significa dettare una stringa di 30/40 crt a un utente che usa la tastiera
come se ne avesse paura), però ... io voglio così... ;-)

 base).
Prova a cambiare il fuso orario del PC e guarda la data/ora di creazione del
file... hai implementato un algoritmo che lo compensa? ;-)

 ha scritto nel messaggio
news:%0Acb.4907$Zh....@tornado.fastwebnet.it...


 io uso il seriale del microprocessore !
che "dicono" sia disabilitabile! ;-)

 io uso il seriale del microprocessore !
Troppo spesso "Cambiabile"!

 creazione del file... hai implementato un algoritmo che lo compensa?
Sě e ne parlavo sopra.
Oltre al fuso orario e ora legale, basta aggiungere o modificare un file in
una cartella e questa cambia.
Solo in ambienti NT/2000/XP. Nella famiglia "povera" (9x/Me) il problema non
c'č.

 Giampy
Il base alle risposte ottenute se ne deduce che basarsi su:
Seriale Hd : non va bene perche si rompe/cambia "troppo spesso"
Seriale Processore : idem come sopra
Data creazione file: se smanettiamo nei fusi orari etc. si incasina tutto,
idem se cambiamo disco
Cos'altro abbiamo sul Pc:
Scheda madre:  Beh anche questa allora la possiamo cambiare ogni tanto,
diciamo meno del disco
Floppyno: Se ce ancora chi lo usa, in qualche portatile non c'e' nemmeno piu
Eventuali schede aggiuntive : Saltate in blocco
Ram: Potrebbe andare ! ne ho viste poche "rotte" o che si "rompono" e al
massimo si aggiunge uno slot, pero' se cambio motherboard salta tutto di
nuovo!
E' un bel casino !!! ;-)

 tutto di nuovo!
Non credo che si possa leggere un numero di serie dalla ram ;-)

 problema non c'č.
;-)


io volevo provare con il case.... :)

 abbiano tutti lo stesso valore e quindi č copiabile a piacere.
Vero, ma se come stringa di base per la chiave oltre al VolumeInfo usi anche il
nome di rete della macchina (ad esempio concatenandoli) e' molto meno probabile
che in un'azienda, seppur con 20 PC con lo stesso VolumeInfo, abbiano anche lo
stesso nome di rete...
Cosa ne pensate?
-- 
Ciao!
   -DocDoc-
--- Per scrivermi: 
do...@despammed.com
Sei anche tu stanco dei messaggi spam? Usa Terminator, il programma
anti-spam italiano FREEWARE! 
http://www.sertel.net/terminator/

 io volevo provare con il case.... :)
Diavolo ormai e' come la torre di babele ( alla fine crolla tutto e non e'
servito a nulla)
- Cd-Rom : Non c'e' ovunque
- Alimentatore : Ogni tanto si scassa pero' ci puo' stare
- Tastiera:  All'80 % resta lei a meno che non cambi segretaria o la
vogliono Wireless....
- Monitor : Meglio di no
- Mouse : uahhhhhhh !!!!!  NO NO
Ma non e' finita !
- Seriale di W$ :  Super ROTFL

frequenza purtroppo! :(
Per caso un Maxtor 40 GB ? Il mio ha tirato le cuoia in agosto :-(
Stefano "HappyMan" (Lago Maggiore - NO)
--
Personal Web 
http://www.sgr.info
Email happyman69 (at) 
libero.it

 hai effettuato la protezione?
Se proprio potresti usare il MacAddress della scheda di rete... é "più
sicuro" però ogni volta che cambia scheda di rete devi emettere un nuovo
codice...
Il top del top se usi dotnet sarebbe fare un Webservices su un tuo server e
gestire lì una policy di chiavi... Così sai che almeno non ti crackano il
software... Però non so nemmeno se é legale.
                    Ciao
                                                    Allanon
-- 
- SPAMKILLER
 L'indirizzo delle risposte é 
itlangv...@michele.sytes.net
 LASCIATE il NOSPAM fa parte dell'indirizzo :-)
  Per superare le impostazioni di protezione antispam scrivete
  nel testo del messaggio la scritta "SPAMKILLER"
Scusate il disturbo, ma non posso più di pubblicità

 Per caso un Maxtor 40 GB ? Il mio ha tirato le cuoia in agosto :-(
Wester digital 60 GB... funge a tratti... :-| Quantum Fireball AS 60GB...
andato proprio, Quantum fireball 20GBMorto... IBM 30-40GB 7200 rpm
sostituiti a pacchi (sia miei che di clienti), MAxtor 60GB 6 ore i vita...
mandato indietro in sostituzione al fornitore! E io pagoooooo! <GRRR> E
potrei continuare con la lista di quelli che ho cambiato ai clienti dentro e
fuori garanzia! :-(

 codice...
gia'. e i laptop con le pcmcia...
noi abbiamo una cosa settata sui mac. c'e' da diventare deficienti.
da qualche parte leggevo poi che non e' detto che siano univoci, a causa di
alcuni produttori...
ciao, j.


In generale penso sarebbe meglio non affidarsi ad un solo componente ma a
piu' d'uno.
In pratica lavorando sui seriali di hd (tutti quelli presenti),
microprocessore e altre periferiche dotata di seriale puoi creare un sistema
di controllo piu' elastico che potrebbe tollerare la sostituzione di un solo
compenente.
Se ad esempio riesci ad ottnere N numeri seriali, il programma li controlla
tutti all'avvio, se almeno N \ 2 sono giusti si puo' considerare che il pc
e' ancora quello e al massimo sara' stata sostituito un singolo componente.
In ogni caso riguardo a questi sistemi di protezione bisogna considerare che
ci possono essere due "ambientazioni" molto diverse per i rischi di
Sprotezione.
Se il tuo programma diventa molto noto e popolare e cade nelle mani dei
professionisti della retroingegneria, vedi 
astalavista.com
 , qualuque
protezione tu usi verra' tranquillamente rimossa.
Nel caso invece, e credo sia questo il tuo caso, il tuo programma rimane un
software per pochi eletti, pressoche' sconosciuto a livello nazionale, anche
i sistemi di protezione piu' banali risulteranno efficaci.
E quando parlo di sistemi banali, intendo semplicemente alcuni file nascosti
messi qua e la sui dischi rigidi che il programma controllera' ad ogni
avvio.
ciao
Paolo B.

mi sento un handicappato rispetto a voi! io il pc non ce l'ho piu'. ho un
notebook al quale non posso cambiare l'hd!

 ha scritto nel messaggio
news:bl16q5$6tc4c$2...@ID-78415.news.uni-berlin.de...


 ho un notebook al quale non posso cambiare l'hd!
Prego? Se salta (come è capitato a me 2/3 settimane fa)? Ne ho approfittato
e ne ho raddoppiato la capacità.
PS: PC=NB

 Io propongo una soluzione efficace (almeno credo).
Tagliamo la testa al toro?
Come spesso s'è detto, ... intervengo sul software e by-passo tutti i test
sulla protezione.
No, non ho detto che sia facile, nè che valga sempre la pena di farlo.
Solo che è possibile. Se ne val la pena, lo sarà.

 Solo che è possibile. Se ne val la pena, lo sarà.
Sei riuscito anche a bypassare la protezione FlexKey ?
(Quella che ti mandano il file license.dat per e-mail?)
Ciao
Giuseppe

 ho un notebook al quale non posso cambiare l'hd!
E che cavolo di notebook è?
Fino ad oggi, tutti i notebook che ho visto hanno l'hd assolutamente
standard, quindi si gira una vitina, si toglie e se ne mette uno nuovo...
Alberto
-- 
"Tina, ta te tòta tinta un tac!"
"Te cat tac i tac, m'tac't un tac?"
"Me ca tac un tac a tè?
Tac'tel te l tò tac, tò!"

[*Giuseppe³* = 
miaooaim....@libero.it
 in
news:bnajnj$veotq$
1...@ID-61213.news.uni-berlin.de
] ha scritto:

Non so cosa sia e non ho mai detto di aver mai superato alcuna protezione.
Non c'ho mai provato, ma secondo logica, si può.
E ho anche detto che non è necessariamente facile.
Però insisto: _ogni_ protezione è superabile, anche hardware!

 nuovo...
_non_ tutti i notebbok permettono di cambiare l'hard disk svitando una
vitina... gli ultimi afaik si (per abbattere i costi di manodopera nei
centri assistenza)... ma quelli un po' più vecchiotti no!  Per cambiare hard
disk al mio compaq presario 1690 ad esempio è necessario togliere il poggia
polso e la tastiera. ci sono almeno 5 viti da svitare e bisogna fare
attenzione agli incastri... ;-)
Per quanto riguada gli hard disk... tutti quelli che ho visto sono standard
da 2.5"... i ricambi si trovano senza problemi dai maggiori distributori.
L'unico problema potrebbe essere il bios che potrebbe non supportare le
attuali dimensioni dei dischi.


Non era un attacco polemico ma solo una pura curiosita'.
Ho visto numerosi tipi di protezione che prima o dopo vengono bypassate,
perche' come dici tu ogni protezione e' bypassabile, pero' questa Flex-Key
e' l'unica per cui devo vedere c***k vari.
Per darti un'idea il sistema di protezione e' il seguente:
Qnado installi il programma, devi lanciare un piccolo programmino che va a
rilevare l'hardware del computer (penso si basi sull'ID della scheda di rete
se esiste o altri parametri tipo il serial del Hd piu' altre cose che non
so.
Genera quindi un ID che devi spedire a chi ha sviluppato il software via
E-mail.
A questo punto ti viene reinviato un piccolo file nominato di solito
license.dat con un paio di righe di testo del tipo:
FEATURE xe-starter modeltech 2003.110 1-Jan-00 0 ECBDC5AE20077A370102
\HOSTID=DISK_SERIAL_NUM=ab47be01 k=56
che devi mettere nella subdirectory del programma da sbloccare.
A questo punto il programma e' legato a filo doppio al computer ospite.
Nel caso tu debba spostare il programma su un'altro computer devi ripetere
la procedura di registrazione.
Inoltre a seconda del file che ti mandano ti possono sbloccare il programma
a tempo o in maniera permanente, oltre a varie opzioni per le quali hai
pagato.
In internet ho letto che e' la protezione piu' utilizzata sul web ma non ci
sono moltissime informazioni al rigardo tipo che cosa bisogna fare per
inserirla nei propri programmi.
Ciao
Giuseppe

 non supportare le attuali dimensioni dei dischi.
Anche qui giusto.
Avevo un 20Gb e il tecnico non sapeva a priori se poteva vedere un 40.
Ha ordinato un 20 e un 40. Il 40 lo vede.

 Non era un attacco polemico ma solo una pura curiosita'.
Certo, era chiaro.
Comunque il concetto di fondo non č tanto quanto sia semplice o complicata
la protezione, ma by-passarne proprio il test, oppure fare in modo che il
test restituisca sempre OK. Non si tratta cioč di capire come funziona la
protezione per imbrogliarla, ma individuare i vari punti in cui viene
richiamata e agire esclusivamente su questi "jump".

 Ha ordinato un 20 e un 40. Il 40 lo vede.
Non te lo sapeva dire perchè nelle specifiche dei notebooks scrivono solo le
configurazioni possibili al momento della loro introduzione sul mercato (nel
mio caso l'hard disk poteva essere al massimo secondo le specifiche di 6GB,
ma ci ho montato uno da 30 senza problemi). Poi ci sarebbe pure una
questione di consumi ed emissione di calore da tenere in cosiderazione.