PDA

View Full Version : [VB.NET] Proteggere un programma


OrcaAssassina
26-03-2008, 05:09
Dovrei proteggere il mio programma.

Inizialmente avevo creato un file che mi recuperava il seriale di windows + la schede di rete.

Mi faceva un file.

Io con un altro programmino lo codificavo e lo mettono nella root del programma

All'avvio confrontava questi valori e se andava mi si avviava il programma

Poi ho dovuto eliminare la schede di rete perchè lui prende sempre quella attiva, quindi se un momento una il cavo funziona, se usa ad esempio la wireless il mac cambia e il programma non si avvia

Sono passato a windows+seriale HD

Tutto perfetto, poi ho scoperto che i dischi in RAID non restituiscono il seriale

Sono passato a windows+seriale CPU

Tutto perfetto, poi ho notato che alcuni proci tipo AMD AM2 non restituiscono i seriale

Adesso..........non so più che fare

Consigli?????

Continuo con una protezione software o mi consigliate di buttarmi su una protezione hardware tipo chiave usb?????

Nella chiave hardware vorrei scrivere anche un numero da 1 a 3, per individuare quale "pacchetto" deve caricare in base all'acquisto

In pratica ho 3 pacchetto

Base
Intermedio
Avanzato

In base all'acquisto attiverò sulla penna USB il pacchetto desiderato.

E' possibile fare una cosa del genere????

CONSIGLIATEMI: PROTEZIONE SOFTWARE o HARDWARE????

Ciao e grazieeeee

gugoXX
26-03-2008, 08:14
Io ti consiglio protezione software.
Comunque come hai risolto (o risolveresti) il problema che l'utente installi di nuovo il prodotto da zero, su un'altra macchina?

OrcaAssassina
26-03-2008, 08:15
Io ti consiglio protezione software.
Comunque come hai risolto (o risolveresti) il problema che l'utente installi di nuovo il prodotto da zero, su un'altra macchina?

Con la protezione software gli devo ricreare la licenza

Con la protezione hardware è gia apposto

gugoXX
26-03-2008, 08:26
Con la protezione software gli devo ricreare la licenza

Con la protezione hardware è gia apposto

Non mi e' chiaro.
Immagina che tu crei una protezione sotware, che in pratica vada a leggere qualche numero univoco sulla tua macchina e lo usi per creare una licenza privata.
Quando viene fatto? Da chi?
Se e' come tutti gli altri, ovvero che questa chiave viene creata in fase di installazione, questo impedisce all'utente di copiare la cartella installata su un'altra macchina, dove il numero univoco sara' diverso per definizione, e il programma non partira'.
Cosa impedisce pero' all'utente di installare di nuovo il prodotto da zero, sull'altra macchina, facendogli generare quindi una sua nuova licenza privata?

Per la hardware e' chiaro che non potra' girare su entrambe le macchine contemporaneamente, quindi il problema e' gia' a posto. Ma non te la consiglio, non lo fa quasi piu' nessuno.
Pensa se per ogni programma avessimo una chiave...

OrcaAssassina
26-03-2008, 08:33
Non mi e' chiaro.
Immagina che tu crei una protezione sotware, che in pratica vada a leggere qualche numero univoco sulla tua macchina e lo usi per creare una licenza privata.
Quando viene fatto? Da chi?
Se e' come tutti gli altri, ovvero che questa chiave viene creata in fase di installazione, questo impedisce all'utente di copiare la cartella installata su un'altra macchina, dove il numero univoco sara' diverso per definizione, e il programma non partira'.
Cosa impedisce pero' all'utente di installare di nuovo il prodotto da zero, sull'altra macchina, facendogli generare quindi una sua nuova licenza privata?

Per la hardware e' chiaro che non potra' girare su entrambe le macchine contemporaneamente, quindi il problema e' gia' a posto. Ma non te la consiglio, non lo fa quasi piu' nessuno.
Pensa se per ogni programma avessimo una chiave...

ok ti spiego

abbiamo creato una libreria che raccoglie:
-Seriale di win
- Seriale CPU
e crea un file xxxxx.dat

poi lui me lo invia, io con un programmino che ho fatto, decripto il tutto e gli rimando il file
lui lo mette nella root sovrascrive il precedente ed è apposto

quando apre il programma legge i valori nel file xxxxx.dat e li confronta con l'hardware se corrisponde lui è apposto

ok????

fammi sapere se è chiaro

consigliami altri metodi

orda2000
26-03-2008, 08:51
io farei accoppiata seriale win + SystemBiosVersion sempre dal registro di sistema... cosa ne pensi?

gugoXX
26-03-2008, 08:52
E' chiaro.
Secondo me va bene.

Ti stai scontrando contro quello che e' il sistema di identificazione univoco che qualcuno aveva proposto di unificare in un servizio messo all'interno di un chip (Fritz), integrato probabilmente sul chipset oppure messo proprio a parte.
Tra i servizi offerti da tale chip ci sarebbero, e non li conosco proprio tutti:
- Codice seriale univoco.
- Generatore di numeri casuali hardware.
- Generatore hardware di chiavi univoche per la crittografia
- Funzioni di libreria hardware per gestire il PGP, quindi cifratura, decifratura, autenticazione, etc.

In molti ci si sono messi contro, e molti sono anche qui su questo forum.
Prova a chiedere a loro come risovere il tuo problema, in un modo che non sia semplicemente il "Regalare" il tuo software a tutti.

OrcaAssassina
26-03-2008, 09:30
Non male: win + SystemBiosVersion

