Minha solução antipirataria

60 respostas
R

Olá pessoal.

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.

Abraços.
Rodrigo Pimenta Carvalho.

60 Respostas

esb

:roll:

Marcio_Nogueira

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).

R

Olá.

Nunca fui cracker.

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.

M

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?

rodrigoallemand

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…

zirocool

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?

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…

rafaelglauber

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…

M

everson_z:
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…

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…

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.

Rodrigo.Lima

Falou falou, explicou tudo mas não disse nada. Como podemos discutir uma coisa que não entendemos?

ViniGodoy

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í…

peczenyj

A versão 2.0 do ms-word tinha proteção contra cópia.

A versão 4.0 não tinha. Hoje em dia o padrão .doc do word é super popular. Por que será?

R

Pessoal!

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.

L

Rodrigo Pimenta Carvalho:
Pessoal!

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.

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.

[]'s

David

Como ele identifica se o txt é válido ou não?

R

Olá.

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?

Agora vou almoçar.

Abraços a todos.

Rodrigo.

R

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.

oazuc

Rodrigo Pimenta Carvalho:
Olá.

Quanto a publicar um artigo, qual seria a melhor revista brasileira para tal? Ou congresso vindouro?

Se sua solução for tão inovadora tecnicamente como vc diz, procure pelos congressos da Sociedade Brasileira de Computação - SBC www.sbc.org.br

Abraços,

Leandro Ramos.

ciczan

  • 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.

  • ao ativar o software, o usuário também não precisa entrar com contato comigo, para pegar qualquer código.

  • 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.

Assim fica estranho, se o cliente não conecta na internet como vc bloqueia ele?

Rodrigo.Lima

Cara e se um cracker por um “not” nas suas checagens, não vai furar seu sistema não?

alexandremlima

Existe uma empresa em Vitória-ES, a LS Sistemas, que possui um software chamado Odontoway. Eu instalei-o no consultório de minha prima após ela ter comprado num congresso. Ele usa esse seu esquema de antipirataria e, ainda mais, estenderam para licenciar via disquete ou pendrive nos casos em que o servidor de licenças na Internet não for possível de ser conectado.

LPJava

Coloque um prémio para quem burlar seu sistema

nao faça isso, pq depender do premio… vai aparecer os engraçadinhos… e vai detonar seu software pode acreditar… e tb se o premio nao for bom… nao aparece ninguem hehe

agora assim achei meia confusa a idea de segurança dele… mais minha opniao é estudar. e estudar… e fazer estudo de caso… por exemplo o whizlabs a versao nova da prova scjp… ja ta mais de 1 ano mercado… e ate o momento nao vi cracker dele… foi uma das versoes que ate o momento nao saiu o cracker q ti dar acesso a 100% (tem um por ai q nao dar resultado dar nada so acesso algumas questoes porem ineficiente).
Bom e ativacao deles funciona via web e via txt… agora é so pegar estudar como eles consegue manter a segurança a melhor forma de vc definir a sua… é fazer estudo de caso… e usar sua propria experiencia de crack que ja utilizou nos software’s.

jjose

Se o negocio é bom como falaste então pode ser liberado sem problemas, não vai ser possivel uma segunda instalação mesmo

David

Não precisa divulgar se não quiser, mas fica meio complicado emitir alguma opinião mais fundamentada sem saber o procedimento. Acho que também seria interessante você descrever em linhas gerais os escopos dos sistemas que sua empresa desenvolve, em que ambientes eles funcionam, que tipos de tecnologias estão envolvidas, etc. Talvez ajude o pessoal a formar uma opinião sobre o funcionamento do seu método nas situações em que você vem aplicando.

Rodrigo Pimenta Carvalho:
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.
=========

esb

Duas perguntas:

  • Como você bloqueia um cliente que não tenha acesso à internet sem visitá-lo?

