Freeze/Source Code Question?

Quinn Dunkan quinn at pyro.ugcs.caltech.edu
Fri May 5 02:45:10 EDT 2000


On Fri, 05 May 2000 05:07:33 GMT, David Lees <debl.nospammm at world.std.com>
wrote:
>Should have mentioned that these questions are triggered by reading the
>Editorial review by Peter Leopold on the Amazon site, of the book Python
>Essential Reference by David Beazley.  In particular he says:
>"...If writing the byte-compiled code to a file is not possible, Python
>suffers from the limitations of other scripting languages: the
>executable is the source and cannot be hidden from the user, at least
>not without some difficulty.

If writing to an a.out is not possible, the C compiler suffers from the
limitations of other textual languages: it can be read by humans.

>                             Despite its extensibility, embeddability,
>and pleasing architecture, Python is like other scripting languages:
>appropriate for solving small nonproprietary problems.."

So python is a great language, but unfortunately just a toy because if you
can't write byte-code to a file for some reason, people might look at your
source.

>David Lees wrote:
>> 
>> I am taking an initial look at Python (total novice) and am puzzled
>> about the existence of Freeze.  If you do not wish to show your source
>> code to the world, I gather the byte code in the form of *.pyc files can
>> be executed.  If the Freeze stuff, just embeds the byte code into a C
>> program (interpreter?) what is the difference from the viewpoint of
>> hiding the code?  I assume the C might be easier to run, because
>> everything is in one executable, but is the byte code still not easily
>> viewed with an octal or hex dump, just as in the .pyc files?

I think freeze is more for easy distribution than hiding source.

>> Are there really good decompilers that translate byte code into source
>> for Python, so that nothing is really hidden?  If so, is it really much
>> different that Java or Visual Basic, where presumably the same thing can
>> be done?

The only program I know of is decompyle, at
http://www.csr.UVic.CA/~aycock/python/


being-readable-by-human's-is-pythons-greatest-limitation-ly y'rs



More information about the Python-list mailing list