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

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

  • Развернитесь, когда Псевдокод — Преобразовывает некоторых, или все ваши файлы исходного кода к затененной содержимым форме вызвали Pcode-файл (от его расширения файла .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).

Была ли эта тема полезной?