Rodrigo Pimenta Carvalho:
Pessoal!
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.

  • Vamos supor que o computador do usuário X não tem acesso à internet. Esse usuário utilizou outro computador qualquer pra entrar no site da sua empresa e obter a licença conforme você explicou. Ai com essa licença ele ativa o software, e o TXT é gerado. Ai esse usuário X tem um amigo Y, também sem acesso à internet. Ai o X passa pro Y, além do programa, o TXT. Dá pra bloquear isso sem acesso ao servidor?
ViniGodoy

Rodrigo Pimenta Carvalho:
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.
=========

Isso quer dizer que a lógica do seu sistema é responsável pela segurança, não o processo que ela implementa.

Assim como na criptografia a segurança deveria estar na chave (no .txt mais qualquer informação do computador que você anexe no momento do processamento ou da geração do .txt), não tanto no software. Quem lesse seu software só deveria ter a certeza de que, sem o .txt e a ativação, não poderia fazer nada…

aleck

Olha, depois de ler todo o tópico vou dar minha opinião.

1 - Se o seu sistema acessa a internet para validar ele é inseguro, um redirecionamento da conexão é a coisa mais comum de ser feita.

2 - Se o seu sistema trabalha com serial basta entender o algoritmo para geração do mesmo e bloquear a conexão do sistema a internet. (evitar futuras verificações)

O seu software faz o que vc decidiu que era importante para empresa, porém ele usa técnicas comuns no mercado e ja conhecidas pelo pessoal que curte um programa na faixa.

Basta ver que os jogos já inventaram milhares de verificações, inclusives jogos online e mesmo assim o que não falta é crack, hack e coisas do tipo.

A segurança lógica em caso de sistemas é menos importante do que a conscientização dos clientes. Pois você perdeu 13 meses de possíveis melhorias tentando amarrar o burro na cenoura.

Como disseram anteriormente, os preços razoáveis ajudam muito a combater a pirataria.

josenaldo

E se a cópia for instalado em Máquina virtual?

Já vi nego pegar um programa, instalar numa vm e usar a maldita vm em várias outras máquinas, já com tudo instaladinho…

Na prática, ele não copiou o programa em outra máquina. Apenas está rodando “a mesma máquinas em lugares e tempos diferentes simultaneamente”… rsrsr

rodrigoallemand

Então quer dizer que eu gero um TXT após a ativação e, se eu quizer migrar é só eu copiar o TXT para a outra máquina!!! hum…
E se eu não desativar a primeira máquina e não tiver acesso a internet?!? Neste caso eu tenho um saldo de licença zerado e o software funcionando offline em qualquer máquina que eu quizer… ou seja, vc colocou um SERIAL na maquina que não controla a ativação desse serial.
Como eu disse anteriormente, sem uma conexão de internet ou estando fora de um dominio que vc conheça e domine (seu servidor neste caso) acho impossivel garantir o minimo de segurança…

Mas como em todo produto, aceite as criticas aqui colocadas e evolua o seu produto! Não se deixe abater por problemas que vc não conseguiu enchergar inicialmente.

M

pelo q eu entendi eh igualzinho o da adobe mesmo(quem ja instalou photoshop acima do CS2 sabe doq eu tou falando) e como vc ta disponibilizando um algoritmo de verificaçao no soft ja ferrou todo o papo do 100% antipirataria. O q daria certo era ter certeza q o cara vai conectar com a internet, e em vez de somente cadastrar uma key valida, vc pode mandar algo tipo um patch ou update de acordo com a senha.

de resto do jeito q tá agora dá pra crackear facinho.

Marcio_Nogueira

Desculpe a sinceridade, mas pelo que pude observar não há nada de novo e “revolucionário” na sua aplicação.

KWill

Por todos os milagres que esse software faz, ou aparenta fazer, está me parecendo mais um software “vaporware”.

Inté,

Alkamavo

