Защита исходного кода

Несмотря на то, что исходный код MATLAB® (.m) исполняемый файл отдельно, к содержимому исходных файлов MATLAB легко получают доступ, разоблачающие детали разработки и реализации. Если вы не хотите распределять свой код закрытого приложения в этом формате, можно использовать одну из этих опций вместо этого:

  • Развернитесь, когда Псевдокод — Преобразует некоторых, или все ваши файлы исходного кода к затененной содержимым форме вызвали файл P-code (от его .p расширение файла), и распределяют ваш код приложения в этом формате. Когда Псевдокоды MATLAB файл, файл запутывается не зашифрованный. В то время как содержимое в .p файл затрудняет, чтобы понять, он не должен считаться безопасным. Не рекомендуется что вы Pcode-файлы, чтобы защитить вашу интеллектуальную собственность.

    MATLAB не поддерживает live скрипты преобразования или живет функции к Pcode-файлам.

  • Скомпилируйте в двоичный формат — Компиляция ваши файлы исходного кода с помощью MATLAB Compiler, чтобы произвести автономное приложение. Распределите последнего конечным пользователям вашего приложения.

Создание содержимого затененный формат с псевдокодом

Pcode-файл ведет себя то же самое как источник MATLAB, из которого это было произведено. Pcode-файл также запускается на той же скорости как исходный файл. Pcode-файлы намеренно запутываются. Они не зашифрованы. В то время как содержимое в .p файл затрудняет, чтобы понять, он не должен считаться безопасным. Не рекомендуется что вы Pcode-файлы, чтобы защитить вашу интеллектуальную собственность.

Примечание

Поскольку пользователи Pcode-файлов не могут просмотреть код MATLAB, полагайте, что обеспечение диагностики позволяет пользователю продолжить в случае ошибки.

Создание PCode-файла

Чтобы сгенерировать Pcode-файл, введите следующую команду в Окно Команды MATLAB:

pcode file1 file2, ...

Команда производит файлы, file1.p, file2.p, и так далее. Преобразовывать весь .m исходные файлы, находящиеся в вашей текущей папке к Pcode-файлам, используйте команду:

pcode *.m

Смотрите pcode страница ссылки на функцию для описания всех синтаксисов для генерации Pcode-файлов.

Вызов PCode-файла

Вы вызываете получившийся Pcode-файл таким же образом, вы вызываете MATLAB .m исходный файл, из которого это было выведено. Например, чтобы вызвать файл myfun.pВвод

[out, out2, ...] = myfun(in1, in2, ...);

Вызвать скрипт myscript.pВвод

myscript;

Когда вы вызываете Pcode-файл, MATLAB дает ему приоритет выполнения по своему соответствующему .m исходный файл. Это верно, даже если вы, оказывается, изменяете исходный код в какой-то момент после генерации Pcode-файла. Не забудьте удалять .m исходный файл прежде, чем распределить ваш код.

Выполнение более старых PCode-файлов на более поздних версиях MATLAB

Pcode-файлы спроектированы, чтобы быть независимыми от релиза, при котором они были созданы и релиз, в котором они используются (обратная и прямая совместимость). Новыми и функциями MATLAB устаревшими может быть проблема, но это - та же проблема, которая существовала бы, если бы вы использовали исходный входной файл MATLAB. Чтобы зафиксировать ошибки этого вида в Pcode-файле, зафиксируйте соответствующий входной файл MATLAB и создайте новый Pcode-файл.

Pcode-файлы, созданные с помощью MATLAB Version 7.4 и ранее, имеют другой формат, чем созданные с более поздними версиями MATLAB. Эти более старые Pcode-файлы не запускаются в MATLAB 8.6 (R2015b) или позже. Восстановите любые Pcode-файлы, которые были созданы с MATLAB 7.4 или более ранним использованием более поздней версии MATLAB, и затем перераспределяют их по мере необходимости.

Создание автономного исполняемого файла

Другой способ защитить ваш исходный код состоит в том, чтобы встроить его в независимый исполняемый файл и распределить исполняемый файл, наряду с любыми другими необходимыми файлами, внешним клиентам. У вас должны быть MATLAB Compiler™ и поддерживаемый C или компилятор C++, установленный, чтобы подготовить файлы к развертыванию. Конечному пользователю, однако, не нужен MATLAB.

Чтобы создать автономное приложение для вашего приложения MATLAB, разработайте и отладьте свое приложение, выполняющее обычную процедуру для файлов программы MATLAB. Затем сгенерируйте исполняемый файл, или файлы, следующие инструкциям в, Создают Автономное приложение из MATLAB (MATLAB Compiler).