Eu criei uma solução (projeto de software) para combate à pirataria de programas de computador e atualmente eu estou satisfeito com essa solução, porque ela não causa, ao usuário final, a maioria dos transtornos causados por outros sistemas antipirataria. Eu criei esta solução, durante um esforço de 13 meses, porque eu vendo software. Mas, agora, não quero vender nada nem comprar através dessa lista de discussão. Mesmo porque a minha solução é específica para os produtos da minha empresa. Portanto, espero que os moderadores liberem essa mensagem na lista. O que eu quero é apenas saber se alguém nessa lista tem interesse em proteger seus softwares e ainda não achou uma solução viável para tal. Nesse caso, nós poderemos conversar sobre isso aqui. Poderei dar dicas, por exemplo. Ou poderei descobrir que a minha solução não é tão boa quanto eu venho notando.
Bom, como a minha solução está funcionando bem, talvez um de vocês discuta este assunto comigo. Eu disse que a minha solução não causa transtornos ao usuário final, pelos seguintes motivos:
ela é feita totalmente em software (não usa hardlock, não usa hardkey, não usa disquete ou pendrive). Isso permite a obtenção do software protegido via download, se necessário, por exemplo.
essa solução não cria arquivos escondidos no computador, nem mesmo interage com o register do windows.
ela também não depende de qualquer identificador de hardware da máquina, como id de hd, id de bios, MAC. Nesse caso o usuário pode fazer um update de hardware, sem se preocupar com o funcionamento do sistema com a minha proteção antipirataria.
o usuário final pode transferir a licença do seu software entre máquinas, sem a necessidade de entrar em contato comigo para pegar um código de ativação por exemplo. Então, se ele quiser vender o computador, onde está instalado o meu software, isso pode ser feito sem minha ajuda.
ao ativar o software, o usuário também não precisa entrar com contato comigo, para pegar qualquer código.
o software ativado não precisa de acesso à Internet, para ficar verificando validade de licença, por exemplo.
eu consigo bloquear um software de um cliente inadimplente, sem ter que visitá-lo pessoalmente.
eu consigo vender licenças adicionais sem ter que passar código para o cliente via telefone ou e-mail e sem ter que enviar CD etc.
essa solução não depende do relógio da máquina.
nessa solução, cada software tem um número de série e cada serial pode ter um formato diferente para cada tipo de software.
um CD, com o software da minha empresa, pode ser perfeitamente copiado e a cópia funciona corretamente. Mas, se a cópia é ativada, o original deixa de funcionar e vice-versa. Lembre-se que é contra lei evitar que o cliente faça backup do seu software, mesmo se for o instalador!! Isso está escrito na lei de software. E tem gente que faz controle antipirataria evitando cópias de CDs, o que evita cópia de backup.
com a minha solução , eu consigo gerar um único instalador e passá-lo a todos os clientes, ou seja, não tenho que ficar personalizando o software e recompilando tudo para cada novo cliente.
A licença ativada fica registrada dentro de um arquivo texto (TXT) explícito ao usuário final. Ou seja, software e arquivo ficam lado-a-lado. Assim, quando o pirata tenta piratear, ele primeiramente salva ou copia esse arquivo TXT, já que ele entende rapidamente que o controle está lá, como se isso fosse um deslize grosseiro da minha empresa. Mas, é nesse fato que meu controle atipirataria funciona e evita cópias ilícitas.
Eu fiz esse sistema em Delphi 5.0. Mas, vou passá-lo para Java em 2008. Portanto, terei muito o que discutir aqui sobre isso, nas listas direcionadas às tecnologias JAVA precisamente. Portanto, se alguém tem interesse nisso, favor se manifestar que já iremos discutindo como fazer estas coisas.
No meu caso, eu uso Linux, e defino a política de segurança em minha máquina de forma que se uma varredura de portas é efetuada, o firewall bloqueia automáticamente estas portas. se uma requisição ECHO Request (ping) é executada, nenhuma resposta é enviada, pois o protocoli ICMP ECHO REQUEST está bloqueado para a rede externa (internet).
Com espelhamento de HD, o sistema espelhado perde a licença automaticamente.
Para comprovar isso, nem preciso fazer o espelhamento do HD todo, basta eu fazer o espelhamento do arquivo TXT que eu comentei antes. É nele que a coisa vai falhar.
Supondo que o espelhamento funcione, isso seria uma tática que evitaria a pirataria desenfreada, como vemos através de camelôs nas ruas. Ou seja, se for necessário fazer um bom espelhamento para piratear, estou tranquilo. Quem vai querer ficar vendendo espelho de HD para vender um software.
Obrigado.
Abraços.
Rodrigo.
Já dá pra ter uma idéia de como funciona… e a adobe já faz algo do tipo e pela abrangencia da empresa em si eles nao conseguem colocar as restrições necessarias pra usar isso efetivamente.
Mas de qualquer jeito qual seria a lógica de ativar um soft a partir de um txt? tipo, vc instala na sua empresa, um funcionario acha legal o programinha faz uma copia no pen drive e instala na casa dele, dae no outro dia vc tenta usar e o seu ta bloqueado e vc tem q registrar de novo, e isso vai ficar acontecendo enquanto vc estiver usando junto com ele… Imagina agora se o seu programa cai em algum site de download? o serial do cara vai virar uma merda só não?
Interessante esse controle de inadimplência e disponibilização de licenças mesmo com o usuário desconectado…
Só queria saber se em um ambente corporativo, onde as licenças são flutuantes e a todo o momento acontecem muitos get/put de licenças na pilha, como vc faz isso em máquinas locais…
Como vc consegue, em um ambiente desconectado, controlar a quantidade de licenças?!?
Só pra entender o porque da pergunta, existe um WebService disponibilizado pela minha empresa (minha, eu, rs) que faz o controle de licenças flutuantes para os sistemas que eu desenvolvo. Mas pra isso eu preciso de uma conexão…
[quote=everson_z]Como vamos discutir se não fala nada sobre a segurança? Chutes no escuro.
Se seu software é particular, para seus clientes específicos, não vai ter no camelo, bem difícil…
Então txt esta preso a maquina? HD
A pessoa vai ter um key de acordo com a data? Burlado.
Contador de acesso para bloquear? Burlado, se for liberado backup e restore das informações.
Se você libera o CD de instalação e a chave junto, Burlado.
100% antipirataria existe?
[/quote]
Nunca existiu, e nem vai existir.
A melhor maneira que teria de evitar isso, é autenticando uma chave no servidor e liberando com uma contra-chave.
Mas ele nao implementou… se não precisa de internet, não precisa de nada, então como o cara vai invalidar a próxima instalação do software?
As alternativas do Everson estão todas certas.
Não tem mta lógica esse sistema não, as coisas não fazem muito sentido, ou o cara não deve ter pensado que se ele liberar um cd e uma key, o cara pode emprestar o cd e a key pra alguém que não vai acontecer nada.
E se for via download, a mesma coisa, já que não vai ter comunicação remota alguma com alguma coisa pra validar ou invalidar a instalação…
Você quer discurtir isso em qual nível? Vai publicar algum artigo de seu software? Caso queira discurtir sua migração para java deveria disponibilizar o projeto para poder assim surgir alguma discursão sobre…a menos que queira discurtir somente sobre o que seu software faz…
[quote=everson_z][quote=rodrigoallemand]
Só pra entender o porque da pergunta, existe um WebService disponibilizado pela minha empresa (minha, eu, rs) que faz o controle de licenças flutuantes para os sistemas que eu desenvolvo. Mas pra isso eu preciso de uma conexão…[/quote]
Com pré-requisito uma conexão já muda tudo!!!
Eu iria verificar algumas informações do banco para ver se bate com a do acesso anterior…[/quote]
ele disse q nao verifica se ta registrado toda vez, oq entra em contradição quando diz q se um cara instalar em outra maquina ou fazer a imagem do hd ele bloqueia… se pudesse lançar um crackme com exemplo da implementação da parada dava pra ver direitinho como q funciona.
Por mim, a melhor segurança anti-pirataria hoje em dia é cobrar um preço justo. Os crackers são muito eficientes, e acabam gerando versões sem qualquer estresse para o pirata.
Quem fica com o estresse é o usuário final, que pagou pelo produto e que acaba tendo que refazer registros, digitar números seriais, ou mesmo se submeter a ligar para a companhia que comprou o software pq a licença dele foi bloqueada por causa de algum pirata por aí…
São muitas dúvidas de vocês. Vou dar algumas explicações abaixo que já esclarecerão muita coisa:
Vamos supor o passo-a-passo do meu cliente e do seu software em ativação:
1 O cliente instala o software em quantas máquinas quiser, usando CD por exemplo. Até a cópia do CD pode ser usada, como eu disse. Não há limite de instalações.
2. O cliente quer usar o software na máquina A. No primeiro acesso ao software, ele solicita ativação.
3. Se o computador estiver conectado na Internet, o próprio software conversa com um servidor de licenças, que eu criei, e pega uma licença para si.
3.1 Se o software não tem acesso à Internet, ele abre um wizard que explica ao usuário a necessidade de se acessar um site (a interface do servidor na web) para pegar a licença. Isso implica em pegar um código nesse site. Portanto, o cliente não precisa me contatar. Nesse caso o tal código pode ser digitado na janela desse wizard. Assim o softwar pode ser ativado.
4. Um arquivo TXT é criado na máquina, junto ao software, o que garante as próximas execuções sem ativações.
5. O servidor de licenças registra que esse software já foi ativado e portanto a única licença está em uso. => Saldo de licenças = 0.
6. O cliente empresta o CD para um amigo. O amigo instala e tenta ativar.
7. Se o computador do amigo tem acesso à Internet, ele recebe um aviso de saldo zerado de licenças.
7.1 Se o computador do amigo não tem o acesso, o amigo vai no site do servidor de licenças e lá recebe o mesmo aviso.
8. O usuário passar o arquivo TXT para seu amigo.
9. O software ao ser executado na máquina do amigo avisa que o arquivo TXT é inválido.
10. O usuário quer vender o seu computador e não quer deixar a licença ir junto.
11. Ele desativa o software e a licença vai para o servidor de licenças. => Saldo = 1. Ou usa o site para depositar a licença via web page.
12. O amigo tenta novamente fazer uma ativação.
13. O software requisita ao amigo qual é a senha e login para ativação. Se o amigo tiver esses dados, ele ativa o software. Portanto, o dono legítmo deve fornecer login e senha para tal. (Para usar o site, é necessário o mesmo login e senha).
14. O cliente não me pagou.
15. Eu acesso o cadastro desse cliente no servidor de licenças e multiplico o seu saldo por -1.
16. O cliente tenta sacar sua licença novamente ou depositar. O site recusa o processo ou o próprio software dá o aviso de inadimplência.
17. O cliente decide comprar outra licença.
18. Eu acesso seu cadastro novamente e somo +1 ao seu saldo de licenças.
19. O cliente pode agora usar o seu mesmo CD e ativar o software em 2 máquinas.
20. O cliente entende que tendo acesso na Internet, no próprio computador ou em outro computador é o suficiente para não me pedir códigos.
21. O cliente troca sua placa de rede e nada é alterado referente ao arquivo TXT => O software ainda funciona.
22. O cliente é um pirata:
22.1 ele faz uma cópia segura do arquivo TXT e desativa seu sistema. => Saldo no servidor = 1.
22.2 ele restaura a cópia do arquivo e executa o software
22.3 O software avisa sobre arquivo TXT inválido.
22.4 O cliente é obrigado a sacar a licença depositada => Saldo no servidor = 0 novamente.
Bom, acho que isso tira a maior parte de suas dúvidas e suposições.
Se eu falei algo aqui que não confere com minha primeira mensagem acima, avise-me por favor.
São muitas dúvidas de vocês. Vou dar algumas explicações abaixo que já esclarecerão muita coisa:
Vamos supor o passo-a-passo do meu cliente e do seu software em ativação:
1 O cliente instala o software em quantas máquinas quiser, usando CD por exemplo. Até a cópia do CD pode ser usada, como eu disse. Não há limite de instalações.
2. O cliente quer usar o software na máquina A. No primeiro acesso ao software, ele solicita ativação.
3. Se o computador estiver conectado na Internet, o próprio software conversa com um servidor de licenças, que eu criei, e pega uma licença para si.
3.1 Se o software não tem acesso à Internet, ele abre um wizard que explica ao usuário a necessidade de se acessar um site (a interface do servidor na web) para pegar a licença. Isso implica em pegar um código nesse site. Portanto, o cliente não precisa me contatar. Nesse caso o tal código pode ser digitado na janela desse wizard. Assim o softwar pode ser ativado.
4. Um arquivo TXT é criado na máquina, junto ao software, o que garante as próximas execuções sem ativações.
5. O servidor de licenças registra que esse software já foi ativado e portanto a única licença está em uso. => Saldo de licenças = 0.
6. O cliente empresta o CD para um amigo. O amigo instala e tenta ativar.
7. Se o computador do amigo tem acesso à Internet, ele recebe um aviso de saldo zerado de licenças.
7.1 Se o computador do amigo não tem o acesso, o amigo vai no site do servidor de licenças e lá recebe o mesmo aviso.
8. O usuário passar o arquivo TXT para seu amigo.
9. O software ao ser executado na máquina do amigo avisa que o arquivo TXT é inválido.
10. O usuário quer vender o seu computador e não quer deixar a licença ir junto.
11. Ele desativa o software e a licença vai para o servidor de licenças. => Saldo = 1. Ou usa o site para depositar a licença via web page.
12. O amigo tenta novamente fazer uma ativação.
13. O software requisita ao amigo qual é a senha e login para ativação. Se o amigo tiver esses dados, ele ativa o software. Portanto, o dono legítmo deve fornecer login e senha para tal. (Para usar o site, é necessário o mesmo login e senha).
14. O cliente não me pagou.
15. Eu acesso o cadastro desse cliente no servidor de licenças e multiplico o seu saldo por -1.
16. O cliente tenta sacar sua licença novamente ou depositar. O site recusa o processo ou o próprio software dá o aviso de inadimplência.
17. O cliente decide comprar outra licença.
18. Eu acesso seu cadastro novamente e somo +1 ao seu saldo de licenças.
19. O cliente pode agora usar o seu mesmo CD e ativar o software em 2 máquinas.
20. O cliente entende que tendo acesso na Internet, no próprio computador ou em outro computador é o suficiente para não me pedir códigos.
21. O cliente troca sua placa de rede e nada é alterado referente ao arquivo TXT => O software ainda funciona.
22. O cliente é um pirata:
22.1 ele faz uma cópia segura do arquivo TXT e desativa seu sistema. => Saldo no servidor = 1.
22.2 ele restaura a cópia do arquivo e executa o software
22.3 O software avisa sobre arquivo TXT inválido.
22.4 O cliente é obrigado a sacar a licença depositada => Saldo no servidor = 0 novamente.
Bom, acho que isso tira a maior parte de suas dúvidas e suposições.
Se eu falei algo aqui que não confere com minha primeira mensagem acima, avise-me por favor.
Abraços.
Rodrigo.
[/quote]
Legal cara.
Mas sinceramente, essa sua solução está longe de ser eficiente e inovadora, como você a descreveu.
Deve funcionar bem pro seu caso, então ótimo, é o que você precisa, mas não ache que ela é a solução
para a pirataria no mundo.
Sei perfeitamente que não existe solução 100% antipirataria!! Eu sei burlar a minha.
Mas, sei que minha solução não dá os transtornos que as outras dão, ao usuário final.
Eu tive tanto transtorno com outras soluções terceirizadas, que fiz a minha. E ainda não tive meus softwares pirateados.
Mas, a minha solução pode servir para outras empresas também.
Imagino que eu poderei criar um pacote, lib ou componente com minha solução, para outras empresas colocarem em seus códigos fontes (produtos finais).
E imagino que eu poderei disponibilizar, aos softwares das outras empresas, o mesmo servidor de licenças que já uso. Assim, clientes de outras empresas, poderão ativar seus programas. Seria algo como um servidor de certificação de assinatura digital.
Isso não seria um conforto para as empresas? Ou seja, elas não teriam que ficar gastando tempo criando suas próprias soluções. Poderiam usar a minha. Se eu tivesse encontrado no mercado uma solução com as vantagens da minha, eu teria comprado e teria economizado 13 meses de ralação.
Alguém conhece uma empresa com solução antipirataria via software, feita no Brasil? Se sim, deixe-me saber, por favor.
Quanto a minha solução, vou estudar a possibilidade de liberar um demo dela aqui na lista, para todos verem como funciona. Isso é permitido nessa lista.
Quanto a publicar um artigo, qual seria a melhor revista brasileira para tal? Ou congresso vindouro?
O que se trata de homologar uma solução? Como faço isso?
A forma como protego o TXT é exatamente a alma do meu projeto.
Não gostaria de ter que divulgar isso.
Abraços.
Rodrigo.