Amigo sem rede (internet) como sera o controle das chaves?
a aplicação parece vinda de um romance…
E pelo texto extensivo que o cara escreveu era para nos perdermos nas linhas…
Até o vista tem 1001 maneiras de ser ultrapassado…mande a tua aplicação em uma questão de horas…ja era!!!

mchiareli

manda a sua aplicação para ser testada…

:stuck_out_tongue:

R

Pessoal,

Com tanta dúvida de vocês, vou ter que lhes responder todas, uma por uma. Como eu disse antes, eu também concordo que não há aplicação 100% segura. Mas, a questão não é ser 100% segura. A questão é ser muito segura e ainda não causar transtornos ao usuário final. Aí é que está o legal da coisa.

Provavelmente alguém aqui irá burlar, ou seja, ativar a aplicação em mais de uma máquina. Se isso acontecer, eu percebo via servidor de licenças on-line na Internet, cujo site pode me dar as estatísticas das licenças ativadas correntemente. Mas, prefiro não mandar a minha aplicação para a lista, já que ela nunca foi burlada. Porque aqui deve ter gente muito boa para burlar e então poderia vender meus softwares por aí livremente. Não quero aumentar as chances disso acontecer.

Eu bloqueio um sistema , sem conexão com o cliente , da seguinte forma:

Entro no cadastro do software dele, via Internet, via web site, no servidor das licenças, e multiplico o seu número de licenças por -1. Daí, quando o cliente tentar depositar ou sacar outra licença, por exemplo ao trocar de máquina, o servidor de licenças trava o acesso. Então, eu bloqueio o software do cliente de tal forma que ele fica fadado a funcionar somente onde estiver instalado. Então, mais cedo ou tarde, quando o cliente tentar passar o software para outra máquina, irá dançar, por ser inadimplente com minha empresa. Já usei este esquema 2 veze com duas clientes inadimplentes e recebi de uma já. Demorou um ano. Mas, recebi. Ela ficou sem escolha, quando precisou passar o software para outra máquina e teve que nos pagar.

Quanto à inovação:

Meu sistema usa um conjunto de idéias simples já empregadas em outros sistemas. Vide windows Vista e ActiveLock.

Mas, quem discorda que um servidor de licenças de software na Internet seria inovação sim? Eu ainda não vi nenhum servidor na Intenet desse tipo.

Eu não poderei responder todas as perguntas agora, vou ter que viajar agora. Mas, vou tentar responder o máximo durante esta semana.

Agora eu também tenho uma dúvida!!!

QUEM AQUI NESSA LISTA ESTARIA INTERSSADO EM USAR EM SEUS SISTEMA UMA SOLUÇÃO COM AS VANTAGENS DA MINHA, JÁ QUE MUITA GENTE FALOU QUE ISSO NÃO DEVE SER POSSÍVEL? MAS, ENTÃO, SE EU PROVAR QUE É POSSÍVEL, QUEM IRA QUERER USAR EM SEUS PRODUTOS?

VOCÊS SÃO OS DONOS DOS SOFTWARES QUE DESENVOLVEM OU SÃO CONTRATADOS EM EMPRESAS DE SOFTWARE?

Abraços.

Rodrigo.

danilomunoz

Olá!

Já trabalhei e desenvolvi vários softwares e cada um com um mecanismo diferente de ativação:
-> hardlock (placa pci, paralela, usb)
-> internet (ativação on-line)
-> manual (digitando o serial)

Muitos utilizam um esquema que extrai dados da sua aplicação como por exemplo do processador, hd, placa de rede etc…

Olha um caso que poderia ser falho:

-> Eu compro o teu software e ativo a licença;

-> Invento uma mentira de que o computador quebrou (como vc vai ter certeza que quebrou ? E se eu morar do outro lado do mundo ou em outro estado, vc vai vir até mim para verificar se meu computador quebrou?);

-> Após isto, vc me fornece uma outra licença;

-> Eu mantenho um pc conectado e outro desconectado  e trabalho normalmente.

