• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Creare Una Licenza vb.net

Danyy202

Nuovo utente
Autore del topic
1 Febbraio 2017
14
10
Miglior risposta
0
Ciao ragazzi, da poco (3 mesi) ho creato un programma in vb.
Vorrei proteggerlo con una licenza, poiché è a pagamento.
Ho inserito dei tempi: 1 mese = 1 euro, 3 mesi = 3 euro e così via..
Bene, fin qui nulla di grave ma il problema è solo uno!
Se io invio tramite email programma con la key, l'utente può tranquillamente passarlo a tante persone, (anche se la licenza durerà quello che durerà).
Quindi, l'utente, dopo aver terminato la prova di tot. giorni, potrà tranquillamente reinstallarlo o passarlo ad altri!
Ecco, il programma è completo ma il problema rimane questo.
Il codice comunque che ho utilizzato per la licenza è questo:
If System.IO.File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86) & "\pp.tg30") Then
Dim data As Date = System.IO.File.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86) & "\pp.tg30")
Dim operazioni As TimeSpan = Now.Date.Subtract(data)
Dim giornirestanti As String = FormatNumber(operazioni.TotalDays, 0)
If giornirestanti > 30 Then
MsgBox("L'edizione [Professional Edition] con la durata di 1 MESE è terminata. Acquistare una nuova licenza.", MsgBoxStyle.Critical, "LICENZA SCADUTA")
Application.Exit()
Else
Label11.Text = "Giorni Passati (30MAX): " & giornirestanti & " giorni."
End If
Else
System.IO.File.WriteAllText((Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86) & "\pp.tg30"), Now.Date)
End If
 
Ciao ragazzi, da poco (3 mesi) ho creato un programma in vb.
Vorrei proteggerlo con una licenza, poiché è a pagamento.
Ho inserito dei tempi: 1 mese = 1 euro, 3 mesi = 3 euro e così via..
Bene, fin qui nulla di grave ma il problema è solo uno!
Se io invio tramite email programma con la key, l'utente può tranquillamente passarlo a tante persone, (anche se la licenza durerà quello che durerà).
Quindi, l'utente, dopo aver terminato la prova di tot. giorni, potrà tranquillamente reinstallarlo o passarlo ad altri!
Ecco, il programma è completo ma il problema rimane questo.
Il codice comunque che ho utilizzato per la licenza è questo:
If System.IO.File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86) & "\pp.tg30") Then
Dim data As Date = System.IO.File.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86) & "\pp.tg30")
Dim operazioni As TimeSpan = Now.Date.Subtract(data)
Dim giornirestanti As String = FormatNumber(operazioni.TotalDays, 0)
If giornirestanti > 30 Then
MsgBox("L'edizione [Professional Edition] con la durata di 1 MESE è terminata. Acquistare una nuova licenza.", MsgBoxStyle.Critical, "LICENZA SCADUTA")
Application.Exit()
Else
Label11.Text = "Giorni Passati (30MAX): " & giornirestanti & " giorni."
End If
Else
System.IO.File.WriteAllText((Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86) & "\pp.tg30"), Now.Date)
End If


Queste tipo di licenze locali sono molto facili da bypassare , ti servirebbe salvare i seriali e la data d'inizio su un db e tramite una pagina asp/php/jsp ottenere lo stato di attivazione per quel utente e in runtime valutare se l'attivazione è valida. (Ti sconsiglio la connessione diretta dal programma dato che potrebbe subire un reverse e quindi renderebbe visibili i parametri di connessione al db)
Un ulteriore limitazione della licenza potrebbe essere il salvataggio del hwid in un campo ,al primo avvio dell'applicativo , per poi confrontarlo successivamente.
 
Queste tipo di licenze locali sono molto facili da bypassare , ti servirebbe salvare i seriali e la data d'inizio su un db e tramite una pagina asp/php/jsp ottenere lo stato di attivazione per quel utente e in runtime valutare se l'attivazione è valida. (Ti sconsiglio la connessione diretta dal programma dato che potrebbe subire un reverse e quindi renderebbe visibili i parametri di connessione al db)
Un ulteriore limitazione della licenza potrebbe essere il salvataggio del hwid in un campo ,al primo avvio dell'applicativo , per poi confrontarlo successivamente.
HEY, ho solo 12 anni, non conosco il PHP
 
Danyy202 Danyy202 il PHP non è un qualcosa che riguarda soltanto le persone adulte ma chiunque è interessato. TBH ti ha dato una soluzione al tuo problema. Poi sei libero di fare ciò che vuoi del tuo programma. Se proprio vuoi continuare questo programma, impara il PHP e lo vendi.
 
  • Like
Reactions: umberto94