Защитите код Ruby

Я пишу приложение на Ruby и хочу использовать несколько сверхсекретных алгоритмов. Итак, как лучше всего защитить их от несанкционированного доступа.

У меня есть 2 идеи:

  • напишите их на C и загрузите с помощью FFI (интересно, возможно ли это таким образом)
  • Маршалируйте код рубина, закодируйте его, а затем сохраните в файле

Может быть, кто-то знает идею получше или может показать мне, что эти идеи глупы или ошибочны. Спасибо за совет.


person dreake    schedule 21.03.2011    source источник
comment
Не распространяйте исходный код? Или это безумие?   -  person zxt    schedule 21.03.2011
comment
Вы хотите защитить его от своей веб-хостинговой компании?   -  person Swanand    schedule 21.03.2011
comment
Сверхсекретный код? Прохладный. Я видел этот фильм. Если вы не доверяете своему клиенту и не можете включить в свой контракт юридический язык, который будет держать их в курсе, не продавайте им программное обеспечение.   -  person the Tin Man    schedule 21.03.2011
comment
возможный дубликат Как запретить моим пользователям читать мой Ruby код?   -  person Andrew Grimm    schedule 22.03.2011
comment
Это будет размещенное решение, но я хочу защитить его на случай взлома. Сервер будет в нашей компании.   -  person dreake    schedule 25.03.2011


Ответы (3)


Вы не можете защитить алгоритм, который вы пишете, изменив его на C. Возможно, вы сможете зашифровать исходные файлы. Попробуйте truecrypt

Изменить

После некоторого поиска в Google я нашел эти статьи, связанные с обфускацией кода ruby.

  1. защита-вашего-рубинового-исходного-кода-для-приложений-конечных пользователей /
  2. Ruby Encoder защищает Исходный код проекта Министерства обороны США
  3. http://rubyencoder.com/
person RameshVel    schedule 21.03.2011
comment
Без обид, но это такой общий ответ. Какую ценность это предлагает? - person Geo; 21.03.2011
comment
Да, это было полезно. Благодаря этому ответу я нашел свое решение (пока). ruby2cext.rubyforge.org - person dreake; 25.03.2011
comment
первая ссылка сейчас 404 T ^ T старый архив: http://web.archive.org/web/20110828153039/http://seanmountcastle.com/2007/12/protecting-your-ruby-source-code-for-end-user-applications/ - person Kokizzu; 18.09.2013

Вы можете попробовать некоторые методы обфускации кода. Например, RubyEncoder компилирует исходный код Ruby в зашифрованный формат байт-кода. А вот еще одна ветка, связанная с вашим вопросом Ruby obfuscator

person ZelluX    schedule 21.03.2011

Если вы готовы создать собственное решение вместо покупки и уже сделали такое, как RubyEncoder, как указано в другом ответе здесь, есть статья, в которой пытаются описать для защиты вашего исходного кода, и вы также можете реализовать все виды защиты, которые, по вашему мнению, возможны, поскольку вы собираетесь делать все вручную:

http://mountcastle.posterous.com/protecting-your-ruby-source-code-for-end-user

person Gabriel Mazetto    schedule 30.11.2011
comment