Outro caso:
-> Eu sempre uso o computador A conectado fazendo atualizações e verificando licenças;
-> E regularmente eu faço a cópia para os computadores B, C, D, etc. … que estão desconectados.

Tudo depende muito do tipo da sua aplicação e do tipo do seu cliente. Mas vc tem que estudar melhor isso.
Se a sua idéia é propor um novo modelo, postar artigos, acho que sua idéia de proteção está bem vaga. Posso estar errado, mas procure um orientador da área para lhe ajudar na publicação. Aí sim!

Particularmente não vejo nada de inovador!

Algumas empresas fornecem hardlocks já que cuidam de boa parte do processo de ativação, licenças, envolopamento, etc.

ps: Vc vai mudar para Java? Então é melhor estudar os esquema de proteção para que ninguém faça engenharia reversa.

Até breve,

rodrigoallemand

Antes da resposta, sua aplicação consegue fazer um controle de licença flutuantes?!? Exemplo, eu tenho 5 licenças mas todo o meu parque com 100 máquinas pode acessar a aplicação, mas somente 5 estarão realmente autenticadas simultaneamente?

Bem, na internet eu tambem não vi nenhum quando montei o meu produto, que na verdade é um gerenciador de identidades em um software que eu revendo. O controle de licenças flutuantes é apenas mais um plus desse software. O que estamos discutindo aqui é a antipirataria… seu software, acho eu, não garante as licenças em um ambiente desconectado, que é uma deficiencia do meu tb… eu não consigo garantir que, em ambiente desconectado, o controle de licenças seja feito com segurança. A minha solução foi forçar que a pessoa esteja conectada, até porque todo o controle de identidade fica remoto, via webservice.

Nesse mundo de informática, tudo é possivel! E normalmente os donos são empregados tambem, tendo em vista que muitas vezes vc tem que trabalhar na sua empresa pra poder desenvolver algum produto.
Quanto a usar ou não o seu produto, sinceramente, eu não usaria. Não porque eu tenho um parecido, mas por se tratar de um core muito pequeno para aplicações do meu mundo, web/internet. Normalmente eu vendo o produto, e não as licenças. Quando preciso de licença, forço a pessoa estar online para que o controle flutuante seja feito.

jjose

Muito papo nesse topico sem peh nem cabeca, ele não nos leva a nada

esb

O que estamos questionando é se ele copiar entre máquinas sem acesso.

E outra, você mesmo disse que o usuário pode transferir o software sem que haja interferência sua. Como você vai interferir numa máquina sem acesso à internet? Mágica?

andredeividi

O seu sistema é para fazer o que?
ja desenvolvi em varios sistemas e te digo podem copiar, quero ver usar sem treinamento e nem suporte.

então ser for so para travar, eu uso o velho “kd o txt na pasta c:windows\sistem32\apps\bla\bla\trava.txt”
levo um hora no maximo para implementar. e te garanto o cara não copia sem eu ta junto.

abraço

R

Pessoal, respondo suas dúvidas agora abaixo. Amanhã tentarei mandar um resumo melhor da minha solução.

Resposta para moises.trovo:

No meu sistema antipirataria, depois que o software do cliente é ativado, o servidor de licenças passa a saber que o número de série XYZSDEblabla respectivo já contem uma licença em uso. Então, se o amigo do cliente copia tudo e tenta ativar em outra máquina, o servidor de licenças detecta que o mesmo número de série do software está pedindo outra licença de ativação. Mas nesse cado o servidor não libera. A única forma do amigo conseguir instalar e ativar é esperar o dono legítmo fazer uma desativação antes. E mesmo assim, o amigo deve saber qual é o login e senha do dono legítmo.

Resposta para everson_z:

