Escolar Documentos
Profissional Documentos
Cultura Documentos
À medida que o valor dos seus aplicativos comerciais aumenta, aumenta também o
interesse por parte de alguns usuários em obter cópias não autorizadas dos mesmos,
sendo necessário então, avaliar custos e benefícios da utilização de chaves de
hardware para proteção dos seus produtos.
Recentemente, entrei em contato com os principais fabricantes de hardlock
disponíveis no mercado, desmonstrando meu interesse em avaliar seus produtos e
publicar um artigo sobre os mesmos. Obtive total apoio por parte da PROTEQ que me
encaminhou gratuitamente um kit completo de desenvolvimento, contendo dois dos
seus modelos de chaves: chave para porta paralela e USB.
Neste artigo, abordaremos a problemática da pirataria, a solução PROTEQ e as
conclusões sobre o produto.
Tipos de Proteção
Creio que os leitores já conhecem e aplicam diversas formas de proteção de seus
produtos por recursos de software, tais como:
• Gerar arquivos em algum lugar do disco que contenha informações para
correta abertura de seus programas.
• Gerar chaves no Regedit do Windows.
• Verificar números disversos como: número de HD, Bios, MAC da placa de rede
e etc
Todos sabemos que estas formas de proteção podem sim ser eficientes para
proteger contra usuários leigos, mas usuários com um pouco mais de conhecimento
em informática poderiam facilmente burlar as mesmas.
Quando falamos em proteção, é muito importante lembrar que não existe proteção
100% segura; caso contrário, o problema da pirataria mundial não seria tão
preocupante.
No entanto, no momento de definir qual tipo e nível de proteção queremos para
nossos aplicativos, devemos levar em consideração a relação custo-benefício da
abordagem escolhida.
Assim, podemos verificar que despendendo um grande tempo na implementação de
uma solução complicada de proteção como as descritas acima, teremos um alto custo
e um benefício, no mínimo, duvidoso.
As soluções de proteção por chave de hardware por sua vez, apresentam um baixo
custo de implementação, devido a programas como o Envelopador - PROTEQ, e um
alto benefício quando considerado o nível de proteção obtido.
2
A Solução PROTEQ
Dentre outros produtos, a PROTEQ oferece as chaves COMPACT, nas versões
COMPACT-500 e COMPACT-Net (local e rede respectivamente), com 512 bytes de
memória programável, e funções de leitura escrita, encriptação e contadores. Voltado
para empresas desenvolvedoras de software cada produtor de software personaliza
seu plugue, de forma que apenas os clientes que o possuirem podem utilizar seu
software
Para acessar a chave, utilizamos um software formatador que dentre outras funções
permite configuração e acesso à memória da chave.
Uma das opções que mais me chamou atenção no produto, opção esta que não me
lembro de ter encontrado em outras marcas de hardlock, foi a facilidade na hora de
proteger um determinado arquivo com o programa chamado Envelopador.
Fiquei surpreso ao constatar que não é necessário conhecer nenhum comando de
leitura ou escrita da chave para proteger um arquivo qualquer, bastando apenas
selecionar o arquivo e aplicar as opções desejadas. O programa Envelopador então faz
todo o trabalho de adicionar ao arquivo escolhido as chamadas de verificação da
presença da chave.
Vale ressaltar que com ele podemos proteger qualquer tipo de arquivo, inclusive
.exe para os quais eu não possuimos os fontes.
3
Function Ler_Memoria(var valor: String; inicio, tamanho: Integer; desencripta: Boolean): Boolean; overload;
Function Ler_Memoria(var valor: String; desencripta: Boolean): Boolean; overload;
timer1.Enabled := true;
end;
label2.Enabled := False;
edit1.Enabled := True;
button1.Enabled := True;
label3.Enabled := true;
datetimepicker2.Enabled := True;
button2.Enabled := False;
end
else
begin
if Date > datetimepicker1.Date then //Gravação da memória guarda data de última execução
begin
Str_Gravacao := DateToStr(Date) + DateToStr(datetimepicker2.Date);
if not Grava_Memoria(Str_Gravacao, 0, True) then
6
showmessage('Erro na Gravação');
end;
end;
end
else
showmessage('Erro na Leitura');
end
else
showmessage('Código da CHAVE DE HARDWARE não confere);
end
else
showmessage('Não possível estabelecer comunicação com a CHAVE DE HARDWARE');
end;
Caso o período de fim de aluguel contratado tenha terminado, o programa pede que
o usuário entre a senha de liberação para um novo período de aluguel.
Assim, caso o cliente tenha efetuado o correto pagamento de sua mensalidade, o
proprietário do sistema utilizará um programa auxiliar para gerar as senhas de
liberação, e encaminha-las ao seu cliente.
Este programa auxiliar contém uma rotina simples de geração de senhas baseada na
data escolhida para o fim do aluguel. Esta rotina, seja ela qual for, também deve estar
presente no programa do usuário, para que o mesmo possa conferir se a senha
digitada corresponde à esperada.
O cliente então, ao receber a senha referente ao período para o qual ele efetuou o
pagamento, atualiza o seu sistema, liberando o mesmo para operar normalmente.
Neste momento o programa, ao verificar a senha, atualiza a data de fim de aluguel e o
sistema volta a operar, dando fim ao ciclo.
Conclusões
Espero que este artigo tenha servido para esclarecer dúvidas e para que muitos dos
leitores se sintam encorajados a utilizar soluções de proteção profissionais em seus
aplicativos.
Gostaria também de agradecer à PROTEQ por disponibilizar seu produto para
avaliação.
Maiores informações sobre o produto podem ser encontradas no site
www.proteq.com.br
8