Pergunta

Eu escrevi um utilitário para fotógrafos que pretende vender barato bastante on-line (US $ 10). Eu gostaria de permitir que o usuário tente o software para fora por uma semana ou assim antes de pedir uma licença. Uma vez que este é um projeto pessoal eo software não é muito caro, eu não acho que a compra os serviços de provedores de licenciamento profissional valeria a pena e eu estou rolando meu próprio.

Atualmente, o aplicativo verifica para uma chave do registro que contém uma string encriptada que ou especifica quando o julgamento expira ou que têm uma licença válida. Se a chave não estiver presente, é criada uma chave de período experimental.

Então tudo que você precisa fazer para conseguir mais uma semana de graça é excluir a chave de registro. Não acho que muitos usuários faria isso, especialmente quando o aplicativo é apenas US $ 10, mas eu estou curioso para saber se há uma maneira melhor de fazer isso que não é onerosa para o usuário legítimo. I escrever aplicações web normalmente e não têm lidado com este material antes.

O aplicativo está em .NET 2.0, se o que importa.

Foi útil?

Solução

EDIT: Você pode fazer o seu actual regime de licenciamento considerável mais difícil de decifrar, armazenando as informações de registro na autoridade de segurança local (LSA). A maioria dos usuários não serão capazes de remover suas informações de chave de lá. A busca de LSA no MSDN deve dar-lhe a informação que você precisa.

As opiniões sobre regimes de licenciamento variam de acordo com cada indivíduo, mais entre os desenvolvedores do que grupos de usuários específicos (como fotógrafos). Você deve tomar uma respiração profunda e tentar ver o que o usuário alvo aceitaria, dada a necessidade de negócios a sua aplicação vai resolver.

Esta é a minha opinião pessoal sobre o assunto. Haverá indivíduos vocais que discordam.

A resposta a esta depende muito de como você espera que seu aplicativo para ser usado. Se você espera que o aplicativo para ser usado várias vezes todos os dias, você vai beneficiar mais de um período de teste muito tempo (vários meses), para criar um lock-in situação. Para que isso funcione você tem que ter um período de carência em que o software alerta o usuário que o pagamento será necessária em breve. Antes do período de carência, você terá mais sucesso se o software está em silêncio sobre o período experimental.

tempo ou não você escolhe acreditar nesta declaração bastante ousada é, naturalmente, inteiramente até você. Mas se você fizer isso, você deve perceber que a menos frequentemente o seu aplicativo será usado, mais curto o período de teste deve ser. É também muito importante que o pagamento é muito rápido e fácil para o usuário (como pouca entrada de dados e como poucos cliques possível).

Se você é muito incerto sobre o uso do aplicativo, você deve escolher um período de teste muito curto. Você vai, na minha experiência, alcançar melhores resultados se o aplicativo está em silêncio sobre o fato de que ele está em período de teste neste caso.

Embora eficaz para fins de licenciamento, "Call casa" características é considerado como uma ameaça à privacidade por muitas pessoas. Pessoalmente não concordo com a noção de que este é qualquer mau caminho para um cliente que está disposto a pagar para o software que ele / ela está usando. Portanto, sugiro a implementação de um regime de licenciamento em que o aplicativo verifica o status da licença (trial, paga) em uma base regular, e ajuda o pagamento do usuário para o software quando é hora. Este pode ser um exagero para uma pequena aplicação de serviço público, no entanto.

Para muito pequeno, ou mesmo simples, aplicações de serviços públicos, argumento que pagamento antecipado sem período de teste é o mais eficaz.

No que diz respeito a segurança da solução, você tem que torná-lo proporcional ao esforço de desenvolvimento. Na minha linha de trabalho, a segurança é muito importante porque há parceiros e revendedores envolvidos, e porque o investimento feito no desenvolvimento é muito alto. Por uma pequena aplicação de serviço público, faz mais sentido com o preço certo e contar com os usuários honestos que pagam pelo software esse endereço suas necessidades de negócios.

Outras dicas

Não há muito ponto para fazer esquemas de proteção complicado. Basicamente uma das duas coisas vai acontecer:

  1. A sua aplicação não é suficiente popular, e ninguém rachaduras lo.

  2. O aplicativo se torna popular, alguém rachaduras TI e libera-lo, então qualquer pessoa com conhecimento zero pode simplesmente baixar que o crack se eles querem enganá-lo.

No caso do nº 1, não vale a pena colocar um grande esforço para o esquema, porque você pode fazer uma ou duas pessoas extra comprar seu aplicativo. No caso de # 2, não vale a pena colocar um monte de esforço, porque alguém vai quebrá-la de qualquer maneira, e o esforço será desperdiçado.

Basicamente a minha sugestão é apenas fazer algo simples, como você já está, e isso é tão eficaz. As pessoas que não querem enganar / roubar você vai pagar, as pessoas que querem enganar você vai fazer isso de qualquer maneira.

Se você está hospedando sua página em um servidor que você controla, você poderia ter o julgamento-versão para download do seu software compila automaticamente para um novo binário todas as noites. Esta compilação irá substituir um datetime valor codificado em seu programa para quando o software expira. Dessa forma, a única maneira de "enganar" é mudar a data no seu computador, ea maioria das pessoas não vai fazer isso por causa dos problemas que irá criar.