Concordo que não existe sistema 100% antipirataria.
Não vou colocar um prêmio para burlarem meu projeto. Isso seira 2 prejuízos de uma vez só. Acredito sim que pode ser burlado. Mas, como já disse, isso não seria trivial e mesmo assim é uma solução confortável para o usuário final.
O que seria homologar uma solução??? Como faço isso???
Se o meu cliente precisar formatar sua máquina, ele não precisará entrar com contato comigo obrigatoriamente.
Me dedico ao meu sistema antipirataria há um bom tempo. E se eu perceber que há demanda reprimida para ele, irei transformá-lo em serviço para outras empresas. Mas, isso depende de comentários como os do pessoal nessa lista.

Resposta para rodrigoallemand:

O meu cliente só precisa do servidor web, onde está o servidor de licenças, na hora da ativação do sistema. E mesmo assim nem precisa ser conexão direta ao software. Porque o usuário pode acessar o servidor via web site, pegar os códigos necessários e digitá-los no software, no momento da instalação. Isso garante que o cliente não precisa me ligar.
Um pirata irá mesmo tentar usar um TXT meu em outra máquina, porque está obvio que é o TXT (Record.txt) que contem a licença. Na tentativa de copiá-lo, a cópia fica inválida. Na tentativa de salvalo, o salvo fica inválido. Se for movido, fica inválido. E não depende de posição de memória.
Não quero forçar meu cliente ficar conectado. Tem cliente que mora no final da floresta amazônica e lá não tem internet o dia todo.
Não implementei as licenças flutuantes. Para tal, o próprio cliente tem que transferir uma licença entre máquinas, ativando e desativando , quando necessário. No meu produto , visei o conforto do cliente.

Resposta para zirocool

Como pode ser percebido nas minhas respostas, eu implementei sim o esquema de “autenticando uma chave no servidor e liberando com uma contra-chave.”

Resposta para rafaelglauber

Ralmente quero discutir somente sobre o que meu software faz, em alto nível. Eu já sei como passá-lo para Java. Mas, como eu imaginava, muita gente aqui faz muita suposição de como a coisa é ou não é. A idéia de publicar um artigo sobre isso é muito boa. Portanto, vou falando com vocês e observando seus comentários, para eu saber se minha solução agrada algum de vocês. Mas, até agora não consegui explicitar a inovação contida nela. Mas, vamos discutindo que tudo ficará claro…

Resposta para Rodrigo.Lima

Estou disposto a explicar todas as suas dúvidas até vc entender o sistema. Daí depois vc me fala se gostou dele ou não, ok?
Se por um ‘not’ fura o sistema sim. Mas, para isso, precisa decompilar o executável. É claro que não existe solução 100% segura.
Ajuda ofuscar o código?

Resposta para ViniGodoy

Se o meu controle for burlado, o que vc disse realmente irá acontecer.

Resposta para lavh

Realmente a minha solução não é a solução mundial de antipirataria.
Mas, porque vc não acha que há inovação? Um servidor de certificação de assinatura digital foi inovaçao quando criado, certo? Então, se alguém criar um servidor de licenças que possa ser usado por qualquer empresa programando em java, por exemplo, isso não seria inovação? Seria o primeiro servidor do gênero!

Resposta para David

Ele identifica se o TXT é válido comparando o seu conteúdo (informação criptografada) com um atributo do computador. Tal atributo não depende do hardware. Exemplo de atributo que não depende do hardware:
coordenadas geográficas do computador (não uso isso!)
IP dinâmico do computador (não serve, já que é dinâmico)
Etc.
Tentarei colocar um mini artigo aqui nessa lista explicando melhor minha solução. Talvez alguem goste dela.
Resposta para oazuc

Irei procurar os congressos que vc disse. Sou formado em computaçao na UFMG , em 1997. E trabalho com desenvolvimento há 10 anos.

Resposta para ciczan

