Pergunta

Ficaria grato por quaisquer sugestões sobre como adicionar a aplicação de chaves de licença ou o limite de usuário simultâneo a um produto de software (baseado em UNIX) que-embora não seja explicitamente de código aberto-o usuário final nominalmente tem código-fonte para, ou poderia, É concebível que obtenha com relativa facilidade porque os servidores que executam estão localizados em suas instalações, etc.

Obviamente, não estou procurando nem esperando uma técnica que não possa ser contornada por alguém altamente motivado para fazê -lo e/ou por 1337 H4x0rs que são bons assim. O objetivo de tais mecanismos de anti-pirataria não é impedir que o usuário faça algo que eles realmente querem fazer, mas apenas para torná-lo irritante o suficiente para fazer isso não vale a pena o aborrecimento em comparação com a relativa facilidade de pagar por apenas pagar por Outra licença (barata) - pelo menos, para um usuário final de habilidades apenas comuns.

Isso exige algo mais sofisticado do que a mera segurança pela obscuridade (que também o levará a rir dos usuários que podem se deparar com ela, mesmo inadvertidamente sem a intenção de modificar a configuração), mas nada próximo do que é necessário para proteger um silo de mísseis. Apenas o suficiente de algo a dizer: "Sim, este produto realmente limita o uso ao que você comprou". Não deve ser nada interessante o suficiente para motivar alguém que procura fama e fortuna para postar uma entrada no blog sobre como quebrá -lo, idealmente, embora dada o quão totalmente nicho o produto é e quão barato é, não vejo isso como sendo sendo uma preocupação.

A única técnica real em que consigo pensar é compilar algumas rotinas que são funcionalmente essenciais para o restante do programa em um objeto recarregado binário estático ou dinâmico e, junto com ele, inclui as verificações. É necessário que a rotina seja crítica em algum respeito inseparável, em vez de uma verificação artificial apenas para essa condição específica, caso contrário, o usuário poderá desativar a chamada para a função. A idéia é que desativar a chamada para a função também tenha outras consequências pouco atraentes.

Isso não é nada que um hacker inteligente não possa desmontar e, obviamente, se a função for trivial o suficiente para se transformar em um binário sem propósito, é trivial o suficiente para reimplementar fora dele também. Mas é mais esforço do que um usuário final típico se incomodaria em passar. E, claro, novamente, o objetivo não é para parar mecanicamente a pirataria, mas apenas para colocar um pouco de limite para que o produto não funcione puramente No sistema de honra, embora eu tenha certeza de que isso é suficiente para muitos compradores corporativos nos EUA.

Esta é uma abordagem comum? Existem melhores?

Foi útil?

Solução

Tudo o que isso fará é irritar seus usuários honestos, enquanto qualquer pirata que valha a seu sal quebrará em cinco minutos - não faça isso.

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