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

Несмотря на то, что исходный код 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-файл таким же образом, вы вызываете исходный файл .m MATLAB, от которого он был выведен. Например, чтобы вызвать файл 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).