Estou desenvolvendo um aplicativo que, quando comprado, pode ser ativado usando uma licença.
Atualmente, estou fazendo a validação offline, o que é um pouco preocupante para mim. Estou ciente de que não há nada a fazer contra rachaduras (binários modificados), no entanto, estou tentando desencorajar a pirataria de chaves de licença. Aqui está o meu plano atual:
- Quando o usuário ativa o software e após a validação offline ter êxito, ele tenta ligar para casa e validar a licença. Se a casa aprovar a licença ou se a casa estiver inacessível, ou se o usuário estiver offline, a licença será aprovada . Se chegar em casa e informar que a licença é inválida, a validação falhará.
- O aplicativo licenciado liga para casa da mesma maneira todas as vezes durante a inicialização (em segundo plano). Se a licença for revogada (ou seja, licença pirateada ou gerada via keygen), a licença será desativada.
Isso deve ajudar na pirataria de licenças - uma licença inválida será desativada e uma licença válida pirateada poderá ser revogada (e seu proprietário legal será fornecido com nova licença). Os usuários piratas serão forçados a usar a versão crackeada, que geralmente é específica e é mais difícil de alcançar.
Embora geralmente pareça bom para mim, tenho algumas preocupações:
- Os usuários tendem a não gostar de chamadas domésticas e validação online. Esse tipo de validação o incomodaria? Mesmo que em caso de offline / falha, o aplicativo permaneça licenciado?
- É claro que todo o esquema pode ser frustrado ficando offline / firewall / etc. Penso que o incômodo de executar uma dessas ações é ótimo o suficiente para desencorajar o compartilhamento ocasional de licenças, mas não tenho certeza.
- Como geralmente ocorre com as variações de licenciamento e DRM, não tenho certeza de que o tempo gasto nesse tipo de proteção não seja melhor gasto com a melhoria do meu produto.
Eu apreciaria sua opinião e pensamentos.
Obrigado!
Respostas:
Esta não é realmente uma guerra que você pode vencer com a abordagem que você definiu. Como outros já apontaram, simplesmente desabilitar a rede ou clicar em "não" quando o firewall perguntar se você deve ou não permitir que seu aplicativo ligue para casa, ignorará a casa. Além disso, os usuários absolutamente odeiam esse tipo de coisa, e você pode ser solicitado a marcar explicitamente uma caixa de seleção, dizendo que eles entendem o que o sistema está prestes a ligar para casa (de acordo com a lei em alguns países).
Então o que você pode fazer? Meu conselho seria:
fonte
Com algo assim, você deve se perguntar (ou ao seu chefe) a seguinte pergunta:
Se eles são menos, então, por todos os meios, vá em frente. Nesse caso, suponho que o seu software seja de alto valor (como o Microsoft Word ou o AutoCAD) e as pessoas não se preocupem com a possibilidade de ligar para casa de vez em quando.
Se eles forem maiores, sugiro que você não implemente nada muito complexo (ou mesmo nada) e se esforce para ganhar dinheiro com o software de outras maneiras. Você pode cobrar pelo suporte, ou pelo pessoal do programa para desenvolvedores, ou qualquer outra coisa.
Outra coisa a ter em mente é que, se alguém estiver determinado a piratear o seu software, ele adicionará mais camadas e não os interromperá, mas incomodará seus usuários legítimos.
fonte
Uma preocupação que não parece ser abordada aqui é "você saiu do negócio". Embora isso possa parecer uma variação de "a rede está inativa", é uma situação mais permanente. Eu me deparei com isso em vários produtos para desenvolvedores.
fonte
Minha observação é que depende muito do mercado vertical em que você está distribuindo seu aplicativo. Alguns são muito mais propensos à pirataria e outros usos não autorizados do que outros. Por exemplo, nunca lançarei outro produto no mercado de marketing na Internet e SEO sem fazer uma "casa telefônica" e outras proteções. A pirataria generalizada e casual é a regra nesse nicho. Em outros nichos de mercado em que trabalhei, como processamento de reclamações médicas, eu ficaria mais à vontade com a proteção mais flexível contra cópias.
Como Daniel B mencionou, mover o aplicativo on-line, no todo ou em parte, é uma opção em potencial. Este é o meu plano atual para um novo aplicativo no qual estou na fase de design agora.
fonte
Das desvantagens dos dongles :
fonte