Using dotNet to protect maxscripts.

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

REPLY TO THREAD
 
Thread Tools Display Modes
  01 January 2018
Originally Posted by denisT: that's actually what I do writing my tools using MXS. for example,  the real code from one of my tools:

   if ispolyobject (source = selectednode) do
   (
      setCommandPanelRedraw off parent:on

      sublevel = getsubobjectlevel()
      setsubobjectlevel sublevel autoundoenabled:on
      mode = setCommandPanelMode mode:2 level:&sublevel object:&obj
      
      if (source_sk = getnodeskin source) != undefined then
      (
         source_num0 = numpolyverts source
         source_data = getpolyskindata source
         source_map = source_data.w
            
         source_px = findnodemodifier source class:PhysX_Clothing
         if source_px != undefined do 
         (
            holdclothdata source_px id:20
            storeclothdata source_px autoUndoEnabled:off filter:(inversebits verts)
         )                     
         setpolyvdata source #id channel:5


         setskindata source source_map autoundoenabled:on


         sk_bones = filterarray (getskinbones source) apply:isbipednode invert:on
         hierarchysort sk_bones
         source_tms = getNodesTransform sk_bones
         setSkinBonesToInitTM source bones:sk_bones
         
         --enablerefmessages off 
         deletepolyisoverts source
         --enablerefmessages on
         
         source_vdata = getpolyvdata source channel:5
         source_num1 = numpolyverts source


         current_verts = makebits source_vdata.count
         source_verts = source_vdata[current_verts]


         setcureditobject source_sk
         reset source_map type:#keys target:source_verts
         setskindata source source_map autoUndoEnabled:on
            
         if source_px != undefined do
         (
            setcureditobject source_px
            restoreclothdata source_px autoUndoEnabled:on notifyAfterAccept:on

            acceptclothdata source_px id:20
         )
         
         setNodesTransform source_tms
         
      )
      else
      (
         deletepolyisoverts source
      )
      
      setCommandPanelMode mode:mode level:&sublevel object:&obj                  
      setCommandPanelRedraw on parent:on   
   )


it doesn't need encryption, does it?
It reveals the logic, so I have to follow the code above to be able to create the same tool(after 1000 years maybe).  Sometimes the wrong logic leads to wrong results. 


What is the situation with Python? Can it be used to create a encryption/decryption tool that have the advantages of C++? Or the situation is the same as C#/ dotNet.
 
  01 January 2018
In fact Python is a very open language. Very rarely, people protect the Python code.
 
  4 Weeks Ago
Hi know this thread is a bit old, we are developing some tech (in C++) for generic script protection, it works with maxscript, mel and python scripts. It also handles licenses (not the activation part). Maybe it will be some interest.

Best regards,
Daniel Santana
__________________
Daniel Santana | Co-Founder / Technical Director
You can do it! VFX
Lisbon/Porto - Portugal
http://www.ycdivfx.com
 
  4 Weeks Ago
Originally Posted by dgsantana: Hi know this thread is a bit old, we are developing some tech (in C++) for generic script protection, it works with maxscript, mel and python scripts. It also handles licenses (not the activation part). Maybe it will be some interest.

Best regards,
Daniel Santana
Please, let us know when the tool is released.
 
  4 Weeks Ago
Originally Posted by dgsantana: Hi know this thread is a bit old, we are developing some tech (in C++) for generic script protection, it works with maxscript, mel and python scripts. It also handles licenses (not the activation part). Maybe it will be some interest.

Best regards,
Daniel Santana
Protection never gets old, it will always be a topical issue.
As @miauu, I'm interested too.
__________________
Andrés FC.
P3D_PathScripts
Proin3D YouTube Channel
 
  4 Weeks Ago
Ok, send me a PM, and will give some more details.
Some more info related to the tech. It's all C++, runs on Windows, Linux and MacOSX and the client side (what you send to the client), is just 3 files: python C module (if there enough request maybe we make a .dlx for 3dsmax), the proctect scripts in a single file, and the loader script (it just handles the part related to the python module), which can be unencrypted.
The developer tools, are a command line and GUI for license and data generation (where the script live). The command line can run again on Windows, Linux and MacOSX, so it can be used on a webserver to automate the license generation.
__________________
Daniel Santana | Co-Founder / Technical Director
You can do it! VFX
Lisbon/Porto - Portugal
http://www.ycdivfx.com
 
reply share thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright ©2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 08:11 PM.


Powered by vBulletin
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.