Proteger código Ruby
-
08-07-2019 - |
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?
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