Protegendo um programa através do Vk.com

No artigo, consideramos brevemente como proteger um programa usando a API VK do uso ilegal e da distribuição não autorizada sem criar seu próprio servidor em nuvem.

Diagrama gráfico





Princípio de funcionamento


Se o software não estiver conectado de forma alguma ao Vkontakte, os grandes desenvolvedores usarão o HASP ; no entanto, é caro, difícil de adquirir e é necessário desenvolver mais aplicativos que serão executados nas chaves do HASP.

Este artigo é sobre a proteção de programas desenvolvidos por desenvolvedores individuais ou pequenas empresas. É lógico colocar o servidor na Internet e usá-lo para licenciar o programa, mas mesmo isso não garante que seja suficiente para corrigir o programa. Vamos ver quantas pessoas fazem isso simplesmente colocando solicitações críticas ou complexas na forma de procedimentos armazenados, cujo código é armazenado com segurança nos servidores Vkontakte e não está disponível para o programa que você distribui:
Os procedimentos armazenados permitem executar o código no lado do servidor da API da mesma maneira que o método execute , mas sem passar o código do procedimento pela rede.

Para proteção adicional, o procedimento armazenado deve, além da execução, verificar também se o usuário que comprou a licença a iniciou, para isso é suficiente executar o procedimento armazenado no início, por exemplo, o seguinte código:

var allowed_users = ",id1,id2,id3,id99999999,";//     //  allowed_users vk_id    var c = allowed_users.indexOf("id"+API.users.get({})@.id+",");//        :( var res; if(c>0) {//      //    res = ... return res; } else return "License not acquired"; return "error" 

Como analógico, você pode obter usuários_ permitidos na página wiki ou verificar de outra maneira.

Quando a licença do usuário expira, ela é simplesmente removida dos usuários permitidos.

Conclusão


  1. Você pode automatizar o processo de edição da lista de usuários ao armazenar a lista de usuários permitidos fora do procedimento armazenado
  2. Implementação simples
  3. Não é adequado para desempenho de projeto multiusuário ou exigente
  4. Retarda a execução do procedimento armazenado
  5. Dependendo da disponibilidade e limitações do Vkontakte
  6. Pode ser bloqueado pelo VKontakte
  7. Realizável em qualquer serviço com análogos de procedimentos armazenados Vkontakte

Source: https://habr.com/ru/post/pt412253/


All Articles