Tente o Starter Kit Shareware. Foi desenvolvido o meu Microsoft e pode ter algumas outras características que você deseja.

http://msdn.microsoft.com/en-us/vs2005 /aa718342.aspx

Se você está planejando para continuar a desenvolver o seu software, você pode considerar o modelo de resgate:

http://en.wikipedia.org/wiki/Street_Performer_Protocol

Essencialmente, você desenvolver melhorias para o software, e depois pedir uma certa quantidade de doações antes de liberá-los (sem qualquer DRM).

Uma maneira de fazer isso que é fácil para o usuário, mas não para você é para codificar a data de validade e fazer novas versões do instalador de vez em quando ...:)

Se eu fosse você, porém, eu não faria isso mais avançado do que o que você já está fazendo. Como você diz que é apenas US $ 10, e se alguém realmente quer quebrar seu sistema eles vão fazer isso, não importa quão complicado você faz.

Você poderia fazer uma versão ligeiramente mais avançada do seu esquema, exigindo uma conexão de rede e deixando um servidor gerar a chave de julgamento. Se você fizer algo ao longo das linhas de sinal (de hash (unique_computer_id + when_to_expire)) e deixar a verificação do aplicativo com uma chave pública que o servidor tenha assinado a data de validade deve exigir uma "real" hack para manual.

Desta forma, você pode armazenar serverside do id único e recusar-se a gerar uma data de validade mais do que uma ou duas vezes. Não tenho certeza o que usar como a identificação única, mas deve haver alguma maneira de obter algo útil a partir do Windows.

Eu estou enfrentando o mesmo problema com um aplicativo que eu estou vendendo por um preço muito baixo também.

Além de ofuscar o aplicativo, eu vim com um sistema que utiliza duas chaves no registro, um dos quais é usado para determinar que o tempo de instalação, o outro a chave de licença actual. As teclas são nomeadas obscura e uma chave faltando indica adulteração com a instalação.

É claro exclusão de ambas as teclas e reinstalar o aplicativo irá iniciar o tempo de avaliação novamente.

Eu percebi que não importa de qualquer maneira, como alguém que quer quebrar o aplicativo irá suceder ao fazê-lo, ou encontrar uma rachadura por alguém que conseguiu fazê-lo.

Assim, no final, eu só estou alcançar o objetivo de torná-lo não muito fácil de quebrar o aplicativo, e é isso que, eu acho, vai parar de 80-90% dos clientes de fazê-lo. E afinal:. Como o aplicativo é vendido por um preço muito baixo, não há nenhuma justificação para mim para investir mais tempo sobre esta questão do que eu já tenho

apenas ser legal sobre a licença. explicar de antemão que esta é a sua paixão e um filho de seu trabalho. dar às pessoas uma chance de fazer a coisa certa. se alguém quiser piratear-lo, isso vai acontecer eventualmente. Eu ainda me lembro do meu desespero de ver meus livros sobre bittorrent, mas é algo que você tem que apenas lidar com eles. Não caverna para a pirataria informal (o que você está fazendo agora soa bem), mas não paralisar a coisa além disso. Eu ainda acredito que há bastante gente honesta lá fora para fazer uma fins lucrativos codificação pena esforço tempo.

não tem a avaliação com base em "dias desde a instalação", em vez do Número de dias utilizado, ou o número de vezes que executar ou algo similar. As pessoas tendem a baixar shareware, executá-lo uma ou duas vezes, e depois esquecê-lo por algumas semanas até que eles precisam-lo novamente. Até então, o julgamento pode ter expirado e então eles tinham apenas algumas tentativas para ficar viciado em usar seu aplicativo, mesmo que eles tinham instalado por um tempo. Número de ativação / dias em vez lhes permite entrar em um hábito de usar seu aplicativo para uma tarefa, e também faz uma venda mais forte (ou seja, você já usou este aplicativo 30 vezes ...).

Mesmo melhor, o que limita as características funciona melhor do que o tempo limite. Por exemplo, talvez o seu aplicativo de fotografia poderia limitar o usuário a 1 imagens megapixel, mas deixá-los usá-lo durante o tempo que eles querem.

Além disso, considere preços seu aplicativo em US $ 20 (ou US $ 19,95). A menos que já existe uma configuração de micropagamento no lugar (como loja iPhone ou Xbox Live ou algo assim) pessoas tendem a ter uma aversão a comprar coisas on-line abaixo de um determinado nível de preço (que é cerca de US $ 20, dependendo do tipo de aplicativo), e as pessoas assumem subconciously se algo é barato, não deve ser muito bom. Você pode realmente aumentar a sua taxa de conversão com um preço mais elevado (até certo ponto, é claro).

Em este tipo de circunstâncias, eu realmente não acho que é importante que você faz. Se você tem algum tipo de proteção que vai parar 90% dos seus usuários. Os outros 10% -. Se eles não querem pagar para o seu software que vai muito bem encontrar uma maneira de contornar a proteção não importa o que você faça

Se você quer algo um pouco menos óbvio que você pode colocar um arquivo em System32 que soa como um arquivo de sistema que a aplicação verifica a existência de no lançamento. Isso pode ser um pouco mais difícil de rastrear.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top