Pergunta

Os aplicativos geralmente têm chaves de registro. Ele pode sem dúvida ser colocado em um arquivo ou no registro. Às vezes, um aplicativo é desativada por entrada de outra chave, ou a passagem de uma data, etc. Onde se pode com segurança armazenar tais informações sobre um aplicativo pode ser desativado? Um arquivo não é a resposta; uma cópia de backup podem ser restaurados para derrotar este. O registro é uma resposta fraca, só porque a maioria das pessoas não sabe a sua existência, e não acho que para restaurá-lo, e se o fazem, restaurar a coisa toda que geralmente tem outros efeitos secundários que desencorajam.

Parece-me que a informação armazenamento desativação é desesperadamente insegura, como cópias antigas sempre pode ser restaurado. Na melhor das hipóteses se pode esconder esses dados por ofuscação sob arquivos ou chaves de registro enigmaticamente chamado.

Existe um truque padrão Eu não sei, ou um padrão esquema suportado pelo Windows, que ajuda com este problema?

Round 2: Eu tenho visto uma série de respostas. Nenhum deles especificamente dizer "você não pode fazer isso", mas vários implicam que telefonar para casa é a única boa escolha (por "desativação").

Vamos supor que telefonar para casa e dongles não são a resposta, e um tem que deixar algo na máquina. Fazer o que regimes de licenciamento típicos realmente fazer neste caso?

Foi útil?

Solução

Criar e assinar um arquivo de licença em um servidor. Se você usar a criptografia de chave pública, o arquivo de licença não pode ser falsificado com facilidade. O aplicativo pode ser claro rachado para não precisar a licença, mas isso é uma coisa diferente.

Outras dicas

Em contraste com o iPhone e outros ambientes fechados em uma plataforma aberta como Windows / Linux você sempre corre um risco muito elevado de que a proteção é facilmente circumventable (proteção serial local) ou poderão ser quebrada por inverter e remendar seu código. Praticamente todos os jogos single player moderno tem este problema. Além disso, é muito difícil encontrar uma solução que não irritar o usuário muito. Nós todos se lembram do desastre Sony-CD-Rootkit e na indústria do jogo a sua o sempre o mais novo DVD-proteção que não funciona em todas as unidades da maneira seu suposto. Mas o que você pode fazer? Você pode tentar a opção de série de costume, call-casa e proibir certos folhetins em atualizações mais recentes (Adobe, FlashFXP, Windows). Se você tem uma base muito baixa consumidor, este provavelmente é o suficiente para você. Se - por qualquer razão - que não é uma opção, o que dizer de um USB-Dongle que é necessário para utilizar o software. Ouviu falar de bastantes CAD-programas que utilizam este. Uma última coisa que você pode olhar para, o que acontece com marca d'água a sua aplicação? Se ele aparece em algumas redes p2p você talvez ser capaz de ver onde o vazamento é. Basicamente nada vai dar-lhe uma garantia de 100%, mas há opções para torná-lo mais difícil para o usuário médio ... Tenha em mente que a maioria de seu dinheiro deve ser gasto na criação de um grande produto não em compra de protecção praticamente inúteis!

Aqui está uma pequena mas muito bom visão geral de opções diferentes.

http://www.developer-resource.com/how -para-protect-software.htm

Ya, você pode criptografar as coisas, que é o que eles fazem! .Verificar a rede para vários licenciamento schemes.Even microsoft tem um ... Microsoft de licenciamento de software e Proteção

Você pode usar a API de criptografia da Microsoft para desenvolver você code.Plus obscurecer você assembléias ou ativação do usuário dlls.Force.

Todos os esquemas de proteção são vulneráveis ??a algum tipo de ataque. Criptografia de informação não ajuda a prevenir ataques porque as informações são armazenadas de forma obscura, mas mesmo isso não é inquebrável.

Outra opção possível é a de armazenar a informação real estado de ativação remota e deixar uma referência a esta informação na máquina, possivelmente criptografada. Há muitas maneiras de fazer isso, mas aquele que vem à mente é a de armazenar um GUID de algum tipo que você poderia, então, olhar para cima em seu banco de dados

Uma queda disso é a exigência de uma conexão com a internet, eu não sei se isso é proibitivo ou não, mas a ideia geral é a de remover o estado de ativação de uma máquina que você não controla e colocá-lo em um que você faz

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