Protegiendo un programa a través de Vk.com

En el artículo, consideramos brevemente cómo proteger un programa utilizando la API VK del uso ilegal y la distribución no autorizada sin crear su propio servidor en la nube.

Diagrama gráfico





Principio de funcionamiento


Si el software no está conectado de ninguna manera con Vkontakte, los grandes desarrolladores usan HASP , sin embargo, es costoso, difícil de adquirir y es necesario desarrollar más aplicaciones que se ejecuten dentro de las teclas HASP.

Este artículo trata sobre la protección de programas desarrollados por desarrolladores individuales o pequeñas empresas. Es lógico colocar su servidor en Internet y usarlo para licenciar el programa, pero incluso esto no garantiza que sea suficiente para parchear el programa. Veamos cuántas personas hacen esto simplemente colocando solicitudes críticas o complejas en forma de procedimientos almacenados, cuyo código se almacena de forma segura en los servidores Vkontakte y es inaccesible para el programa que distribuye:
Los procedimientos almacenados le permiten ejecutar código en el lado del servidor de la API de la misma manera que el método de ejecución , pero sin pasar el código de procedimiento a través de la red.

Para una protección adicional, el procedimiento almacenado debe, además de la ejecución, también verificar si el usuario que compró la licencia lo inició, para esto es suficiente ejecutar el procedimiento almacenado al principio, por ejemplo, el siguiente 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 análogo, puede obtener allow_users desde la página wiki o verificar de otra manera.

Cuando la licencia del usuario caduca, simplemente se elimina de allowed_users.

Conclusión


  1. Puede automatizar el proceso de edición de la lista de usuarios al almacenar la lista permitidos_usuarios fuera del procedimiento almacenado
  2. Implementación simple
  3. No es adecuado para el desempeño de proyectos exigentes o multiusuario.
  4. Retrasa la ejecución del procedimiento almacenado
  5. Dependiendo de la disponibilidad y limitaciones de Vkontakte
  6. Puede ser bloqueado por VKontakte
  7. Realizable en cualquier servicio con análogos de procedimientos almacenados Vkontakte

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


All Articles