Jun Koi wrote: > sorry if this is a bit off-topic, but i think many people here must > have the same concern, and have to cope with it somehow. > > i am developing a Windows project using Python. the final executable > file .EXE and its libs will be generated with py2exe. > > my concern is that: even if the binary is without the source, the code > is still Python bytecode. > and as far as i am aware, it is pretty trivial to reverse the binary > back to the Python code.
It won't necessarily be READABLE Python code. It won't have local variable names, and it won't have comments, but it's usually pretty understandable. > 1) how serious this problem is in your opinion? is it really true that > it is impossible to protect the binaries from reversing? Yes. If this is an issue for you, then you should not be using an interpreted language at all. You need to use something that is compiled, like C++. Even compiled code can be reverse-engineered, but it's much harder. Note that this same issue exists with C#. The binaries for a C# program are in an Intermediate Language that is very similar to Python byte codes, and which can be decompiled back to barely readable C# code. What are you protecting here? In many cases, Python code is a front-end for a core library where the real IP lives. There's no point in protecting a user interface, for example. > 3) if it is true that it is quite trivial to reverse the Python > binaries, how are you currently protecting your binaries? perhaps with > some obfuscated tools, making it much harder to reverse? Remember that Python comes from the open source world, where obfuscation is eschewed. Most Python projects ship the source code. -- Tim Roberts, t...@probo.com Providenza & Boekelheide, Inc. _______________________________________________ python-win32 mailing list python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32