IP Protection

9 thoughts on “IP Protection

  1. How do we protect our software IP ? Is it possible for someone to reverse compile .pyo files ?

    1. From what I saw a Python binary can be decompiled with some work, however the result can be more or less useful; Telit helps you protect your code with a parameter at upload time, making scripts read back impossible, so 100% protection.

      1. Are you refering to setting the bit to 1.

        Even if this bit is set to 1, anyone can easily write a simple Python script to open the “hidden”  file and read     the “hidden” file and dump it to serial port or simply to other file. This way contents can be transfered.

         

        Please explain/elaborate the best way to protect our IP.

         

        Can you please also elaborate on what you mean by “result can be more or less useful”.

         

  2. Up!

     

    Dear Cosmin,

     

    there is still no answer, how we can protect IP (know-how) from copying, reading, etc.

     

    I wrote a simple script and got “protected” contect dispalyed on my screen.

     

    So, there is a 0% protection while we protect code with a parameter at upload time.

     

     Please answer.

    1. Software protection cannot be bullet proof, not only in this domain. Combine with physical protection (tamper proof cases), STARTMODESCR=2 with software integrity checks, and think your application to closely run only with your server authentication and service.

  3. Is there any way that my script should not be listed or read as a file from other scripts uploaded in module but still executed at startup?

    Recovered from erratic script behavior can be made by a firmware upgrade!

    Thanks,

    MSI

      1. I can not understand how is possible to stop running Python program and to put inside module other script for program reading?

        1. There is an OTAFTP.py exampole in Python installation, here is the relevant function:

           

          ######################################
          # the following function enables the file and reboots
          def enableAndReb(fileToExec):
              NUMBER = "+39***********"
              SMSText = "Sto per eseguire il reboot, abilitando il seguente file: " + fileToExec
              print "enableAndReb: trying to enable and reboot the moduler"
              fileName = ‘"’ + fileToExec + ‘"’
              res=MDM.read()
              res = sendCmd(‘AT#ESCRIPT’,fileName,10)
              res=MDM.receive(30)
              if (res.find(‘OK’) != -1):
                  MOD.sleep(200) # release system resources to NVM writing
                  text = "script abilitato : " +  fileName + "r"
                  print text
                  res= sendSMS(NUMBER, SMSText)
                  MOD.sleep(200)
                  res = MDM.send(‘AT#REBOOTr’,0)
                  MOD.sleep(200)
                  print "rebooting"
                  return 1
              else:
                  return -1