Bloqueio o cliente indiretamente. Bloqueio diretamente o seu cadastro no servidor de licenças, o qual fica no meu domínio. Depois, quando o cliente interage com o servidor, ele “dança”. E não dá para ficar sem usar esse servidor, quando se quer passar um software instalado de uma máquina para outra. PAra isso, a licença precisa ser reciclada, o que emplica em depositá-la e deposi sacá-la do servidor.

Resposta para alexandremlima

Parece ser mesmo uma solução muito prática para o usuário final. Obrigado por comentar!

Resposta para jjose

Acho que aqui tem muita gente boa para burlar meu sistema. Mas, não é o caso dos meus clientes.
Esse tópico nos leva a perceber o quão desprovidos de licenças antipirataria estão todos nós. Talvez nos leve a conlusão que minhas idéias são adequadas a nós.

Resposta para esb

Bloqueio indiretamente. Como já expliquei acima e antes também.
No seu exemplo, se o TXT for copiado para outra máquina, a cópia se torna um arquivo inválido automaticamente, sem qualquer validação ao servidor. Um TXT só é válido na máquina em que foi criado. “uma célula só tem meu DNA se for do meu corpo, mesmo se for encontrada em outro corpo.”
Ha como copiar o software de uma máquina para outra sim. Mas, o usuário deve desativar na máquina 1, se quiser usar na 2. Para tal, ou o software está conectado só nesse momento, eu o cliente acessa o servidor via web site e faz a intermediação entre o servidor e os softwares, só nesse momento.

Resposta para aleck

FAvor explicar melhor o cado do redirecionamento. Como fazer isso? Mesmo redirecionando, a nova URL terá que conter os scripts que contem a minha, onde faço validaçao de códigos de ativação.
O meu sistema trabalha com serial mesmo. Se eu lhe mandar um serial e o código criptografado correspondente, vc consegue descobrir o algoritmo usado?

Resposta para Marcio_Nogueira

Não há nada de revolucionário mesmo. Mas, você concorda que o sistema é confortável para o usuário final? Se sim, você acha que isso é uma inovação de produto ou processo?

Resposta para danilomunoz

Pelo visto , ninguem aceita a minha idéia como inovação. Mas, você entendeu que se a minha solução for acessível a todas as outras empresa, isso seria inovação?

Resposta para andredeividi

FAz controle antipirataria sem causar transtorno ao usuário final.

cv1

Rodrigo Pimenta Carvalho:
Favor explicar melhor o cado do redirecionamento. Como fazer isso? Mesmo redirecionando, a nova URL terá que conter os scripts que contem a minha, onde faço validaçao de códigos de ativação.
O meu sistema trabalha com serial mesmo. Se eu lhe mandar um serial e o código criptografado correspondente, vc consegue descobrir o algoritmo usado?

Rodrigo, parabens pela solucao - ela nao tem nada de novo, e implementacoes similares em Java ja existem (vide IntelliJ IDEA), mas nao deixa de ser o mecanismo de ativacao de software mais eficiente e menos pentelho que bolaram ate agora.

O esquema da redirecao funciona assim: no /etc/hosts, eu posso dizer que o www.sitequeativameusoftware.com eh na verdade 192.168.0.41, uma outra maquina que eu tenho na rede, que basicamente responde “opa, beleza, ta ativado!” pra todas as requisicoes que vierem. Eh assim que fizeram com que a ativacao do iPhone nao funcionasse so com o iTMS e a AT&T.

aleck


O esquema da redirecao funciona assim: no /etc/hosts, eu posso dizer que o www.sitequeativameusoftware.com eh na verdade 192.168.0.41, uma outra maquina que eu tenho na rede, que basicamente responde “opa, beleza, ta ativado!” pra todas as requisicoes que vierem. Eh assim que fizeram com que a ativacao do iPhone nao funcionasse so com o iTMS e a AT&T.

Apenas complementando, posso colocar um sniffer para verificar o que está sendo enviado e recebido do programa, com isso consigo emular a autenticação.

