DLL PARA AVALIACAO, LIMITANDO O PERIODO DE USO...

 Tópico anterior Próximo tópico Novo tópico

DLL PARA AVALIACAO, LIMITANDO O PERIODO DE USO...

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#393120 - 12/01/2012 19:51:46

NICKOSOFT
SANTO ANDRE
Cadast. em:Maio/2009


movimentado o topico, realmente a obrigatoriedade da internet em qq empresa, é grande...aliado a um sistema seguro precisar de comunicacao com a internet, é a saida...
criar arquivos locais, modificar o registro, é o usuario saber, exclui as informacoes, e o programa pensa ser a primeira execucao

algo nao tao flexivel como eu queria cria algo bem generico pra qq linguagem e programador usar....pode ser um serial e suas verificacoes dentro do banco de dados principal do programa, a grande maioria dos programas precisa de um BD, pode ter uma tabela de validacao la....



#393234 - 14/01/2012 12:35:48

NICKOSOFT
SANTO ANDRE
Cadast. em:Maio/2009


me veio a mente uma coisa agora....
tenho um programinha simples de lancamentos contabeis em um cliente....sao ao todo 7 micros q usam, blz....
supondo q o pagamento de mensalidades estivesse neles...ok ele pagaria a mensalidade referente a todas as 7 instalacoes blz....agora se por acaso esse programa estiver em outro cliente, como eu poderia verificar e saber quais programas liberar mais periodo de utilizacao?



#393501 - 18/01/2012 07:57:30

MYNAMEISONE
RIO DE JANEIRO
Cadast. em:Janeiro/2012


FOxman... O QUE eu dei foi um exemplo..de como poderia ser feito "PONTO"

agora..existem milhoes de formas de validar isso que ele quer..podendo se : criar arquivos, criar um BASE, etc ..só levei um pequeno conhecimento a ele..para ver se daria uma luz...

não me leve a mal..acho q o objetivo..era boas praticas...


abraç


Rodolfo C Gomes
MyNameisone@hotmail.com

#393551 - 18/01/2012 13:22:32

NICKOSOFT
SANTO ANDRE
Cadast. em:Maio/2009


a ideia é reunir varias ideias, nao serve so pra mim isso, é uma base de consulta isso

ainda fico na duvida de como identificar os micros de determinado lugar para liberar um periodo para esses micros.....



#393660 - 19/01/2012 16:10:48

LUIS HERRERA
NOVA ODESSA
Cadast. em:Julho/2005


Boa tarde, vou dar minha solução:

Tenho vários sistemas de checagem, tanto de validação como de licenciamento nos clientes:

1- Primeira coisa, minha licença é por CNPJ (software empresarial), então não tem usuário doméstico. Ela consta de uma única licença, sem limites de instalção, assim é descartado qualquer tipo de validação por hardware, o que elimina problemas de formatação, troca de equipamentos, etc...

2- A validação tem um prazo prédeterminado, sobre a última licença, assim uma licença anterior não pode ser usada, mesmo que se altere o relógio do windows.

3- Todas as informações de segurança são validadas em 4 locais diferentes e simultanemanete, se um for alterado, se faz uma série de análises para saber se foi uma violação ou problema no micro, em algumas situações o programa é bloqueado e o cliente orientado a entrar em contato, em outras ele permite o uso por mais um tempo ou corrige o problema.

4- Todos os acessos são feitos conferindo, data da última execução, data atual, data da licença. Tais informações são guardadas no registro do windows (modo camuflado), em banco de dados, na web e em um lugar que pode ser a escolha do programador (DLL, TXT, Pasta, etc... mas tudo criptografado e camuflado).

5- Em toda execução é feita uma checagem no site para ver se o cliente é registrado, ou seja, se ele tem uma licença está no banco do site, do contrário o programa bloqueia o mesmo, eliminando assim os geradores de seriais.

6- Tudo é criptografado com mais de um método diferente, assim a reversão é muito, mas muito difícil e demorada.

