Usando o nslock para protegendo sua aplicação


Autor/fonte: Alexandre Burzum
E-mail/Url: http://www.freecode.com.br/drartigos/artigo.php?cdart=12&id=125
Tags: [ nslock ]



Digg del.icio.us

Nesse artigo estarei falando um pouco sobre como usar o nslock para proteger sua aplicação, tornando-a mais segura.

Usando o nslock em sua aplicação para proteção contra cópias ilegais.

Passo 1 - Você deve ter o componente nslock15vb5.zip

Quem quiser me manda um e-mail que envio.

Você deverá ter, após descompactar o arquivo nslock15vb5.zip, o seguintes arquivos:

  • nslock15vb5.ocx - a OCX que você deverá instalar e registrar para ser usada na sua aplicação VB;
  • nslock15.chm - Arquivo de Help HTML compilado com a ajuda sobre o componente;
  • KeyGenerator.exe - Programa para gerar a chave de liberação.


Passo 2 - Instalar o componente nslock15vb5.ocx na sua máquina e fazer o registro no Windows

Primeiro você deve copiar o arquivo nslock15vb5.ocx para o diretório \windows\system (Windows 98) ou \windows\system32 (XP)

A seguir você deve usar o programa regsvr32.exe para registrar a ocx digitando o comando regsvr32 \windows\system32\nslock14vb5.ocx no prompt do comando ou em executar. Você deverá obter uma mensagem indicando que o registro foi efetuado com sucesso.

Passo 3 - Vamos criar um projeto no VB com dois formulários: o formulário de menu da aplicação(frmMenu) e o formulário de registro(frmregistro)

A seguir vamos incluir o componente registrado na barra de ferramentas para podermos usá-lo na aplicação. Para fazer isto clique no Menu Project|Components e selecione ActiveLock 1.5 (VB5 SP3).

Crie um novo projeto StandardEXE no VB e mude o nome do formulário padrão para frmMenu e insira alguns componentes para criar um menu no formulário.

Não estou preocupado com o formulário de Menu. Ele é apenas usado para mostrar as funcionalidades do componente nslock.

Se preferir pode alterar o formulário fazendo o Menu que quiser.

Perceba que já incluímos o componente no formulário. Irá aparecer um cadeado que é o controle nslock15vb5 inserido no formulário a partir da barra de ferramentas. Clique no cadeado e configure as propriedades do componente conforme abaixo:

Abaixo estou definindo as seguintes propriedades:

Password = teste
SoftwareName = Cyber_nslock
LiberationKeyLenght = 16
SoftwareCodeLenght = 16
Name = alock

Passo 4 - Incluindo código para verificação de registro no formulário principal

O formulário frmMenu é primeiro formulário a ser carregado pela aplicação logo devemos colocar código no evento Load para verificar se o programa já foi registrado. Então no evento Load do formulário insira o seguinte código:

Private Sub Form_Load()

If alock.LastRunDate > Now Then

MsgBox \"Ocorreu uma alteração na data do sistema operacional \" _
& vbCrLf & \" O programa será encerrado.\", vbOKOnly + vbCritical, \"Erro de sistema\"
End
End If
If Not alock.RegisteredUser Then
Me.Caption = \"VERSÃO DE DEMONSTRAÇÃO\"
Else
Me.Caption = \"VERSÃO REGISTRADA\"
lblaviso.Visible = False
lblregistro(2).Enabled = False
End If
End Sub

Este código faz o seguinte: Verifica se a propriedade LastRunDate é maior que data de hoje. Se for é porque alguém mudou a data do sistema operacional, talvez para burlar a proteção do programa. Se isto ocorreu o programa irá avisar o usuário e será encerrado. A seguir o código verifica se o usuário esta registrado, se não estiver então alteramos o titulo do formulário para indicar que a versão é um demo. Se o usuário for registrado então indicamos que verão é registrada e escondemos o aviso e desabilitamos a opção de registro do programa.

No evento Click da label - Registrar o Sistema - vamos colocar o código que chama o formulário de registro.

Private Sub lblregistro_Click(Index As Integer)
frmregistro.Show vbModal
End Sub

Passo 5 - Verificando o registro e os dias que faltam para o registro

No evento Load do formulário de registro - frmregistro - vamos colocar o código que vai fazer o seguinte:

Calcular e exibir quantos dias faltam para registrar o programa

Exibir o código do software que será usado para calcular a chave de liberação:

Private Sub Form_Load()
Dim diasQueFaltaParaRegistrar As Integer
diasQueFaltaParaRegistrar = 0
diasQueFaltaParaRegistrar = 30 - (frmMenu.alock.UsedDays)
txtdiasquefaltampararegistrar.Text = diasQueFaltaParaRegistrar

If diasQueFaltaParaRegistrar <= 0 Then
cmdregistrardepois.Enabled = False
End If
txtcodigodoprograma.Text = frmMenu.alock.SoftwareCode
End Sub

Passo 6 - Efetuar o registro do programa

Insira o código abaixo no evento Click do botão de comando - Registrar Agora:

Private Sub cmdregistraragora_Click()
If txtcodigoliberacao.Text = \"\" Then
txtcodigoliberacao.SetFocus
Exit Sub
End If
frmMenu.alock.LiberationKey = txtcodigoliberacao.Text
If Not frmMenu.alock.RegisteredUser Then
MsgBox \"Chave de LIBERAÇÃO INCORRETA\", vbOKOnly + vbCritical, \"Chave Liberação Incorreta\"
txtcodigoliberacao.SetFocus
Else
MsgBox \"REGISTRO EFETUADO COM SUCESSO !\", vbExclamation, \"Registro OK\"
frmMenu.lblaviso.Visible = False
frmMenu.Caption = \"VERSÃO REGISTRADA\"
frmMenu.lblregistro(2).Enabled = False
Unload Me
End If
End Sub

Este código faz o seguinte: Verifica se a chave de liberação informada é vazia; se for não permite e volta para o campo texto. Atribui a chave de liberação informada na caixa de texto à propriedade LiberationKey do componente. Verifica se a chave de liberação informada esta correta.

Passo 7 - Como calcular a chave de liberação

Para calcular a chave de liberação usamos o programa LiberationKey.

O programa vai solicitar as seguintes informações:

  • Password - Você informa a password que configurou no componente;
  • LiberationKeyLenght - Informe o valor já definido;
  • Software Code - Copie o código da caixa de texto - Código - do formulário - frmregistro - cole na tela do KeyGenerator.


Após fazer isto e clicar no botão - Generate Key - você verá a chave de liberação ser informada no campo - LiberationKey. Copie e cole a chave de liberação no campo Liberação do formulário e clique em Registrar Agora. Se tudo estiver certo o programa será registrado.




Enviado por xKuRt em 03/07/2009 às 07:55


Avaliação

Esta publicação ainda não foi avaliada!


Avaliar:


A avaliação de publicações é restrita a membros cadastrados e logados no nosso site.



Comentários

Este artigo ainda não foi comentado ou o(s) comentário(s) que foi(ram) enviado(s) a ele ainda não foi(ram) publicado(s).


Envio de comentário:




  

Domingo, 21 de Dezembro de 2014




Top 5 membros

Últimos membros online

Últimos membros cadastrados



Capa do livro
Java com Orientação a Objeto


Capa do livro
Microsoft Exchange Server 2010


Capa do livro
Excel Avançado





Hostnet

IMD