alex89bari (Normal User)
Newbie
Messaggi: 12
Iscritto: 08/07/2010
|
Questo topic è stato chiuso dal moderatore Ciao a tutti ragazzi sto creando un software che con tutta probabilità venderò nei prossimi mesi però prima di distribuirlo voglio assicurarmi che il programma possa girare solo su macchine il cui seriale viene riconosciuto, ovviamente nel codice sorgente imposterò io il seriale dei pc di coloro che comprano il mio programma e se vorranno utilizzarlo su un altro pc devo modificare il sorgente variando l'algoritmo di riconoscimento del seriale.
è un programma di gestione aziendale quindi che venderò come supporto al lavoro che svolgo.
avevo pensato ad un algoritmo che controllasse se il seriale della scheda madre o quant'altro corrisponde a quello presente nel sorgente (che indicherò io) e solo se supera il controllo si deve avviare il programma.
credo sia una cosa possibile....
grazie a tutti
|
|
HeDo (Founder Member)
Guru^2
Messaggi: 2765
Iscritto: 21/09/2007
|
tutto è fattibile, ma ti addentri in un mondo moolto delicato, soprattutto per l'intrinseca insicurezza di vb6 a causa dei decompilers. Puoi cmq implementare il metodo che preferisci e poi dare in pasto l'exe ad un packer abbastanza serio.
Una cosa che mi sento di criticare fermamente è la scelta di realizzare un software da vendere nel 2010 in vb6, i tuoi clienti sanno che il linguaggio che hai usato è completamente deprecated dalla stessa microsoft? che non offrono più security fixes da un bel pezzo quindi non si garantisce più la sicurezza di un'applicazione compilata in vb6?
|
|
nessuno (Normal User)
Guru^2
Messaggi: 6403
Iscritto: 03/01/2010
|
Beh, Alex, una protezione per il VB6 lascia il tempo che trova.
Sicuramente non permetterà che il primo "ragazzino" ti copi il programma ma, sicuramente, se la cosa diventa "appetibile", gli interessati sapranno come fare ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |
|
alex89bari (Normal User)
Newbie
Messaggi: 12
Iscritto: 08/07/2010
|
vi ringrazio per i consigli, sono riuscito a mettere una piccola protezione con il codice seguente:
Codice sorgente - presumibilmente VB.NET |
Private Sub cmdOK_Click() Dim serial As String * 10 Call IsWMIInstalled serial = GetSerialInfo("BaseBoard") If serial = "CZC91480B2" Then 'il programma va avanti solo se la mb ha seriale CZC91480B2 If txtUserName.Text <> "alex" Then MsgBox "Nome utente errato", , "Login" Else If txtPassword = "alex" And txtUserName.Text = "alex" Then 'place code to here to pass the 'success to the calling sub 'setting a global var is the easiest LoginSucceeded = True Me.Hide form_menu.Show Else MsgBox "Password Errata", , "Login" txtPassword.SetFocus SendKeys "{Home}+{End}" End If End If Else MsgBox "Utente non autorizzato ad eseguire l'applicazione", , "ERRORE BLOCCANTE" End End If End Sub Private Function GetSerialInfo(device As String) As String Dim objs As Object Dim obj As Object Dim WMI As Object Dim sAns As String Set WMI = GetObject("WinMgmts:") Set objs = WMI.InstancesOf("Win32_" & device) For Each obj In objs sAns = sAns & obj.SerialNumber & vbCrLf Next GetSerialInfo = Replace$(sAns, " ", "") End Function Function IsWMIInstalled() As Boolean Dim oTemp On Local Error Resume Next Set oTemp = CreateObject("WbemScripting.sWbemLocator") IsWMIInstalled = (Err. Number <> 429 ) Else Set oTemp = Nothing End If End Function
|
é chiaro che non è una protezione ottima ma io mi occupo di consulenza aziendale per i ristoratori, affiancherò questo programma alla mia di consulenza e lo installerò personalmente sulle macchine di coloro che lo utilizzeranno. quindi di volta in volta verificherò il seriale delle loro macchine e modificherò il sorgente.
lo faccio per fare in modo che questi miei clienti non possano regalare il programma ad altre persone senza prima interpellarmi.
certo se poi si diffonderà e qualcuno cercherà di bucarlo allora non potrò che essere fiero di me per aver realizzato un programma talmente buono che ne varrà la pena crakkarlo!
|
|
HeDo (Founder Member)
Guru^2
Messaggi: 2765
Iscritto: 21/09/2007
|
Postato originariamente da alex89bari:
certo se poi si diffonderà e qualcuno cercherà di bucarlo allora non potrò che essere fiero di me per aver realizzato un programma talmente buono che ne varrà la pena crakkarlo!
|
sinceramente non sono ancora riuscito a mangiarci con la soddisfazione, se ci riesci te sei bravo allora |
|
alex89bari (Normal User)
Newbie
Messaggi: 12
Iscritto: 08/07/2010
|
Postato originariamente da HeDo:
Postato originariamente da alex89bari:
certo se poi si diffonderà e qualcuno cercherà di bucarlo allora non potrò che essere fiero di me per aver realizzato un programma talmente buono che ne varrà la pena crakkarlo!
|
sinceramente non sono ancora riuscito a mangiarci con la soddisfazione, se ci riesci te sei bravo allora |
Ultima modifica effettuata da alex89bari il 09/07/2010 alle 15:30 |
|
nessuno (Normal User)
Guru^2
Messaggi: 6403
Iscritto: 03/01/2010
|
vi ringrazio per i consigli, sono riuscito a mettere una piccola protezione con il codice seguente |
Ok ... diciamo che il primo che lo riterrà utile, lo supererà in 5 minuti ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |
|
HeDo (Founder Member)
Guru^2
Messaggi: 2765
Iscritto: 21/09/2007
|
Postato originariamente da nessuno:
vi ringrazio per i consigli, sono riuscito a mettere una piccola protezione con il codice seguente |
Ok ... diciamo che il primo che lo riterrà utile, lo supererà in 5 minuti ... |
già, basta anche un hex editor, visto che il seriale è salvato all'interno dell'eseguibile senza alcun tipo di criptazione |
|
Bl4ck3rk1ll (Normal User)
Rookie
Messaggi: 33
Iscritto: 08/03/2010
|
non potresti fare un confronto tra il seriale immesso e magari un file txt hostato?
|
|