Welcome to the Pycom forum Forum
    • \[\[global:header.categories\]\]
    • \[\[global:header.recent\]\]
    • \[\[global:header.tags\]\]
    • \[\[global:header.popular\]\]
    • Login

    Explore Pybytes | Official Documentation | Report a Firmware Bug/Issue | GitHub

    Prevent anyone can download my code over serial

    Scheduled Pinned Locked Moved Getting Started
    code protection
    13 Posts 7 Posters 1.2k Views 7 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • robert-hhR Offline
      robert-hh @dserrano
      last edited by

      @dserrano You dio in in several levels/step, which both require the ability for you to create your own images:

      1. Level 1: Embed your code as frozen bytecode. Then it is not visible at the command prompt level, but still a falsh dump woudl get access to the bytecode, which then has to be disassembled. The only visible part of the code would be boot.py and optionally main.py. But these can be short and almost empty, just calling your embedded code.
      2. Level 2: Additionally, encrypt the flash. This is supported by the build environment.
      D 1 Reply Last reply Reply Quote 0
      • D Offline
        dserrano @robert-hh
        last edited by

        @robert-hh Hello Robert thanks for your replay.

        How can I Embed your code as frozen bytecode?

        S 1 Reply Last reply Reply Quote 0
        • D Offline
          dserrano
          last edited by

          @combaindeft said in Prevent anyone can download my code over serial:

          B) compile it and flash your WiPy with your own custom firmware

          Hi there!

          How can I compile and flash your WiPy code?

          J 1 Reply Last reply Reply Quote 0
          • J Offline
            johand @dserrano
            last edited by

            @dserrano The instructions for compiling your own firmware (including your own frozen code) and encrypt it can be found here: https://github.com/pycom/pycom-micropython-sigfox

            P 1 Reply Last reply Reply Quote 1
            • P Offline
              Paul Thornton @johand
              last edited by

              @johand said in Prevent anyone can download my code over serial:

              @dserrano The instructions for compiling your own firmware (including your own frozen code) and encrypt it can be found here: https://github.com/pycom/pycom-micropython-sigfox

              ^this is likely the best way to help avoid the code being dumped.

              C 1 Reply Last reply Reply Quote 0
              • C Offline
                crumble @Paul Thornton
                last edited by

                @paul-thornton said in Prevent anyone can download my code over serial:

                I tried to follow the instructions to build the firmware for a LOPY but esptools.py failed on

                import serial
                

                Adding pyserial with pip3 was not the solution. Running this on a hyper-v debian. Big plan was to compile on VM and use windows host for upload. Does the python module works only when a serial is present?

                J 1 Reply Last reply Reply Quote 0
                • J Offline
                  johand @crumble
                  last edited by

                  @crumble I managed to build and encrypt the WiPy firmware (should be the same) using Windows Subsystem for Linux (https://docs.microsoft.com/en-us/windows/wsl/install-win10) running Ubuntu. I installed pyserial with "pip install pyserial". What is the error you get?

                  C 1 Reply Last reply Reply Quote 1
                  • C Offline
                    crumble @johand
                    last edited by

                    @johand

                    I used pip3 to install pyserial-3.4 But serial cannot be found

                    ImportError: No module named serial
                    
                    J 1 Reply Last reply Reply Quote 0
                    • J Offline
                      johand @crumble
                      last edited by

                      @crumble I am far from an Python expert, so just guessing... Could it be that you use pip3 instead of pip that I use (I think I got som problems trying to use Python 3)? What if you run "pip list", does pyserial show up as installed?

                      C 1 Reply Last reply Reply Quote 0
                      • C Offline
                        crumble @johand
                        last edited by

                        @johand

                        aaahhh, you are right. Micropython is python 3 but the build tool uses python 2. Totally forgot that this still exists on PCs

                        Thanks ;)

                        1 Reply Last reply Reply Quote 0
                        • S Offline
                          svonbentzel @dserrano
                          last edited by

                          @dserrano I am also interested in this howto ;-)

                          1 Reply Last reply Reply Quote 0

                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                          With your input, this post could be even better 💗

                          Register Login
                          • 1 / 1
                          • First post
                            Last post

                          Pycom on Twitter

                          Pycom