7- A cada nova atualização do sistema (significativa), a geração dos seriais é modificada, evitando que se um dia algo for quebrado, depois de um tempo pare de funcionar.

8- Toda atualização do sistema é feito numa área restrita do site, onde tudo é configurado para o cliente, desde se o sistema deve enviar emails de registro inválido, até a versão usada pelo cliente, informações ao cliente sobre novas atualizações e bloqueio de atualizações no site, tudo fácil e rápido setando campos na tabela de cadastro.

9- Para terminar, a versão de avaliação não pode ser usada como versão dos clientes registrados, por ser DEMO, e desta forma não há como atualizar o sistema baixando um DEMO do novo instalador, só pelo disponível na área restrita, que se o cliente não pagar a mensalidade é bloqueado imediatamente no site, perdento tanto o acesso ao site, como o sistema para de funcionar.

10- No caso de não haver conexão com a internet, o sistema até funciona, mas não será atualizado. Além disso a validação é mensal e é realizada com o envio de email, ou pelo acesso ao próprio site, isso configurado. Assim se tentar burlar o registro do windows, o relógio do micro ou qualquer arquivo do sistema, o mesmo para de funcionar, não adiantando reinstalar o sistema, inclusive na versão de avaliação que tem prazo certo, só se formatar a máquina será possível reinstalar o sistema DEMO, mas não se poderá usar a base de dados antiga.

Este foi o método que encontrei até o momento, sendo aprimorado ao longo de 15 anos e assim continua sendo.

Nota: Tudo foi feito em VB6, porém sei que muitas dessas coisas não poderão ou ainda não descobri como, fazer com o .Net, pela vulnerabilidade do código.

Agora uma coisa que pode realmetne impedir a utilização do software é vincular seu uso ao licenciamento automático em seu site, mas se o cliente não tiver acesso ele não funcionará. Outra coisa é que tem de ter um controle muito eficiente de pagamento e licenciamento dos cliente no site, para não ter reclamações, além de que se a internet ou seu site estiver fora do ar, nenhum cliente trabalhará. Uma solução é vincular apenas o licenciamento ao acesso do site, depois de licenciado no período, não faz checagem até a próxima licença.

Espero ter ajudado.

LH
Preserve a Natureza
Faça Coleta Seletiva e Cuide da Fauna e Flora por onde passa ou vive.
Dedique um tempo ao seu espírito, mente sã e corpo são.
Você e sua famí­lia serão os maiores beneficiado.

#393667 - 19/01/2012 17:23:11

NICKOSOFT
SANTO ANDRE
Cadast. em:Maio/2009


Luis muito bom e interessante seus metodos tmb...
como a ideia de algo generico ja foi descartada, se tornando algo muito particular mesmo, uma otima ideia é dentro do banco de dados do programa constar algumas informacoes sobre isso, e uma renovacao dessa licenca via web, tipo o q o foxman comentou, de pelo menos uma conexao no mes, em toda execucao poderia ser buscado na net se existe uma nova licenca, se tiver renova a do BD, e sempre executa o programa, conferindo informacoes no BD, ja elimina a ideia de desinstalar e reinstalar, qnd voltar o backup os dados da licenca voltam juntos hehehe

na parte q salvei no registro, dessa minha ideia inicial, tmb trabalho com 2 meios de criptografia tmb

poderia até mesmo armazenar as informacoes sem criptografia no banco de dados, e gerar um hash desse conjunto de informacoes, em toda execucao geraria um hash do q tem no BD, se nao confere com o arquivo de hash pega a tentativa de burlar hehehe



#393668 - 19/01/2012 17:27:45

FOXMAN
BARRETOS
Cadast. em:Janeiro/2001


Membro da equipe
Luis, eu faço algo parecido, porém toda validação, liberação etc é feita on line.
Fica apenas no registro do windows a lincença atual(do mes atual, porém com controle de data que se alterada a data do sistema para menos o sistema fica bloqueado, se alterado apra mais, o sistema irá funcionar apenas até o quinto dia util) que se por algum motivo o cliente perder conexão com a internet ela poderá ser utilizada(com uso de 80% do sistema), porém apos o quinto dia util essa licença é desprezada.

