Protecting Maxscript

Protecting Maxscript

MehdiZangenehBar
Advocate Advocate
28,195 Views
19 Replies
Message 1 of 20

Protecting Maxscript

MehdiZangenehBar
Advocate
Advocate

Maxscript encryption or dll are not safe, How we can protect maxscript by using SDK?

0 Likes
Accepted solutions (1)
28,196 Views
19 Replies
Replies (19)
Message 2 of 20

paulneale
Advisor
Advisor

You can't, everything can be cracked. Autodesk spends millions I'm sure on licensing and it isn't 100% secure. Problem is you can spend more time and money trying to protect your tools then you would loose in loses if you just didn't bother. 

Paul Neale

http://paulneale.com


Paul Neale




EESignature

0 Likes
Message 3 of 20

MehdiZangenehBar
Advocate
Advocate

So, How we can make plugins commercial?

0 Likes
Message 4 of 20

paulneale
Advisor
Advisor

Encrypt the Max script if you want to sell it and create a simple licensing system or just sell it. If it is a huge success it will be cracked, there is no way around that. But companies and people that are not theifs will purchase it. 

Paul Neale

http://paulneale.com


Paul Neale




EESignature

Message 5 of 20

Anonymous
Not applicable

I've found a great plug-in for maxscript protection. It can be helpfull: http://www.scriptspot.com/3ds-max/scripts/maxscript-protector

Mse is not the only way of encryption.

0 Likes
Message 6 of 20

Anonymous
Not applicable

Sorry, the link was broken. The correct link to plug-in: http://www.turbosquid.com/FullPreview/Index.cfm/ID/1089390?referral=crea3d

0 Likes
Message 7 of 20

kevinvandecar
Community Manager
Community Manager
Accepted solution

Yes, I agree with the others here. MAXScript is a scripting language, so in itself it is not possible to perfectly encrypt it.

 

To answer the commercial question, if you really want the best security, use the C++ SDK. It produces a native DLL that is very hard to crack. This is what many commercial developers do with at least the core functionality. Also remember that a C++ plugin can expose it's functionality to MAXScript and so you might consider just moving your most important IP into a C++ plugin, and then call it from some of your less critical MAXScript code.

 

As Paul mentioned nothing is 100% secure, but in C++ it is as close as you can get, and it takes deep understanding of binary and assembly code to crack a native DLL. So your best option is to put your important IP there, and then nothing "extra" is needed for encryption. Of course C++ itself can be much harder to code in, so it's a trade off (but you may also gain some performance, depending on what you are doing...). 🙂

 

Hope it helps,

kevin

 

 

 


Kevin Vandecar
Developer Technical Services
Autodesk Developer Network



0 Likes
Message 8 of 20

MehdiZangenehBar
Advocate
Advocate

I just created this topic two years ago , but useful Thank You!. although I'm not a professional C++ programmer, but C++ works very well in this situation. After thinking about the protecting concepts, I realized (as paul said) that spending a lot of time on protecting the MaxScript is not a good idea and I must focus on coding, promote and support.

0 Likes
Message 9 of 20

Anonymous
Not applicable

The only solution I know for now for those who write in maxscript is this plugin.

0 Likes
Message 10 of 20

denisT.MaxDoctor
Advisor
Advisor

@Anonymous wrote:

The only solution I know for now for those who write in maxscript is this plugin.


Using this solution, you lose the opportunity to use your customers as free testers, which for real developers saves a lot of time and money.

0 Likes
Message 11 of 20

istan
Advisor
Advisor

I don't use this protection but why would I loose my customers for beta testing? I'm sure one can create a beta testing time by using e.g. crazy registry access for creating many weird keys which makes it almost impossible to be narrowed down, for the case someone uses procmon.

0 Likes
Message 12 of 20

MehdiZangenehBar
Advocate
Advocate

Denis, I'm so happy that I see you in this forum also, I really appreciate it.
I didn't get your point, why we loose them?

0 Likes
Message 13 of 20

denisT.MaxDoctor
Advisor
Advisor

the encryption tool with the link above is nothing more than an obfuscater.

it screws all original lines of code and property and function names. in case if this "encrypted" code crashes you will not get any clue where it was happened.

you will get from your client just a message - "your code crashes" and maybe sad smiley at the end

....

 

how to debug it?

0 Likes
Message 14 of 20

denisT.MaxDoctor
Advisor
Advisor

@Anonymous wrote:

The only solution I know for now for those who write in maxscript is this plugin.


don't buy this tool!

 

it's a fake! it doesn't work

0 Likes
Message 15 of 20

Anonymous
Not applicable

Other not perfect solution is to write certain parts of your code in c# if you don't want to get deep into the C++ SDK. It's also not a perfect solution, you have to use a defuscator here as well, but it's still safer than the maxscript version. Also maxscript can be simply decrypted using free tools over the internet.

 

C# is a bit harder to decrypt, but not as complicated as learning c++. Also the c# version is version independent in many cases, so you don't have to ship per version dlls. And of course it's much faster than the maxscript version.

 

I realized over the years that using maxscript is getting more and more old school, you have to do a lot of workarounds to make things work, as well as there are many cases where there are very nasty memory leaks. It's worth the time to learn c# and the max sdk.

0 Likes
Message 16 of 20

nigel.hunt
Explorer
Explorer

I've read this thread and thought I'd jump in.

 

If you really have a great Maxscript you want to protect, it needs to be rewritten in C++ and compiled as a plugin.

 

SiNi Software offers a custom service to write this...

https://www.sinisoftware.net/index.php?option=com_content&view=article&id=36&Itemid=526

 

SiNi have 11 plugins and over 150 tools for 3ds Max 2014-2018. The tools started out as Maxscript and were rewritten in C++ (over 3 million lines of code in 2 years!). The plugins are tied to a licence server for extra security.

The developers also writes bespoke Maxscript for some of the largest companies in the world using 3ds Max.

 

For public release, C++ is your only choice.

 

Regards,

Nigel

 

 

 

Message 17 of 20

Anonymous
Not applicable

denisT.MaxDoctor, It's absolutely not a fake. If you have this plugin, update to version 2.1.2. Some issues solved there, now everything works fine in all 3Ds max versions.

0 Likes
Message 18 of 20

miauuuu
Collaborator
Collaborator

Can you show any example - ms file and protected file using Maxscript Protector?

https://miauu-maxscript.com/
0 Likes
Message 19 of 20

miauuuu
Collaborator
Collaborator

Copy - paste from scriptspot.com about Maxscript Protector:

Originally Posted by Submitted by 3DZver on Mon, 2018-01-29 16:06.: Submitted by 3DZver on Mon, 2018-01-29 16:06.
Maxscript Protector absolutely non-working toolI read a lot about Maxscript Protector. Basically bad reviews, and if there were praise comments - then these comments post the developers
themselves. I did not regret money and purchase this script specifically
to check how it works. None of the scripts I tried to protect with this
tool, and did not work after that. I wrote to the authors of this
script and reported on, but they did not even bother to answer.
My verdict: Maxscript Protector absolutely non-working tool and I do not advise anyone to buy it.
https://miauu-maxscript.com/
0 Likes
Message 20 of 20

MehdiZangenehBar
Advocate
Advocate

If we want to use external protector, I think this is not only about MaxScript, Actually we need a more general and stronger protector that works also for all other software packages. The main goal for me to protect MaxScript is not just my source code (Actually I can share it online if someone ask me!). but managing registrations become important (because I earned money from customers). So I think a C++ and exposing some necessary MS inside it should be enough.

0 Likes