Crack Matlab Executable file?

165 views (last 30 days)
Raghavendra
Raghavendra on 7 Apr 2014
Commented: Walter Roberson on 19 Oct 2025 at 1:16
Hello,
What is the robustness of Deploytool software in creating Matlab executable files? Are there any specific parameters we need to use to ensure the robustness or in general using the Deploytool provides sufficient protection to the source code?
Can anyone comment if the Matlab executable file can be cracked?
Thanks, Raghu.

Answers (3)

Walter Roberson
Walter Roberson on 7 Apr 2014
I am not aware of any encryption form that cannot be reverse engineered -- not unless there is hardware support (e.g., Quantum Encryption.)
pcode can be reverse engineered to some degree.
deploytool uses AES, which is known to be breakable in finite time. (It is finite and it is deterministic, so at worst you use brute force for a few trillion years.)

Nitin
Nitin on 7 Apr 2014
Have a look a pcode .
  4 Comments
Walter Roberson
Walter Roberson on 8 Apr 2014
Moved: Walter Roberson on 19 Oct 2025 at 1:10
Jan has from time to time posted about what can be pulled out of pcode; some of those postings are older and appeared on the Usenet group comp.soft-sys.matlab
When it comes to intellectual property protection, the attacker will be considering time, expense, value of the intellectual property, whether the attacker can get someone else to pay the expense (e.g., botnet), and whether there are easier ways to get the intellectual property (e.g., subverting the operating system used in the lab in order to grab the source code.)
Walter Roberson
Walter Roberson on 19 Oct 2025 at 1:10
pcode in 2014 time frame was known to be decodeable. Not so many people knew the method, but it was known that some people could do it.
In the time between, pcode algorithm was revised. I have not heard of anyone decoding the new algorithm, but it would not astonish me if someone had done it.

Sign in to comment.


Juan  Vanegas
Juan Vanegas on 11 Nov 2016
I created a Matlab EXE file using deploytool and just using any commercial compressing tool it is possible to "unzip" the EXE and get all the .m files. It's true that the .m code is somewhat obfuscated and not readable at once, but functionality can be retrieved. You can type 'help' to any unzipped function and it will display the header text if any. In case you include a .mat file into your EXE file, the decompression will retrieve you the original .mat file which can then be easily loaded into Matlab as it is untouched by the obfuscation. Same for figures and text files.
  1 Comment
Walter Roberson
Walter Roberson on 19 Oct 2025 at 1:16
Note it in the time since 2016, the deploy tool has included a switch to obfuscute function names in compiled code. Without the obfuscation, although it was fairly difficult to get at the compiled code it was still possible to see the names of all of the functions, which could leak a fair bit of information in itself.

Sign in to comment.

Categories

Find more on Programming Utilities 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!