è visualizzabile sempre il "SystemBiosVersion"???

Ciao e grazieeeeeeeeee

orda2000
26-03-2008, 10:00
dire di sì,

HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System

OrcaAssassina
26-03-2008, 10:38
dire di sì,

HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System

Per SystemBiosVersion si intende la versione o il modello

E' sempre un seriale?????

Ciao e grazieeeeee

orda2000
26-03-2008, 11:13
questo è il mio su questo computer

COMPAL - 6040000
PhoenixBIOS 4.0 Release 6.0
Ver 1.00PARTTBL(


entrambi direi

acquariusoft
26-03-2008, 11:14
Per SystemBiosVersion si intende la versione o il modello

E' sempre un seriale?????

Ciao e grazieeeeee

Ma non è che poi questa voce cambia se si aggiorna il bios?Non potrebbe essere un problema dover riattivare il programma ogni volta che si aggiorna il bios?
Certo non è una cosa che si fà spesso a me romperebbe alquanto :oink:

khelidan1980
26-03-2008, 11:18
compal ecc..... dovrebbe essere il seriale del portatile,e non cambia se aggiorni il bios,il problema è che sui desktop sei punto a capo,ammesso che una scheda madre abbia qualcosa del genere,se la cambi non funziona piu il programma

orda2000
26-03-2008, 11:20
ma se cambi la scheda madre per la microsoft non devi rieffettuare una nuova abilitazione di windows?

OrcaAssassina
26-03-2008, 11:35
ma se cambi la scheda madre per la microsoft non devi rieffettuare una nuova abilitazione di windows?

Approposito di WINDOWS

Sapete come funzionano le loro chiavi con l'attivazione online

Potrei anche fare un cosa del genere.

Sapete il funzionamento??????

wingman87
26-03-2008, 18:27
Perché usi sempre mille punti di domanda? Ne basta uno.
Per windows credo che la chiave sia scritta sul cd di installazione, quindi una chiave diversa per ogni cd (non ne sono sicuro, vado a intuito).

amedeoviscido
27-03-2008, 10:41
Io invece ti faccio notare un'altra cosa. Sai che VB.NET è disassemblabile vero? Potrebbero vedere cosa vai a guardare e fare una crack apposita, ma questo soltato se il tuo programma dev'essere distribuito in massa; non credo che se lo realizzi x qualche cliente si metta ad ingaggiare un cracker apposta :D

OrcaAssassina
27-03-2008, 11:17
Io invece ti faccio notare un'altra cosa. Sai che VB.NET è disassemblabile vero? Potrebbero vedere cosa vai a guardare e fare una crack apposita, ma questo soltato se il tuo programma dev'essere distribuito in massa; non credo che se lo realizzi x qualche cliente si metta ad ingaggiare un cracker apposta :D


Si esatto

Ci piacerebbe puntare anche alla "massa" ma ancora non ne siamo sicuri.

gugoXX
27-03-2008, 11:52
Comunque tutto e' disassemblabile.
Se si pensa al fatto che vengano ingaggiati hacker, allora non c'e' protezione che tenga.

k0nt3
27-03-2008, 12:29
E' chiaro.
Secondo me va bene.

Ti stai scontrando contro quello che e' il sistema di identificazione univoco che qualcuno aveva proposto di unificare in un servizio messo all'interno di un chip (Fritz), integrato probabilmente sul chipset oppure messo proprio a parte.
Tra i servizi offerti da tale chip ci sarebbero, e non li conosco proprio tutti:
- Codice seriale univoco.
- Generatore di numeri casuali hardware.
- Generatore hardware di chiavi univoche per la crittografia
- Funzioni di libreria hardware per gestire il PGP, quindi cifratura, decifratura, autenticazione, etc.

In molti ci si sono messi contro, e molti sono anche qui su questo forum.
Prova a chiedere a loro come risovere il tuo problema, in un modo che non sia semplicemente il "Regalare" il tuo software a tutti.
non è andata proprio così, comunque se c'è qualcosa contro cui mettersi non è il chip fritz, ma piuttosto l'uso che se ne fa (aka NGSCB (aka palladium))

Comunque tutto e' disassemblabile.
Se si pensa al fatto che vengano ingaggiati hacker, allora non c'e' protezione che tenga.
concordo pienamente (a parte l'uso del termine hacker :O )
forse l'interazione con un servizio online può rendere la vita più difficile

© Rocky
28-03-2008, 18:37
Ho pensato a lungo sul come proteggere un mio programma in VB 6, attualmente, visto che non è distribuito in massa ho escogitato un mio sistema che comunque protegge per modo di dire, copiando il programma su un'altro computer funzionerebbe lo stesso quindi....

in sintesi, stavo pensando ad una pagina scritta in formato Txt o Doc oppure una chiave di registro che una volta installato il programma viene eliminata al primo avvio tramite un comando Bat.


che ne dite, può essere un buon metodo ? :confused:

:D

amedeoviscido
28-03-2008, 22:28
Beh e questa chiave chi dovrebbe crearla, se viene eliminata al primo avvio?

© Rocky
29-03-2008, 12:02
Il download del programma è gratuito ma, funziona solo dopo l'attivazione.
Per attivarlo occorre inserire un key Code quando richiesto dal programma.
Quindi, anche copiando il programma, non può essere usato se non si ha il numero, tale numero corrisponde alla durata di funzionamento e va inviato all'utente con una mail.
Al primo avvio, il numero criptato viene scritto da qualche parte nel PC dell'utente.

:D