Esse esquema é amplamente utilizado no mundo dos games para burlar ferramentas como Nprotect entre outros.

Descobrir o serial é algo trivial, vide Windows e todo tipo de aplicativo que “rola” pela web com seus keygens.

Uma solução simples para ativar seu software é deixar um programa escutando a memoria, quando eu ativar pela primeira vez vejo qual endereço de memória foi alterado e faço um executavel alterado contendo este endereço já preenchido e se quiser algo mais elaborado posso bloquear seu acesso a internet.

Será que a Microsoft não saber criar seriais? :slight_smile:

Bem, eu poderia ficar escrevendo um bom tempo das maneiras de burlar seu sistema, porém volto a dizer, a solução atende o seu negócio, porém o tempo e dinheiro gasto para implementação (13 meses) poderia ser menor se fosse utilizado algo trivial como serial do micro, mac adresss, arquivo ou registro escondido, etc.

Não creio que seus usuários sejam experts em burlar sistemas para exigir tanto esforço, o mesmo poderia ser aplicado em melhorias no sistema como dito antes, mas já que o passado não volta, aproveite sua solução, apenas tome cuidado nesse marketing de inovação.

Agora se for migrar para Java pense bem na maneira de ofuscar seu código, até agora não vi nenhuma produto que faça bem o trabalho.

Abraços,

zirocool

Eu jah tinha visto um sistema que os caras te enviavam um disquete, tu executava um programinha nele, pegava um serial, ligava pra empresa, e pedia um contra-serial que habilitava algo no disquete, um contador, com o tal de licenças pra ti instalar nos micros.

foda eh que se tu alterasse a data do micro, ele te fudia.
se tu alterasse o arquivo com o contador, ele te fudia tbm…

tinha várias coisas… mas aih quando tu ia desinstalar o troço, metia o disquete, pedia desativaçao do sistema, e tu tinha direito novamente a uma licença… e por aih ia… =D

P

Gostaria de entrar em contato com Rodrigo Pimenta Carvalho, tenho enviado mensagens privadas, mas sem resposta. Gostaria de saber mais sobre esta solução antipirataria. Rodrigo, se ler esta mensagem favor entrar em contato pelo email [email removido]

aleck

Prof Walter:
Gostaria de entrar em contato com Rodrigo Pimenta Carvalho, tenho enviado mensagens privadas, mas sem resposta. Gostaria de saber mais sobre esta solução antipirataria. Rodrigo, se ler esta mensagem favor entrar em contato pelo email [email removido]

Engraçado que li o tópico todo denovo e notei que a solução não passa de um servidor de licenças simples que exige conexão do usuário com a internet. Acho que hoje em dia você consegue que qualquer programador faça algo do tipo.

De qualquer forma, sou contra esquemas de proteção, acho que a melhor maneira de impedir a propagação da pirataria é cobrar preços justos.

De qualquer forma, acho que ele é este aqui: http://www.linkedin.com/pub/rodrigo-pimenta-carvalho/4/217/a42

P

Obrigado, pelas informações.

aleck

aleck:
Prof Walter:
Gostaria de entrar em contato com Rodrigo Pimenta Carvalho, tenho enviado mensagens privadas, mas sem resposta. Gostaria de saber mais sobre esta solução antipirataria. Rodrigo, se ler esta mensagem favor entrar em contato pelo email [email removido]

Engraçado que li o tópico todo denovo e notei que a solução não passa de um servidor de licenças simples que exige conexão do usuário com a internet. Acho que hoje em dia você consegue que qualquer programador faça algo do tipo.

De qualquer forma, sou contra esquemas de proteção, acho que a melhor maneira de impedir a propagação da pirataria é cobrar preços justos.

Acho que ele é este aqui: http://www.linkedin.com/pub/rodrigo-pimenta-carvalho/4/217/a42

P

