Pergunta

Estou desenvolvendo um projeto comercial em uma placa incorporado baseado em ARM com um kernel Linux personalizada nele, usando Ruby. Alvo espaço de trabalho do projeto e o dispositivo é um meio ambiente fechado, sem ethernet, inernet, dispositivos I / O etc ... Eu quero proteger meu código / programa para que; ele vai funcionar apenas nas máquinas específicas eu deixar (assim, as pessoas não podem simplesmente copiar e colar meu código / programa para os seus quadros embutidos e executá-lo w / o permissão). Isso provavelmente pode fazer com endereço MAC tho da máquina; Eu não tenho nenhuma experiência sobre o assunto. Eu acho que, apenas um simples if (device.MACAddr == "XX: XX .... XX") não seria depandable (para não mencionar as pessoas podem facilmente excluir a verificação do meu código). Eu não pode usar alguns obfuscators rubi, que eu encontrei através do Google, beacuse; o dispositivo não faz correr rubi-externo-C-bibliotecas ou tal material, somente o código rubi puro.

Assim; quais são as suas sugestões, que tipo de abordagem devo tomar?

Foi útil?

Solução

Esta é isomorphic para o problema do DRM. Você está dando uma pessoa tanto uma fechadura ea chave para esse bloqueio, e tentando impedir essa pessoa de usar a chave de uma forma que você não gosta.

Por isso, sugiro usando os mesmos métodos que outros usuários DRM faz: colocar os seus termos na licença, e processá-los se eles violá-la. Você precisa usar a lei para fazer cumprir os outros termos da licença, de qualquer maneira.

Outras dicas

você não pode realmente protegê-lo, a sua força suficiente proteger código nativo! e até mesmo, em seguida, que, basicamente, não se alguém realmente quer copiar o software.

basicamente fazer muito pouco ou nada para prendê-lo, o seu tempo e esforço em sua maioria desperdiçada

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top