Is there a way to write protect an m file.

Hi ,
I have a project with multiple m files. And I am told that I need to write protect it, so that no one can change it. Is there any way to write protect an m file. Thank you.

2 commentaires

Stephen23
Stephen23 le 6 Nov 2024
"Is there any way to write protect an m file"
An Mfile is just a text file, so you can use whatever tools your OS has for preventing text files from changing.
Bruno Luong
Bruno Luong le 6 Nov 2024
Modifié(e) : Bruno Luong le 6 Nov 2024
Note that even if the mfile is written protected, someone can copy it elsewhere, modify it and easily make MATLAB to use a modified version by addpath command. Those so called protections are then very weak.
pcode is a little bit harder to crack. You probably have to pcode not only the sensitive mfiles but all the caller function as well.

Connectez-vous pour commenter.

Réponses (2)

Bruno Luong
Bruno Luong le 6 Nov 2024

0 votes

You could transform mfile to pfile than depioy it. See pcode command
Here are some methods to protect your files from being edited:
1. Protecting Code with P-code Files:
  • MATLAB allows you to secure your code using P-code files, which prevents users from viewing or editing the source code.
  • To do this, navigate to the directory containing your .m files and add them to the MATLAB path.
  • Then, use the "pcode" function to create a P-code file:
pcode file1.m file2.m
Refer this for more information about P-code files
2. File System Permissions:
  • You can change the file system permissions using the "fileattrib" command in MATLAB to make the files read-only.
  • By using '-w', you remove the write permission, effectively making the file read-only.
fileattrib('file1.m', '-w')
Refer this for more information about "fileattrib"
Hope this helps.

Catégories

En savoir plus sur App Building dans Centre d'aide et File Exchange

Tags

Question posée :

le 6 Nov 2024

Modifié(e) :

le 6 Nov 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by