I've written a program in MATLAB and I'm considering three methods of deploying the program to end users. The first method involves converting the .m files to p-code and then deploying that to end users who can use the p-code in MATLAB but cannot see the code themselves. The second method involves compiling the .m files to C# using MATLAB Compiler and MATLAB Builder NE and then using Visual Studio to obfuscate the code and to also create the end product. The third method involves using MATLAB Compiler and MATLAB Builder EX to create an Excel add-in, and deploying the Excel add-in to end-users.
I am wondering how hard it is for someone to reverse engineer or crack and gain access to the code in each of these three methods of deployment that I am considering. I know that it is essentially impossible to create a program that can't be cracked or reverse engineered, but is any method of deployment harder to crack than other methods? I know that p-code gives the end user access to the names of the files which I guess can potentially help someone reverse engineer your program.
Thanks in advance for your assistance!