-jj
--
It's a walled garden, but the flowers sure are lovely!
http://jjinux.blogspot.com/
You'd have to ask an embedded systems businessman; it's not really a
Python question. Many of the people on this list are fans of
open-source software, so making code obscure is not one of our top
priorities, and for some it's an anti-priority. But embedded software
is much more specific to its device than general PC software is, so
even if you have the source there's not as much you can do with it.
The situation is not much different from Javascript. You can't hide
Javascript if you want it to run on the user's computer, but that
doesn't stop companies from making money with Javascript applications.
--
Mike Orr <slugg...@gmail.com>
This is a limitation for all languages on any system, embedded or
otherwise. Ask any vendor who has had their firmware disassembled. At
any rate, usually source code for embedded devices is specific enough
that protecting code is almost moot, since the code will only run on a
particular device.
There are better ways to protect code on embedded devices, such as using
secure media to store the software (encryption keys can be stored in
firmware). Further, firmware can validate code checksums, so that even
if someone obtains the code from the device you can ensure that they
can't run a modified version of the code on the same device.
Of course, assuming any of these devices make it into anyone's
possession, a determined hacker will almost certainly break whatever
scheme you come up with. It's mostly a question of how determined and
skilled they will have to be.
Sometimes this type of security is required (by law or PHB's), but most
people who ask this sort of question are simply following a cargo-cult
mentality of believing that source code must be kept secret, without
much thought as to why and what the risks/benefits really are. If your
code is so unique as to be worth protecting this way then it's probably
worth patenting whatever amazing algorithm it contains. If it's not
worth the few thousand dollars you'll spend applying for a patent, then
it's probably not worth the few thousand dollars of development time
you'll spend trying (almost certainly unsuccessfully) to protect your
code by technological means.
Cliff
I would have enjoyed your email much more if you didn't use such
strong language ;)
I've used obfuscation tools for Perl before, and yes, they're nice.
When we encrypted the Python code, the only way to unencrypt it was to
understand the unencryption code which was written in C and compiled
statically into Python. Sure, it's not perfect. However, it's
definitely a strong deterrent. On top of this is the DMCA, etc.
By the way, major props to Mike Orr. I agree. I hate closed source
software even when I get paid to write it ;)
-jj
It may or may not be illegal, depending on the laws about reverse
engineering, DMCA, and the validity of shrinkwrapped or
click-to-assent licenses in the recipient's country.
--
Mike Orr <slugg...@gmail.com>
It may not be illegal to decompile the code (reverse-engineering has
some limited protections), but it would almost certainly be illegal to
redistribute that code as copyright law is pretty well established in
most countries.
Much of the relevance of all of this revolves around why the OP thinks
he needs to protect his code (which he so far hasn't revealed). If it's
simply to protect IP then my personal feeling is that it's most likely
counter-productive. If it's for security reasons, then obfuscation is a
poor substitute for building an actual secure device.
Cliff
Someone ones said, any security scheme can be broken with enough time
in your hands.
> Cliff
>
>
> >
>