SEGURANÇA / CONTROLE PIRATARIA
13/08/2015
0
Gostaria de saber como vocês estão fazendo para manter o controle contra pirataria do software.
Tenho a seguinte questão:
Pelo exe eu controlo e libero acesso através do número do HD. Grava criptografado no banco, etc...
Porém um "esperto" pode solicitar liberação de uma maquina como sendo de acesso a rede, e depois copiar a base para essa maquina e ajustar aquivos .ini para rodar local.
Como o hd esta liberado... foi pro espaço a proteção.
Como poderia fazer o controle do Servidor para evitar pirataria?
Delphi XE2
Firebird 2.5
Mauro Klowaski
Posts
14/08/2015
Rodrigo Oliveira
[url]https://www.devmedia.com.br/forum/melhor-forma-de-evitar-pirataria/405894[/url]
14/08/2015
Mauro Klowaski
Tinha visto sim esse tópico, também comprei o componente citado, porem ainda esta suscetível a cópia quando uma maquina liberada para uso em rede (cliente) for convertida em servidor.
Infelizmente com o firebird é fácil levar esses dados de um lado para outro e transformar um "SERVIDOR + CLIENTE" em dois "SERVIDORES"
Preciso encontrar uma solução para controlar o servidor, ou seja, só sobe como server na maquina/HD liberado. Se copiar para cliente que teve seu acesso a base liberado esse banco não deve permitir acesso. assim como os componentes sugeridos no tópico anterior fazem para liberar uma maquina.
17/08/2015
Alisson Santos
Referente o que informou você pode controlar a pirataria de algumas formas.
1ª - Pode fazer uso de autenticação online utilizando o cnpj como validador.
2ª - Pode criar um validador aonde ele le o código do serial da placa mae e do processador e o seu programa criptografar essa informação e gerar uma chave criptografada para o mesmo.
Existe outras formas que eu tenho conhecimento, ai depende muito do que precisa e qual o nivel de trava que vai querer para o seu sistema. Caso seja a liberação para a empresa fica mais facil. Agora se for controle de liberação pela empresa e usuário ai fica um pouco mais complicado mais tem como fazer isso.
Desenvolvi uma aplicação em c# que faço isso que te falei. Quando o pessoal loga ele verificar a chave de acesso que foi liberado, essa chave seja inválida ele não loga no sistema.
18/08/2015
Rodrigo Oliveira
18/08/2015
Ricardo
Nesse caso eu tenho uma rotina para que o sistema consulte uma base de dados remota em meu servidor, e nela eu habilito e desabilito o acesso da máquinas. Então se o cara tentar usar um destes artifícios acima ou outros, eu libero outra máquina mas bloqueio a antiga, e se o sistema ficar mais de 2 dias sem logar na internet ele deixa de funcionar.
19/08/2015
Mauro Klowaski
Bom, acho que vou seguir da seguinte forma:
1 - Vou usar o componente da TCF para controle através de liberação de chave.
2 Temos uma rotina que exige atualização mensal em base online. Essa atualização só é permitida através do servidor. Nesse momento ele compara o número de hd com o que esta gravado na base online. Se iguais, libera mais 30 dias, se diferentes, trava o sistema.
O problema dessa rotina é a obrigação de atualização quando por algum motivo o cara esta sem internet. Tenho alguns casos onde o cliente esta em cidades onde a unica forma de chegar é por barco ou avião pequeno. Nesses casos a internet é via satélite que na prática costuma ficar sem ate quando esta com muitas nuvens...
Outra situação é quando acontece algum outro tipo de problema voltado a infra no local que deixa o cliente sem net por maior período. Tivemos caso em que a operadora de internet do cliente o deixou sem link por 45 dias. Nesse caso tivemos que pedir ao mesmo pra copiar a base em pendrive e em outra maquina com net nos enviar para liberação.
Então, de certa forma a solução citada acima ajuda, mas ainda deixa brechas para os casos da falta de internet.
Pensei também em seguir uma ideia com base no que sugeriu o Alisson, onde poderia pegar numero de HD e montar um cálculo em que o resultado deve ser igual a um valor gravado e criptografado no banco, ao mudar o mesmo de máquina, o numero de HD muda e essa conta não fecharia mais. Não fechando o numero, pode-se gravar no banco um status de sistema como bloqueado, e nesse momento nenhuma máquina mais abrirá o sistema ao fazer essa checagem antes de abrir.
O problema dessa rotina é que só pegaria caso o cara use o servidor para trabalhar.
19/08/2015
Thiago Santana
TCF - Componentes Delphi
São muito legais, tem um deles que é utilizado para segurança, efetuando o bloqueio do uso do software!
Podem ser bloqueados por intervalo de tempo, quantidade de execuções e etc...
A segurança é feita via criptografia utilizando componente do PC, efetuando calculos com o numero do HD, tanto é que caso ocorra a formatação desta máquina o código registrado na mesma não terá acesso!
Vale apena conferir.
Espero ter ajudado!
19/08/2015
Mauro Klowaski
20/08/2015
Thiago Santana
Nunca tive problema nesse tipo de situação, pois no servidor tenho apenas a base de dados e todos os outros PCs tem seus respectivos executáveis!
Cada um com sua chave de segurança.
23/05/2020
Ricardo
Clique aqui para fazer login e interagir na Comunidade :)