VB - Protegendo sua aplicação com o nslock em 7 etapas


No artigo Protegendo o seu trabalho da Pirataria...  mostrei como usar o nslock em sua aplicação para proteção contra cópias ilegais.

Muitas águas já rolaram deste então , mas eu ainda continuo recebendo emails sobre o assunto. Pensei então que o exemplo dado não estivesse bem claro e neste artigo resolvi mostrar como usar o componente novamente.

Passo 1 -  Faça o download o componente aqui nslock15vb5.zip .

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

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:(ver figura abaixo)

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) , conforme abaixo.

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 conforme a figura abaixo:

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 um Menu mais decente.

Perceba que já incluímos o componente no formulário. O cadeado que você esta vendo é o controlo 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:

 
 

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 :

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:

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 :

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:

  1. Password - você informa a password que configurou no componente.
  2. LiberationKeyLenght - informe o valor já definido
  3. 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.

Ao voltar ao menu principal o formulário terá seguinte aparência:

Pegue o projeto completo : nslockvbprg.zip

E, estamos conversados...


José Carlos Macoratti

1