Самый современный метод путаницы, кажется, виртуальная машина.
Вы в основном принимаете некоторое участие своего объектного кода и преобразовываете его в Ваш собственный формат байт-кода. Затем Вы добавляете маленькую виртуальную машину для выполнения этого кода. Только способ правильно отладить этот код будет состоять в том, чтобы кодировать эмулятор или дизассемблер для формата инструкции Вашего VM. Конечно, необходимо думать о производительности также. Слишком много байт-кода сделает Ваш прогон программы медленнее, чем собственный код.
самые старые приемы бесполезны теперь:
, Если Вы действительно хотите кодировать решение VM сами (существуют хорошие программы для продажи), не используйте всего один формат инструкции. Сделайте это полиморфным, так, чтобы у Вас могли быть различные части кода, имеют другой формат. Таким образом, весь Ваш код не может быть взломан путем записи всего одного эмулятора/дизассемблера. Например, решение MIPS, которое предложили некоторые люди, кажется, легко повреждается, потому что формат инструкции MIPS хорошо документируется, и аналитические инструменты как IDA могут уже демонтировать код.
Список форматов инструкции, поддерживаемых IDA про дизассемблер
в вашем проекте rails в app / layouts / application. (Html.erb | html.haml), это макет или эквивалент для мастера. Вы также можете создать другие макеты и указать макет для использования для каждого действия:
render :index, :layout => "awesome"
Или указать макет для всего контроллера:
class PostController < ActionController::Base
layout "super_awesome"
end