Pregunta

Estoy desarrollando un proyecto comercial en una placa integrada basada en ARM con un kernel de Linux personalizado, usando Ruby. El área de trabajo de destino del proyecto y el dispositivo es un entorno cerrado, sin ethernet, inernet, dispositivos de E / S, etc. Quiero proteger mi código / programa para que; solo funcionará en las máquinas específicas que dejo (por lo tanto, la gente no puede simplemente copiar y pegar mi código / programa en sus placas integradas y ejecutarlo sin permiso). Esto probablemente se puede hacer con la dirección MAC de la máquina aunque; No tengo ninguna experiencia en el tema. Supongo, un simple if (device.MACAddr == " XX: XX .... XX ") no sería reparable (sin mencionar que las personas pueden borrar fácilmente el cheque de mi código). No puedo usar algunos ofuscadores de rubí, que encontré a través de google, porque; el dispositivo no ejecuta las bibliotecas C externas de ruby ??o esas cosas, solo código ruby ??puro.

Entonces; ¿Cuáles son sus sugerencias, qué tipo de enfoque debería adoptar?

¿Fue útil?

Solución

Esto es isomorfo al problema de DRM. Le está dando a una persona una cerradura y la llave de esa cerradura, y está tratando de evitar que esa persona use la llave de una manera que no le gusta.

Por lo tanto, sugiero usar los mismos métodos que otros usuarios de DRM: coloque sus términos en la licencia y demandelos si lo violan. De todos modos, debe usar la ley para hacer cumplir los otros términos de la licencia.

Otros consejos

realmente no puedes protegerlo, ¡es bastante difícil proteger el código nativo! e incluso entonces eso básicamente falla si alguien realmente quiere copiar el software.

básicamente hace muy poco o nada para asegurarlo, es una pérdida de tiempo y esfuerzo en su mayor parte

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top