<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[FiPy code protection]]></title><description><![CDATA[<p dir="auto">hi,</p>
<p dir="auto">How do we protect the code on a FiPy from being read or altered? We are planning to develop some real world product/application and thinking of using FiPy for that. But worried that some end users may alter the code. These are not serious hackers that we are talking about. So is there any basic code protection that we can incorporate in FiPy to keep the code from being read or altered? Thanks - R.W</p>
]]></description><link>https://forum.pycom.io/topic/2458/fipy-code-protection</link><generator>RSS for Node</generator><lastBuildDate>Mon, 12 Oct 2026 21:14:49 GMT</lastBuildDate><atom:link href="https://forum.pycom.io/topic/2458.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 15 Jan 2018 02:25:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to FiPy code protection on Mon, 15 Jan 2018 02:25:25 GMT]]></title><description><![CDATA[<p dir="auto">hi,</p>
<p dir="auto">How do we protect the code on a FiPy from being read or altered? We are planning to develop some real world product/application and thinking of using FiPy for that. But worried that some end users may alter the code. These are not serious hackers that we are talking about. So is there any basic code protection that we can incorporate in FiPy to keep the code from being read or altered? Thanks - R.W</p>
]]></description><link>https://forum.pycom.io/post/14500</link><guid isPermaLink="true">https://forum.pycom.io/post/14500</guid><dc:creator><![CDATA[R.W]]></dc:creator><pubDate>Mon, 15 Jan 2018 02:25:25 GMT</pubDate></item><item><title><![CDATA[Reply to FiPy code protection on Mon, 15 Jan 2018 06:42:28 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.pycom.io/uid/1794">@r-w</a> A first level protection is embedding the code as frozen bytecode into the flash memory. Still, the standard mechanisms of starting <a href="http://boot.py" target="_blank" rel="noopener noreferrer nofollow">boot.py</a> and <a href="http://main.py" target="_blank" rel="noopener noreferrer nofollow">main.py</a> would be present, but there is also a _main.py option for the frozen code, which could avoid starting the external ones, unless the device is in safe boot mode.<br />
An interested user could still start own scripts and dump the memory, or change the memory, but would have the need understand the flash layout and then to decompile the code.<br />
Pycom is considering options for code protection, but I have no clue yet how far they went. In principle, the ESP32 supports encryption of the code space, but that comes not for free, both speed- and handling-wise.</p>
]]></description><link>https://forum.pycom.io/post/14505</link><guid isPermaLink="true">https://forum.pycom.io/post/14505</guid><dc:creator><![CDATA[robert-hh]]></dc:creator><pubDate>Mon, 15 Jan 2018 06:42:28 GMT</pubDate></item><item><title><![CDATA[Reply to FiPy code protection on Mon, 15 Jan 2018 07:16:27 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.pycom.io/uid/98">@robert-hh</a></p>
<p dir="auto">Cool, thanks for the info. Seems like that could do for now. Is there any links or documentation that you could point me to? The users would not be savvy enough to really hack into stuff but main worry is that we may be storing some credentials for the device to connect to our servers. If those gets compromised then there'd be some problems. One of the way we thought of mitigating this is by having per device username/account. That way if something goes wrong we could perhaps disable the particular account on that device.</p>
<p dir="auto">We've had a whole bunch of projects lined up where we could consider FiPy or LoPy and if not for the code protection worry, Pycom stuff would've come real handy :)</p>
<p dir="auto">Thanks once again for the clarification. Cheers, R.W</p>
]]></description><link>https://forum.pycom.io/post/14509</link><guid isPermaLink="true">https://forum.pycom.io/post/14509</guid><dc:creator><![CDATA[R.W]]></dc:creator><pubDate>Mon, 15 Jan 2018 07:16:27 GMT</pubDate></item><item><title><![CDATA[Reply to FiPy code protection on Mon, 15 Jan 2018 12:38:21 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.pycom.io/uid/1794">@r-w</a> This is something we are actively working on. Support for encrypting firmware should be available &quot;soon&quot; but I am afraid I cannot provide a precise date.</p>
]]></description><link>https://forum.pycom.io/post/14521</link><guid isPermaLink="true">https://forum.pycom.io/post/14521</guid><dc:creator><![CDATA[seb]]></dc:creator><pubDate>Mon, 15 Jan 2018 12:38:21 GMT</pubDate></item><item><title><![CDATA[Reply to FiPy code protection on Mon, 15 Jan 2018 12:50:58 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.pycom.io/uid/1881">@seb</a> Thanks. Shall keep looking out for updates on this. Talking of encryption, the biggest risk is the username/password ( or other credentials stored on the device which allow it to post data to the server ). If this information can be protected, part of the battle is won.</p>
]]></description><link>https://forum.pycom.io/post/14522</link><guid isPermaLink="true">https://forum.pycom.io/post/14522</guid><dc:creator><![CDATA[R.W]]></dc:creator><pubDate>Mon, 15 Jan 2018 12:50:58 GMT</pubDate></item></channel></rss>