Es un tema que interesa a todos. ¿Cómo puedo proteger mi software contra el robo, la piratería y la ingeniería inversa?
Estaba pensando: hacer todo lo posible para proteger el programa de ingeniería inversa. Entonces la gente lo romperá y sembrará con torrentes . Luego descargo mi propio software roto con un torrent con mi propio software de torrent . Mi propio software torrent tiene que inicializar datos incorrectos (bytes). Por supuesto, tiene que sembrar bytes críticos.
Entonces, las personas que quieren robar mi software descargan mis bytes incorrectos. Solo esos bytes que son importantes para el inicio, guardar y cargar datos, etc. Así que si el ladrón me descarga (y lo almacena más adelante), el ladrón no puede hacer nada con él, porque está roto.
¿Es relevante esta idea? Tal vez, ¿los buenos clientes de torrent comprueban hashes de más pares para verificar si los paquetes (que contienen mis bytes rotos) que quiero sembrar son correctos o no?
fuente
Respuestas:
Su aplicación de torrents (los piratas) simplemente descartará los bytes que siembras como malos debido a las comprobaciones de CRC. Entonces será expulsado por esa IP por ser un delincuente reincidente.
fuente
P. ¿Puedo proteger mi software enviando bytes incorrectos?
R. No, de todos modos puede ser pirateado, especialmente si alguien consigue una copia legítima.
P. ¿Cómo puedo proteger mi software contra el robo, la piratería y la ingeniería inversa?
R. Véndelo por un precio justo, esto socavará los intentos de pirateo.
fuente
Sugeriría abordar el problema desde el otro extremo. Incruste un código de identificación único en cada copia de su software que entregue a sus clientes. En caso de que alguien esté sembrando, al menos puede identificar quién lo hizo y tomar medidas legales.
fuente
¿Funciona DRM? No. ¿Funciona la configuración de cosas malas de BitTorrent / EDonkey2000? No. ¿A alguien le importa piratear tu pequeña aplicación? No. Nadie ha oído hablar de eso.
fuente
Bittorent y la mayoría de los otros buenos programas p2p se protegen de este tipo de manipulación mediante el uso de hashes de archivos, por ejemplo, md5.
fuente
La única forma (que se me ocurre) de hacerlo es ejecutar el software completamente en su servidor y no tener un código útil en la aplicación del cliente, porque si no puede obtenerlo, no puede (fácilmente) descifrarlo. De esta manera, tendrá control sobre las cuentas y sabrá quién usa su aplicación. Sin embargo, los usuarios no serán felices. Y si solo ejecuta código relacionado con la protección contra copia en su servidor, alguien lo pirateará escribiendo el emulador del servidor O identificará el código y omitirá la protección por completo. Como sucedió con el nuevo esquema de protección de copia de Ubisoft.
Mantener el software en el servidor no es completamente a prueba de balas. En lugar de descifrar el software, alguien comenzará a atacar su servidor para entrar y obtener software. Y siempre hay agujeros de seguridad de "ingeniería social". "mantener todo en el servidor" funcionará mejor si su software no puede ejecutarse en una máquina normal (es decir, requiere una supercomputadora o un clúster de computadora). Un buen ejemplo de esto es EVE Online: a diferencia de WOW y Lineage, no conozco ningún emulador de servidor, porque requiere un clúster de computadora para ejecutar el servidor.
"Pirata", porque se llama infracción de derechos de autor.
fuente