VB6 - Protegendo o seu trabalho da Pirataria...
A cópia ilegal de um programa é um assunto delicado e polêmico.
Muitos justificam a pirataria alegando que os autores cobram muito caro pelas cópias legais ; outros alegam que não teriam condições de adquirir os programas que , segundo eles, custam os 'olhos da cara' ; há os que arrazoam que as empresas detentoras dos direitos de comercialização dos softwares já ganharam muito dinheiro com isso.
E por ai vai...
Vamos fazer o seguinte: imagine que você demorou meses desenvolvendo um sistema para um determinado fim e que após muito trabalho conseguiu colocar o seu produto no mercado.
Você não trabalhou de graça todo esse tempo e naturalmente vai cobrar um certo valor pelo seu software.
Você define o preço e começa a vender o seu produto.
Como você se sentiria se percebesse que o seu trabalho fosse copiado e distribuído ilegalmente ?
Você se sentiria estimulado a continuar o seu trabalho ?
As respostas eu deixo a cargo da consciência de cada um.
Vamos agora ao que interessa. Responda as perguntas abaixo:
Você sabe como proteger o seu trabalho das cópias ilegais ?
Sabe como fazer uma versão de avaliação que funcione por um determinado tempo ?
Sabe como criar um cópia Demo do seu aplicativo ?
Sabe como desabilitar partes do seu aplicativo ?
Se a resposta foi não para todas elas , você esta com sorte. Vamos mostrar como fazer esse trabalho...
Usando uma OCX para proteger o seu trabalho
Existem muitos produtos no mercado que podem ser usados para proteger sua aplicação. Vamos analisar e mostrar como usar um produto muito bem feito e que tem como seu principal atrativo ser inteiramente grátis. Isto mesmo, grátis . Estamos falando do produto ActiveLock ( http://www.insite.com.br/activelock ).
Existem duas versões disponíveis: uma para Visual Basic 5.0 e outra para Visual Basic 6.0.
Faça o Download da ActiveLock 1.5 ( ou uma versão mais recente ) no site: http://www.insite.com.br/activelock
Descompacte o arquivo Zip para um diretório.(Ele contém arquivos de ajuda e arquivos de exemplo de utilização)
Mova o arquivo nslock15vb5.ocx para o diretório : c:\windows\system
Para registrar a OCX execute o seguinte comando em iniciar|executar : regsvr32 c:\windows\system\nslock15vb5.ocx , ou , execute o arquivo Install.bat
Para usar a OCX no seu projeto Visual Basic carregue o componente através da opção Project | Components
Selecionando o Componente ActiveLock 1.5 | O componente disponível na barra de ferramentas |
Agora para fazer uso do componente basta inseri-lo no seu formulário...
Criando um versão que funciona por um certo tempo (TrialWare)
Um Trialware é um versão completamente funcional de um sistema que deixa de funcionar depois de um certo período de tempo.
Vamos mostrar como você pode implementar esta funcionalidade em seus sistemas usando a ActiveLock. Para isso vamos trabalhar com o projeto que vem junto com o arquivo OCX, o projeto : trialware.vbp.
Carregue no Visual Basic o projeto trialware.vbp. Ele é composto pelos seguintes arquivos:
Calc.frm - uma calculadora
frmRegister.frm - o formulário de registro
module1.bas - arquivo .bas que verifica o registro e o tempo de utilização.
Quando você inicia o projeto , um formulário de registro aparece solicitando que você informe a chave para liberação do sistema. O formulário em tempo de projeto é mostrado a seguir:
A seguir a tela inicial ao rodar o projeto:
A tela inicial do sistema | O período de avaliação terminou |
Se o usuário estiver dentro do período de avaliação definido o sistema irá rodar normalmente. Se o período de avaliação expirou o sistema emite uma mensagem avisando ao usuário e encerra o aplicativo.
Quer saber qual é a mágica ? Bem , a coisa é mais simples do que imagina. Vamos analisar o código do módulo .bas do projeto , eí-lo a seguir :
Option Explicit
If .RegisteredUser Then
If .LastRunDate > Now Then
End
MsgBox "Seu periodo de avaliação terminou , Registre-se...!" |
A primeira coisa que o código verifica é se o usuário é um usuário registrado, isto é feito através da propriedade - RegisteredUser.
Esta propriedade retorna um valor Boleano (Sim/Não) indicando se o software foi registrado ou não.
Um usuário estará efetivamente registrado quando informar uma Chave de Liberação - LiberationKey - válida. A chave de liberação depende do código do Sofware - SoftwareCode - e da Senha - Password ; e é fornecida por você ao usuário que deseja se registrar.
Quando o usuário instala o seu aplicativo a ele é atribuído um SoftwareCode único que o identifica. Mesmo após o sistema ser desinstalado o código do Software permanece no sistema . Você exibe o código de identificação do usuário da seguinte forma:
Label1.Caption = "O seu SoftwareCode é : " & ActiveLock1.SoftwareCode
Você define uma senha para cada aplicativo que desenvolver via código da seguinte maneira:
ActiveLock1.Password = "ALEPH"
Obs: Parece que uma nova versão do ActiveLock não utiliza mais a propriedade Password. A identificação do aplicativo agora é feita pela propriedade SoftwareName.
Para gerar a Chave de liberação - LiberationKey - para o usuário , portanto , você vai precisar da Password e do SoftwareCode. As chaves de liberação são geradas pelo KeyGenerator - um programa que é distribuído junto com o ActiveLock e que também é gratis.
Para verificar o período de avaliação usamos a propriedade - UseDays:
Ela retorna um valor do tipo longo que indica o número de dias que o sistema foi utilizado. Você utiliza a propriedade da seguinte forma:
If (ActiveLock1.UsedDays
> 21) Then
MsgBox "Your evaluation period has expired! Please register!"
End If
Observe que o período é definido em : ActiveLock1.UsedDays > 21 . Basta informar o valor desejado para o período de avaliação em dias. Você deve usar esta propriedade junto com a propriedade RegisteredUser - que verifica se o usuário esta registrado para não
If Not (ActiveLock1.RegisteredUser)
And ActiveLock1.UsedDays > 21
Then
MsgBox "Seu periodo de avaliação terminou...!"
End If
E se algum espertinho alterar a data do sistema ? A propriedade LastRunDate irá cuidar dele...
Esta propriedade retorna uma valor do tipo data que indica a data que o programa foi usado pela última vez. Ela deve ser usada em conjunto com a propriedade UseDays para evitar que os espertinhos alterem a data do sistema e estendam o período de avaliação.
If (ActiveLock1.LastRunDate
> Now) Then
MsgBox "Por favor corrija a data do sistema para continuar..."
End
End If
Criando um versão Demo do seu aplicativo
Você pode também criar um versão demo do seu programa fazendo com que ele rode um determinado número de vezes e depois seja desabilitado.
Para fazer isto basta usar a propriedade : Counter.
Ela retorna um valor do tipo Longo indicando o número de vezes que a propriedade foi chamada. Assim se você quiser que o seu sistema rode somente dez vezes na máquina do cliente use o código a seguir:
If (ActiveLock1.Counter >
10) Then
MsgBox "Você já executou a versão Demo 10 vezes ,
registre-se..."
End
End If
Faltou falar da propriedade : SoftwareName
Ela atribui um nome único para cada programa que você desenvolver. Tenha a certeza de atribuir um nome único e diferente para cada sistema para criar versões diferentes.
Desabilitando partes do seu sistema (Crippleware)
Para desabilitar partes do seu sistema utilize a propriedade RegisteredUser. Se o usuário não for registrado simplesmente desabilite o código do sistema. Para habilitar/Desabilitar um botão de comando (cmdIncluir) o código seria o seguinte:
If
.RegisteredUser Then
cmdIncluir.enabled= True
else
cmdIncluir.enabled = False
endif
Um detalhe final: Como o ActiveLock utiliza o número de série do Windows e outras propriedades do sistema para gerar a Chave de Liberação, se o Windows for reinstalado , o SoftwareCode irá ser alterado, e o usuário vai precisar registrar o aplicativo novamente.
Se você desejar outra cópia da mesma aplicação que tenha um comportamento diferente , deve mudar a propriedade SoftwareName.
Bem , creio que as informações acima são suficientes para você usar o ActiveLock para proteger o seu código.
A seguir veremos como gerar via código um rotina no VB para
proteger seu sistema...
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ?
|
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências: