SEGURANCA
alguem tem alguma ideia de como eu faço para ter segurança sobre meu programa?
p q abri este topico?
p q vou vender o programa quem me garrante q aquele usuario não vai passar a copia para o outro e o outro para o uotro e assim por diante.
algem sabe como posso fazer?
exemplo, pegar algum numeor do windos, etc.
at+
p q abri este topico?
p q vou vender o programa quem me garrante q aquele usuario não vai passar a copia para o outro e o outro para o uotro e assim por diante.
algem sabe como posso fazer?
exemplo, pegar algum numeor do windos, etc.
at+
Vc pode pegar o numero do hd, placa mae, bios, dentre outros
e como faço isso?
bom eu particularmente uso o numero de serie do HD e o cliene é obrigado a ter uma dll q contem essa informação ...
vc pode tb fazer essa informação ser carregada em um registro do windows .. para vc pegar o numero do hd tem varios exemplos
de uma olhada no topico aqui do vbmania
[txt-color=#ff0000]SERIAL HD[/txt-color]
vc pode tb fazer essa informação ser carregada em um registro do windows .. para vc pegar o numero do hd tem varios exemplos
de uma olhada no topico aqui do vbmania
[txt-color=#ff0000]SERIAL HD[/txt-color]
e onde coloquo este codigo:
Saber o Número Serial do HD
'Num módulo:
Private Declare Function GetVolumeInformation Lib _
"kernel32" Alias "GetVolumeInformationA" _
(ByVal lpRootPathName As String, ByVal _
lpVolumeNameBuffer As String, ByVal _
nVolumeNameSize As Long, _
lpVolumeSerialNumber As Long, _
lpMaximumComponentLength As Long, _
lpFileSystemFlags As Long, ByVal _
lpFileSystemNameBuffer As String, ByVal _
nFileSystemNameSize As Long) As Long
Public Function DriveSerial(ByVal Drive As _
String) As Long
'Valor que retornará o serial do HD
Dim RetVal As Long
Dim HDNameBuffer As String * 256 'Nome do HD
Dim FSBuffer As String * 256 'FS do HD
Dim a As Long 'auxiliar
Dim b As Long 'auxiliar
Call GetVolumeInformation(Drive, HDNameBuffer, _
256, RetVal, a, b, FSBuffer, 256)
DriveSerial = RetVal
End Function
'P/ usar (no evento que você quizer):
Dim lNSerial As Long
lNSerial = DriveSerial("C:\")
MsgBox "O número seirial do HD é: " & lNSerial
veSerial("C:\")
MsgBox "O número seirial do HD é: " & lNSerial
Saber o Número Serial do HD
'Num módulo:
Private Declare Function GetVolumeInformation Lib _
"kernel32" Alias "GetVolumeInformationA" _
(ByVal lpRootPathName As String, ByVal _
lpVolumeNameBuffer As String, ByVal _
nVolumeNameSize As Long, _
lpVolumeSerialNumber As Long, _
lpMaximumComponentLength As Long, _
lpFileSystemFlags As Long, ByVal _
lpFileSystemNameBuffer As String, ByVal _
nFileSystemNameSize As Long) As Long
Public Function DriveSerial(ByVal Drive As _
String) As Long
'Valor que retornará o serial do HD
Dim RetVal As Long
Dim HDNameBuffer As String * 256 'Nome do HD
Dim FSBuffer As String * 256 'FS do HD
Dim a As Long 'auxiliar
Dim b As Long 'auxiliar
Call GetVolumeInformation(Drive, HDNameBuffer, _
256, RetVal, a, b, FSBuffer, 256)
DriveSerial = RetVal
End Function
'P/ usar (no evento que você quizer):
Dim lNSerial As Long
lNSerial = DriveSerial("C:\")
MsgBox "O número seirial do HD é: " & lNSerial
veSerial("C:\")
MsgBox "O número seirial do HD é: " & lNSerial
po vc pode carregar em um label ou ate mesmo em um textbox invisivel e comparar com o dado carregado em outro text ........
mais se eu fizer isto vai ser registrado o nº do meu hd e quando der para meu cliente não vai funcionar.
Você grava o numero do hd do cliente no registro, ai toda vez q você iniciar o sistema voc~e verifica a chave do registro, para ver se confere.
Faz assim no seu sistema. Quando iniciar o software, ele verifica uma chave no registro, se não existir essa chave, ele mostra um numero na tela do cliente,
que seria composto do numero do hd do cliente e de mais algum numero randomico ( logico que vai mostrar os numeros randomicos misturados com o do hd ). Ai quando o cliente te ligar ele vai te passar o numero q está na tela dele, você anota o número
e gera uma contra senha, para liberar o sistema. certo? Ai se depois ele ligar de novo e te passar um número de hd diferente do que você tem anotado você vai saber que não é o hd dele, a menos q ele trocou o hd...ok
Tente isso, provavelmente funciona.
Faz assim no seu sistema. Quando iniciar o software, ele verifica uma chave no registro, se não existir essa chave, ele mostra um numero na tela do cliente,
que seria composto do numero do hd do cliente e de mais algum numero randomico ( logico que vai mostrar os numeros randomicos misturados com o do hd ). Ai quando o cliente te ligar ele vai te passar o numero q está na tela dele, você anota o número
e gera uma contra senha, para liberar o sistema. certo? Ai se depois ele ligar de novo e te passar um número de hd diferente do que você tem anotado você vai saber que não é o hd dele, a menos q ele trocou o hd...ok
Tente isso, provavelmente funciona.
leandro, não entendi.
assim amigo
esse procedimento pega o numero do hd do cliente certo ..., vc instala o programa no cliente e usa um outro exe aparte padrão para pegar esse numero e gerar o registro por exemplo entendeu , é uma ideia porque no meu caso eu uso uma dll entao eu coloco um form no programa onde o cliente entra e essas informações como serial e etc... estão a disposição dele ai ele me manda um email ou por telefone
e eu retorno o email com a dll ou vou ate la e instalo a dll
no seu caso vc pode criar um arquivo exe q se o cliente pagar vc roda o exe na maquina dele e gera o registro ...
esse procedimento pega o numero do hd do cliente certo ..., vc instala o programa no cliente e usa um outro exe aparte padrão para pegar esse numero e gerar o registro por exemplo entendeu , é uma ideia porque no meu caso eu uso uma dll entao eu coloco um form no programa onde o cliente entra e essas informações como serial e etc... estão a disposição dele ai ele me manda um email ou por telefone
e eu retorno o email com a dll ou vou ate la e instalo a dll
no seu caso vc pode criar um arquivo exe q se o cliente pagar vc roda o exe na maquina dele e gera o registro ...
concordo com vcs, mais e se o cliente morar longe! como faço para instalar?
não seria legal eu ensinar meu cliente como ele fazer para o programa continuar a funcionar...
não seria legal eu ensinar meu cliente como ele fazer para o programa continuar a funcionar...
Tópico encerrado , respostas não são mais permitidas