Question

Je développe un projet commercial sur une carte embarquée basée sur ARM avec un noyau Linux personnalisé, en utilisant Ruby. L'espace de travail cible du projet et de l'appareil est un environnement fermé, pas de périphériques Ethernet, Inernet, d'E / S, etc. Je souhaite protéger mon code / programme de telle sorte que; cela ne fonctionnera que sur les machines spécifiques que je laisse (ainsi, les gens ne peuvent pas simplement copier et coller mon code / programme sur leurs cartes embarquées et l'exécuter sans autorisation). Cela peut probablement être fait avec l'adresse MAC de la machine. Je n'ai aucune expérience sur le sujet. Je suppose, juste un simple si (device.MACAddr == "XX: XX .... XX") ne serait pas dépendant (pour ne pas mentionner que des personnes peuvent simplement supprimer le chèque de mon code). Je ne peux pas utiliser certains obfuscators ruby, que j'ai trouvés dans google, parce que; le périphérique n'exécute pas les bibliothèques C ruby-external-c., mais uniquement du code ruby ??pur.

Alors; quelles sont vos suggestions, quel type d’approche devrais-je adopter?

Était-ce utile?

La solution

Ceci est isomorphe au problème de DRM. Vous donnez à une personne un verrou et la clé de ce verrou et essayez d'empêcher cette personne d'utiliser la clé d'une manière qui vous déplaît.

Par conséquent, je suggère d'utiliser les mêmes méthodes que d'autres utilisateurs de DRM: mettez vos termes dans la licence et poursuivez-les en justice s'ils le violent. De toute façon, vous devez utiliser la loi pour appliquer les autres conditions de la licence.

Autres conseils

vous ne pouvez pas vraiment le protéger, c'est assez dur de protéger le code natif! et même dans ce cas, cela échoue si quelqu'un veut vraiment copier le logiciel.

essentiellement faire très peu, voire rien, pour le sécuriser, c'est surtout du temps et des efforts perdus

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top