[python-de] .pyc und .pyo

Christian Tismer tismer at appliedbiometrics.com
Fri Feb 5 18:31:39 EST 1999


Klaus-Juergen Wolf wrote:
Status: RO

> 
> Hallo,
> 
> ich frage nur mal prophylaktisch. Ich möcht's bloß wissen. Wenn ich
> falsch gedacht habe, sagt's mir bitte.
> 
> Überlegungen:
> 
> Wir haben einen Kunden, der bisher an absolut allem rumgefingert
> hat, was ihm unterkam. Wir haben ihm ne Kiste hingestellt, die hat nach

Draufhaun! Die liebe ich.

> 6 Wochen aufgehört zu funktionieren, nachdem er irgendeine Karte
> einbaut hatte. Wir haben ihm ein Datenbanksystem hingesetzt, das
> klappte zusammen, nachdem er ein "Update" zusammengepfriemelt und
> aufgeleiert hatte. Wir haben ihm Web-Scripte gemacht, die hat er
> versucht zu erweitern, woraufhin -natürlich- das Auswertungsskript vor
> völlig ungeahnten Dingen stand. Usw.usf. Ein Problempatient.
> 
> .pyc's und .pyo's enthalten, denke ich, ja praktisch alle Informationen
> des Originalen Source-Codes. Wäre es denkbar, einem Kunden bloß die
> .pyc/.pyo-Files rüberzuschieben?

Absolut. Mach einen Zweizeiler als .py, der die ge-pyo-te
Applikation importiert, und ab geht's.

Aber bitte ausprobieren, ich hatte neulich damit einen dummen
Effekt unter NT, weil die .pyc-Module die falsche Schreibweise 
hatten. Lieber von Hand kontrollieren.

Und ganz davon abgesehen, wie wäre es mit Fredrik's squeeze-Tool?
Da hast Du nur noch eine Datei und kannst eigentlich
fast alles von Python wegputzen.

> 1. Frage: ist das rechtlich ok? (Python unterlag doch z.B. nicht der
>    GPL, wenn ich das richtig verstanden habe!?)

Ist ok.

> 2. Frage: inwieweit muß man davon ausgehen, daß sich die Codes im Laufe
>    der Entwicklung verändern?

Tun sie nicht.

> 3. Frage: besteht für einen schlauen Nutzer die Möglichkeit, den
>    Prozess umzukehren, d.s.h. pyc oder pyo nach py rückzuübersetzen?

Naja, schon mal das "dis"-Modul probiert?
Da kommt halt Maschinencode für eine Stackmaschine zurück.
Man kann durchaus etwas Python-ähnliches draus erzeugen,
aber das braucht schon mehr als einen schlauen Nutzer, da
brauchste 'nen alten Hacker.

squeeze (oder mein sqfreeze welches mini-exe macht) arbeitet mit
zlib, sodaß das Vorhandensein von .pyc codes nicht sehr
offensichtlich ist.

Ebenso kann man natürlich auch freezen und ein dickes exe erzeugen,
ist natürlich immer noch knackbar, weil die Codes im exe stehen.

Oder ganz extrem: Wenn Du's bezahlst, baue ich Dir Dein eigenes
Python, mit Deiner individuellen Permutation von Opcodes :-)

ciao - chris

-- 
Christian Tismer             :^)   <mailto:tismer at appliedbiometrics.com>
Applied Biometrics GmbH      :     Have a break! Take a ride on Python's
Kaiserin-Augusta-Allee 101   :    *Starship* http://starship.skyport.net
10553 Berlin                 :     PGP key -> http://pgp.ai.mit.edu/
     we're tired of banana software - shipped green, ripens at home



More information about the Python-de mailing list