Olá Aleck, complementando a sua observação, é justo o seu pensamento do preço ser condizente, mas a natureza humana é complicada… mesmo com preço acessível, muitos ainda preferirão o caminho mais fácil, de simplesmente copiar, não se importando com os prejuizos causados com esta atitude para a autoria de um produto que muitas vezes envolve diversas pessoas, na sua maioria arrimo de família que precisam, como todos, de rentabilidade para cuidarem dos seus entes queridos e buscar a realização dos seus sonhos.

Por isto gostaria de uma solução eficiente contra atos mau intencionados com o nosso material de autoria, eu tenho diversos materiais gratuitos e que estão a disposição no endereço www.jkcursos.com.br , mas agora tenho uma equipe com 3 pessoas que precisam de remuneração, então faremos cursos e treinamentos com preços bem acessíveis para serem vistos pela internet. Mas há pessoas que preferem ter o curso em Cd, muitas delas não tem internet com banda larga. Pensando nestas pessoas que trabalham comigo e em conseguir remuneração para estruturarmos nosso trabalho é que estou a procura de uma solução antipirataria.

Os cursos são gerados pelo software de Autoria Visual Class, que no final gera um conjunto de arquivos .doc .txt .jpg .swf .mdb .html .exe entre outros. Os cursos podem ser executados direto no computador off line ou visto pela internet através do navegador padrão.

Estou aberto a sugestões para esta solução. Grande Abraço,

Att.
Prof. Walter Roque Gonçalves
www.jkcursos.com.br

ArtesaoDeSoftware

Um bom disassembler resolve essa sua “segurança” em uns 20 minutos. E pelo jeito o caminho mais fácil é atacando a leitura do TXT.

aleck

Existem programas que fazem esta proteção, um exemplo é http://www.sdprotector.com/.

Jesuino_Master

Acho que a melhor forma de conter a pirataria é ter algo como fazem com jogos: PSN, BattleNet. Só pensar em algo do tipo para software.

[meu modelo de negócios]

Eu não me preocupo com pirataria, meus sistemas são open source e vendidos a preços super baixos.

Cobro instalação, manutenção, treinamento e customização :wink:

Abraços.

Marcio_Nogueira

Deixar bem claro quais são as condições para obtenção da licença é algo tremendamente necessário. Termos confusos ou dúbios só irão dificultar o aceite por parte do cliente.

everson_z

Curioso…
E se eu espelhar o hd?

Você era cracker ???

everson_z

Eu entendi que isso funciona em rede, parece ter um contador nos acessos ou login do usuario, na se amarra ao hardware.

Se for isso, o pc pode não ter acesso a internet ou estar em redes diferentes

É complicado, como esta homologando?

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?

everson_z

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…

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…

everson_z

Faça o seguinte Carvalho,

Coloque um prémio para quem burlar seu sistema

Ou contrate uma equipe para homologar

:twisted:

everson_z

lavh:

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.

[]'s

Eu não posso falar que tenho uma solução sem homologar, esta errado isso…

everson_z

Eu trabalhei com quase 100%…

Eu tinha que ir no cliente instalar, ligava para empresa informando alguns dados da maquina e era gerado um key, o usuario não sabia qual era o key e quando ela precisava de algo como formatar a maquina tinha que ir no cliente de novo.

Key em cima do HD e Hora de instalação e acho que alguma coisa na base

everson_z

Rodrigo Pimenta Carvalho:
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.
=========

:shock:

Cara, a quanto tempo você programa ou se dedica a isso?

Tipo, você só pode fazer um programa contabil com alguém que tenha uma grande experiência na área para falar “É isso mesmo, funciona perfeitamente…” (E olha lá…).

Se você quer fazer um anti-crack e você não é um cracker, como pode falar que funciona se não conhece os métodos para burlar?

Se você fez o que fala, parabéns… é um gênio e logo vai ficar milionário :?

:shock:

Criado 27 de novembro de 2007
Ultima resposta 27 de nov. de 2007
Respostas 60
Participantes 29