Защитите свой исходный код

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

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

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

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

Создание скрытого формата содержимого с P-кодом

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, type

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

Как вызвать скрипт myscript.p, type

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, и затем перераспределите их по мере необходимости.

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

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

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