User settings files added in compiled exe
1 view (last 30 days)
Show older comments
Hello,
When one compiles a Matlab code to a standalone app using the Matlab Compiler, a lot of files are automatically added in the executable file. I found out recently that lots of these files are readable (ascii files or mat-files) and contain data that are specific to my user profile. For example a file called matlabprefs.mat in the .matlab folder of the executable archive is a standard mat-file. It contains several Matlab settings in a structure called Preferences.
The most sensitive data is the Preferences.Internet! It contains the account I have set to send emails, especially a clear text password!
>> Preferences
Preferences =
struct with fields:
profiler: [1×1 struct]
MATLABZoom: [1×1 struct]
Mathworks_uisetcolor: [1×1 struct]
cameratoolbar: [1×1 struct]
hg: [1×1 struct]
Internet: [1×1 struct]
>> Preferences.Internet
ans =
struct with fields:
E_mail: '------'
SMTP_Server: '------'
SMTP_Username: '------'
SMTP_Password: '------'
In my opinion that is completely insane. People should be aware of this behavior of the Matlab Compiler. The default should be not to include any user settings in the executable. And, only in case the developer wants or has to include his settings in the compiled app, there should be an option.
The workaround I use is to remove or replace these sensitive files with dummy ones in the executable archive before sending my standalone app to users.
Regards,
Luc Masset
1 Comment
Dave Watson
on 22 Jul 2020
Edited: Dave Watson
on 22 Jul 2020
I agree it is insane. Not only that but is is not made clear in the documentation.
Answers (0)
See Also
Categories
Find more on MATLAB Compiler in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!