Assim como o seu sistema , em toda execução, (primeiro verifico se ha internet) é feito uma verificação de licença/liberação do cliente(pode ocorrer de o cliente solicitar o desbloqueio dizendo que irá depositar amanhã e tals, e por algum motivo ele não deposita).

Também utilizo CNPJ do cliente, além de outras informações.

NÃO UTILIZO NENHUMA INFORMAÇÃO DE HARDWARE(ACHO ISSO DESPRESÍVEL)
Como todo acesso ao sistema é feito uma checagem de licença / liberação, utilizo o registro do windows para guarar apenas esse serial "Temporario" que tem validade mensal.

Utilizar arquivos locais, bem como banco de dados para registrar licença acho arriscado.


NickSoft, a melhor forma de fazer isso é justamente utilizando um método on line, e para cada cnpj você liberaria um serial que teria em sua formação a quantidade de maquinas permitdo.
Porém ao menos um acesso mensal a internet essas máquinas deveriam ter, para assim vc conseguir controlar os serias e pcs.




Grupo DotNet.Br no FaceBook

Grupo WhatsDev



#393672 - 19/01/2012 17:47:51

NICKOSOFT
SANTO ANDRE
Cadast. em:Maio/2009


realmente pensei comigo, qnd instalado o usuario configura o programa, com os dados da empresa, incluindo o CNPJ e com seus dados de usuarios, assim eu teria um controle sobre numero de instalacoes tmb...

pensei em armazenar a licenca dentro do BD do programa, assim como vc armazena no registro do windows...em toda execucao o programa busca por uma nova licenca na net, justamente para akele cnpj e usuario e intervalo de dias, sem entrada de dados da licenca por parte dos usuarios, pra nao correr o risco dos keygens, e armazenar criptografado os dados de licenca pra complicar um pouco tmb....

to fechando os caminhos pro meu sistema ficar bom, pena nao ser um sistema de livre distribuicao pra q qq um pudesse usar em seus softwares



#393692 - 20/01/2012 02:39:14

FOXMAN
BARRETOS
Cadast. em:Janeiro/2001


Membro da equipe
Citação:
:
realmente pensei comigo, qnd instalado o usuario configura o programa, com os dados da empresa, incluindo o CNPJ e com seus dados de usuarios, assim eu teria um controle sobre numero de instalacoes tmb...

pensei em armazenar a licenca dentro do BD do programa, assim como vc armazena no registro do windows...em toda execucao o programa busca por uma nova licenca na net, justamente para akele cnpj e usuario e intervalo de dias, sem entrada de dados da licenca por parte dos usuarios, pra nao correr o risco dos keygens, e armazenar criptografado os dados de licenca pra complicar um pouco tmb....

to fechando os caminhos pro meu sistema ficar bom, pena nao ser um sistema de livre distribuicao pra q qq um pudesse usar em seus softwares


Essa licença que eu armazeno no registro do windows serve apenas para "CASO NÃO HAJA INTERNET", o cliente não ficar completamente na mão(até o quinto dia útil, pois após isso o sistema é completamente bloqueado), no entanto a primeira verificação é se tem internet, caso tenha, imediatamente é apagado o registro do windows, feito uma nova validação/checagem da licença e liberação de uso do sistema (on line).

Tudo estando ok, é gravado o serial novamente, com isso uma nova data pode ser aplicada ao serial, o que impossibilita o uso do sistema caso a data do windwos esteja alterada, para antes da data atual.








Grupo DotNet.Br no FaceBook

Grupo WhatsDev



#393697 - 20/01/2012 07:57:34

NICKOSOFT
SANTO ANDRE
Cadast. em:Maio/2009


boa, me clareou a ideia dessa licenca.....
to reunindo todas as sugestoes postadas....



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por NICKOSOFT em 26/01/2015 20:34:06