How do we protect our software IP ? Is it possible for someone to reverse compile .pyo files ?
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.
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”.
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.
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.
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
I’m afraid not, read above Mihai.
I can not understand how is possible to stop running Python program and to put inside module other script for program reading?
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
We use cookies to enhance your browsing experience and help us improve our websites. To improve our website, we carefully select third parties that use cookies to allow us to serve specific content and achieve the purposes set out in our cookie policy. For more information on how to make adjustments through your browser to the cookies being used on your device, please click Find Out More link. By closing this banner or continuing to browse our website, you agree to our use of such cookies. FIND OUT MORE
How do we protect our software IP ? Is it possible for someone to reverse compile .pyo files ?
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.
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”.
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.
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.
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
I’m afraid not, read above Mihai.
I can not understand how is possible to stop running Python program and to put inside module other script for program reading?
There is an OTAFTP.py exampole in Python installation, here is the relevant function: