Domanda

Sto sviluppando un progetto commerciale su una scheda embedded basata su ARM con un kernel Linux personalizzato su di esso, usando Ruby. L'area di lavoro di destinazione del progetto e il dispositivo è un ambiente chiuso, nessun dispositivo Ethernet, Internet, I / O ecc ... Voglio proteggere il mio codice / programma in modo tale; funzionerà solo su macchine specifiche che lascio (quindi le persone non possono semplicemente copiare e incollare il mio codice / programma sulle loro schede incorporate ed eseguirlo senza permesso). Questo probabilmente può essere fatto con l'indirizzo MAC della macchina tho; Non ho alcuna esperienza in materia. Immagino che un semplice if (device.MACAddr == " XX: XX .... XX ") non sarebbe espandibile (per non parlare del fatto che le persone possono semplicemente cancellare il controllo dal mio codice). Non riesco a usare alcuni offuscatori di rubini, che ho trovato su Google, perché; il dispositivo non esegue librerie ruby-C-esterne o cose del genere, solo puro codice ruby.

; quali sono i tuoi suggerimenti, che tipo di approccio dovrei adottare?

È stato utile?

Soluzione

Questo è isomorfo al problema del DRM. Stai dando a una persona sia un lucchetto che la chiave per quel lucchetto e stai cercando di impedire a quella persona di usare la chiave in un modo che non ti piace.

Pertanto, suggerisco di utilizzare gli stessi metodi che fanno gli altri utenti DRM: inserire i termini nella licenza e denunciarli in caso di violazione. È necessario utilizzare la legge per applicare gli altri termini della licenza, comunque.

Altri suggerimenti

non puoi davvero proteggerlo, è abbastanza difficile proteggere il codice nativo! e anche allora ciò fallisce sostanzialmente se qualcuno vuole davvero copiare il software.

fondamentalmente fa molto poco per proteggerlo, il suo tempo e il suo sforzo sprecati

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top