Ciao a tutti!
Vorrei proteggere un mio software in VB.NET da usi non autorizzati con una password e vorrei inoltre aggiungere la possibilità di disabiltare questa funzionalità qualora non più necessaria. Come potrei fare?
Ciao a tutti!
Vorrei proteggere un mio software in VB.NET da usi non autorizzati con una password e vorrei inoltre aggiungere la possibilità di disabiltare questa funzionalità qualora non più necessaria. Come potrei fare?
Il codice VB.NET può essere facilmente decompilato ... dove vorresti mantenere questa tua password?
No MP tecnici (non rispondo nemmeno!), usa il forum.
Beh, inutile se si parla di un programma di pubblico accesso (dove per "pubblico" intendo anche utenti che sappiano smanettare un pò).
Se si tratta di un programmino che rimane circoscritto a pochi utenti, senza smanettoni, puoi fare così:
1) Aggiungi / Nuovo elemento / Form di Accesso
2) Imposta il Form di accesso come form di avvio
3) Proprietà / Impostazioni... scrivi nome utente e password (ovviamente crittografati con System.Security.Cryptography, o accede al programma anche un neonato)
4) Se Nome Utente e Password, ovviamente inseriti in chiaro, una volta crittografati corrispondono alle impostazioni ok, altrimenti chiudi il programma
5) Ancor meglio se "offuschi" il codice programma con un offuscatore, tipo EazFuscator o simili.
Così facendo chi non sa nulla di decompilazione si attacca.
Ultima modifica di eziogsv; 22-03-2015 a 16:04
In questo modo non puoi modificare la password né impedire che venga usata o meno ...
E chi è interessato, passerà il programma a chi lo sa decompilare ...
E' praticamente inutile ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
Concordo... infatti parlavo di programma che rimane "in famiglia", non certo di un programma di pubblico dominio.
Tutto sommato, tra gli utenti "standard", non è che se ne trovano poi così tanti che sappiano craccare un programma offuscato.
Però con gli offuscatori dovresti risolvere in parte.
Vabbè non deve essere un software a prova di bomba, verrà usato in ambito famigliare, la password è li giusto per evitare che qualcuno faccia qualche casino smanettando con qualche impostazione.
Vedrò di arrangiarmi usando il form di login. Più che altro come faccio ad abilitare/disabilitare la richiesta della password?
Se il programma è puramente di utilizzo familiare, per abilitare/disabilitare la richiesta della password (certo non puoi farlo con un controllo visibile nel Form della Password o lo vedono tutti e ci possono accedere tutti, ed è anche "rischioso" in Form successivi) potresti inserire un controllo "invisibile" di piccole dimensioni, tipo 10x10 pixel,in un angolo qualsiasi di un qualsiasi Form del programma: se clicchi un quel punto (noto solo a te) fai in modo che all' avvio successivo il primo Form visualizzato sia quello con la password, altrimenti sia il Form "normale". Basta inserire un "ShowPassword" come Boolean nelle Impostazioni (My.Settings.ShowPassword True/False... If My.Settings.ShowPassword Then ....)
A livello "familiare" mi sembra la cosa più semplice e veloce.
Se poi uno dei familiari se ne capisse abbastanza da andare a modificare l' "user.config"... allora è un altro discorso... invece di risolverla con un click dovresti ogni volta modificare l' accesso "da codice" e ricompilare il programma: tutto sommato sono un paio di minuti.
Ultima modifica di eziogsv; 23-03-2015 a 15:25