Shop OBEX P1 Docs P2 Docs Learn Events
How to lock BS2 ? — Parallax Forums

How to lock BS2 ?

ArchiverArchiver Posts: 46,084
edited 2003-07-25 23:12 in General Discussion
How can I lock the program in the BS2 so no one can access it? Need
info on the software procedure and hardware one...thanks.

Comments

  • ArchiverArchiver Posts: 46,084
    edited 2003-07-24 23:06
    There is no procedure because it is not necessary. Your program source
    is compiled to tokens and downloaded to the BASIC Stamp. Once they're
    in the Stamp in token form, the extremely difficult to remove and no one
    -- that we know of -- has produced a decompiler that actually works.

    The only thing you have to protect is your source code file(s).

    -- Jon Williams
    -- Parallax


    Original Message
    From: basilflorida [noparse]/noparse]mailto:[url=http://forums.parallaxinc.com/group/basicstamps/post?postID=9tl5YyMlvJCPoRl3v48K0R01bvpUpEmR7ltLZTIdkubkYAkVEYNFYZUihJe8rK5EP6J3zIwIiI38TVMHFw]basilflorida@y...[/url
    Sent: Thursday, July 24, 2003 4:33 PM
    To: basicstamps@yahoogroups.com
    Subject: [noparse][[/noparse]basicstamps] How to lock BS2 ?


    How can I lock the program in the BS2 so no one can access it? Need
    info on the software procedure and hardware one...thanks.


    To UNSUBSCRIBE, just send mail to:
    basicstamps-unsubscribe@yahoogroups.com
    from the same email address that you subscribed. Text in the Subject
    and Body of the message will be ignored.


    Your use of Yahoo! Groups is subject to
    http://docs.yahoo.com/info/terms/




    This message has been scanned by WebShield. Please report SPAM to
    abuse@p....
  • ArchiverArchiver Posts: 46,084
    edited 2003-07-25 18:55
    This isn't practical or feasible. Your (tokenized) program is stored
    on your Stamp's EEPROM for access via your Stamp's microprocessor. If
    the EEPROM were "locked", the microprocessor itself couldn't fetch
    it, and your program couldn't run. It's a fact of the Stamp's
    architecture.

    As Jon pointed out, it is not possible to recover your Stamp
    program's source code from the EEPROM. The reason is simple--it's
    not stored on the Stamp, it resides on your programmer platform only
    (PC or whatever). However, the tokenized version of the program can
    in fact be recovered--in mere seconds and without leaving any
    sign--then easily cloned in other Stamps, and/or analyzed to produce
    a functionally equivalent set of source code. This isn't speculation
    or theory--it's been done. While Parallax may not acknowledge this
    possibility, you may want to know it exists.

    Bottom line: very sensitive information (e.g., high cost proprietary
    code, DATA statements containing location of secret moon base, Stamp
    program to steal gold from Fort Knox) can be retrieved and used by
    others.

    Regards,

    Steve


    On 24 Jul 03 at 21:32, basilflorida wrote:

    > How can I lock the program in the BS2 so no one can access it? Need
    > info on the software procedure and hardware one...thanks.
  • ArchiverArchiver Posts: 46,084
    edited 2003-07-25 21:03
    A radical solution: After you program it, cut off the serial output
    pin, and maybe cover whatever metal that is still visible with epoxy.
    Of course, you will not be able to program it anymore.

    --- In basicstamps@yahoogroups.com, "S Parkis" <parkiss@e...> wrote:
    > This isn't practical or feasible. Your (tokenized) program is
    stored
    > on your Stamp's EEPROM for access via your Stamp's microprocessor.
    If
    > the EEPROM were "locked", the microprocessor itself couldn't fetch
    > it, and your program couldn't run. It's a fact of the Stamp's
    > architecture.
    >
    > As Jon pointed out, it is not possible to recover your Stamp
    > program's source code from the EEPROM. The reason is simple--it's
    > not stored on the Stamp, it resides on your programmer platform only
    > (PC or whatever). However, the tokenized version of the program can
    > in fact be recovered--in mere seconds and without leaving any
    > sign--then easily cloned in other Stamps, and/or analyzed to produce
    > a functionally equivalent set of source code. This isn't
    speculation
    > or theory--it's been done. While Parallax may not acknowledge this
    > possibility, you may want to know it exists.
    >
    > Bottom line: very sensitive information (e.g., high cost proprietary
    > code, DATA statements containing location of secret moon base, Stamp
    > program to steal gold from Fort Knox) can be retrieved and used by
    > others.
    >
    > Regards,
    >
    > Steve
    >
    >
    > On 24 Jul 03 at 21:32, basilflorida wrote:
    >
    > > How can I lock the program in the BS2 so no one can access it?
    Need
    > > info on the software procedure and hardware one...thanks.
  • ArchiverArchiver Posts: 46,084
    edited 2003-07-25 21:23
    Problem with that is you can still access the EEPROM - just solder a wire
    onto the EEPROM or pull the EEPROM from the Stamp board. Only solution there
    is to cut off the pin actually on the EEPROM, but then it becomes useless to
    the Stamp.

    - Robert
    Original Message
    From: "LarryR" <nospam4russell@c...>
    To: <basicstamps@yahoogroups.com>
    Sent: Friday, July 25, 2003 2:03 PM
    Subject: [noparse][[/noparse]basicstamps] Re: How to lock BS2 ?


    > A radical solution: After you program it, cut off the serial output
    > pin, and maybe cover whatever metal that is still visible with epoxy.
    > Of course, you will not be able to program it anymore.
    >
    > --- In basicstamps@yahoogroups.com, "S Parkis" <parkiss@e...> wrote:
    > > This isn't practical or feasible. Your (tokenized) program is
    > stored
    > > on your Stamp's EEPROM for access via your Stamp's microprocessor.
    > If
    > > the EEPROM were "locked", the microprocessor itself couldn't fetch
    > > it, and your program couldn't run. It's a fact of the Stamp's
    > > architecture.
    > >
    > > As Jon pointed out, it is not possible to recover your Stamp
    > > program's source code from the EEPROM. The reason is simple--it's
    > > not stored on the Stamp, it resides on your programmer platform only
    > > (PC or whatever). However, the tokenized version of the program can
    > > in fact be recovered--in mere seconds and without leaving any
    > > sign--then easily cloned in other Stamps, and/or analyzed to produce
    > > a functionally equivalent set of source code. This isn't
    > speculation
    > > or theory--it's been done. While Parallax may not acknowledge this
    > > possibility, you may want to know it exists.
    > >
    > > Bottom line: very sensitive information (e.g., high cost proprietary
    > > code, DATA statements containing location of secret moon base, Stamp
    > > program to steal gold from Fort Knox) can be retrieved and used by
    > > others.
    > >
    > > Regards,
    > >
    > > Steve
    > >
    > >
    > > On 24 Jul 03 at 21:32, basilflorida wrote:
    > >
    > > > How can I lock the program in the BS2 so no one can access it?
    > Need
    > > > info on the software procedure and hardware one...thanks.
    >
    >
    > To UNSUBSCRIBE, just send mail to:
    > basicstamps-unsubscribe@yahoogroups.com
    > from the same email address that you subscribed. Text in the Subject and
    Body of the message will be ignored.
    >
    >
    > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
    >
    >
  • ArchiverArchiver Posts: 46,084
    edited 2003-07-25 22:40
    Microchip PICs can be programmed to set the Code Fuse Bit. When it is
    set, attempts to read the assembled hex code from the PIC will produce
    randomized code. This can be defeated, but it requires a major effort
    and extra hardware.

    In theory, pBASIC could be extended to include this option, but in
    practice there wouldn't be much call for it among the Stamp user group.

    Dennis

    Original Message
    From: Robert Ussery [noparse]/noparse]mailto:[url=http://forums.parallaxinc.com/group/basicstamps/post?postID=-_zpRPXQMhNOXrRccjxoMob6Y9Gwxn3ET9c8EOfueLvvF4JY6T5HPR4-ex33ufniJcbeUkWDEXhgpEyL]uavscience@f...[/url
    Sent: Friday, July 25, 2003 1:24 PM
    To: basicstamps@yahoogroups.com
    Subject: Re: [noparse][[/noparse]basicstamps] Re: How to lock BS2 ?


    Problem with that is you can still access the EEPROM - just solder a
    wire onto the EEPROM or pull the EEPROM from the Stamp board. Only
    solution there is to cut off the pin actually on the EEPROM, but then it
    becomes useless to the Stamp.

    - Robert
    <deleted>
  • ArchiverArchiver Posts: 46,084
    edited 2003-07-25 23:12
    The BS2 on-module PIC stores the PBasic
    interpreter. It stores the P-compiled code
    in an on-module EEPROM as part of the
    download process. So while you
    can't read the PIC's interpreter, you
    still can read the EEPROM.

    As has been mentioned, though, this only
    gets you the compiled version of the code,
    which is of limited use. I suppose
    someone COULD go through all the effort of
    reverse-engineering the source, and there's
    really no way to prevent that. What I ask
    myself is, doesn't this take an awful
    amount of time, effort, (and perhaps money?).

    If you're code is so sensitive that it is
    WORTH the time and money to reverse-engineer
    it, then you probably shouldn't put it in
    a BS2. You could put it directly into a
    PIC, and set the no-read bit, for instance.


    --- In basicstamps@yahoogroups.com, Dennis O'Leary <doleary@e...>
    wrote:
    > Microchip PICs can be programmed to set the Code Fuse Bit. When it
    is
    > set, attempts to read the assembled hex code from the PIC will
    produce
    > randomized code. This can be defeated, but it requires a major
    effort
    > and extra hardware.
    >
    > In theory, pBASIC could be extended to include this option, but in
    > practice there wouldn't be much call for it among the Stamp user
    group.
    >
    > Dennis
    >
    >
    Original Message
    > From: Robert Ussery [noparse][[/noparse]mailto:uavscience@f...]
    > Sent: Friday, July 25, 2003 1:24 PM
    > To: basicstamps@yahoogroups.com
    > Subject: Re: [noparse][[/noparse]basicstamps] Re: How to lock BS2 ?
    >
    >
    > Problem with that is you can still access the EEPROM - just solder a
    > wire onto the EEPROM or pull the EEPROM from the Stamp board. Only
    > solution there is to cut off the pin actually on the EEPROM, but
    then it
    > becomes useless to the Stamp.
    >
    > - Robert
    > <deleted>
Sign In or Register to comment.