[python-de] .pyc und .pyo

Christian Tismer tismer at appliedbiometrics.com
Wed Feb 17 16:45:57 EST 1999


Marlon Berlin wrote:
Status: RO

> 
> Christian Tismer schrieb am Mon, Feb 15, 1999 um 12:43:30 +0100:
> > Wie schon erwähnt, kann eine Permutation der Opcodes
> > recht nützlich sein. Dies kann auch so subtil gemacht werden,
> > daß man "richtig aussehende" Programme bekommt, die nur
> > nicht richtig laufen. Man permutiere etwa die Bedeutung
> > einiger binärer Operatoren, addiere gewisse Offsets
> > zu Sprungadressen, permutiere die Indizierung lokaler
> > Variablen, ...
> 
> Ich denke, das ist in etwa so leicht zu knacken,
> fei deisi Zieli zu lisin est. :-)

Na und? Du kannst die 14-jährigen sowieso nicht abhalten.
Was Du erreichen kannst, ist daß die Standard-Knacktools
versagen, und dann wird es teuer, weil man jemanden braucht
der's kann.

> Ein paar Buchstaben / Opcodes auszutauschen ist doch -- vor allem,
> wenn der entschlüsselnde Interpreter gleich mitgeliefert wird --
> gar kein Schutz.

Gut. Wo ist Dein Modul, was das generell erschlägt?

> Sowas knackten früher 14jährige aus der Warez-Scene innerhalb weniger
> Minuten. Und das bei weitaus komplizierteren Bytecodes und gewiefteren
> als den angesprochenen Techniken.
> 
> > Einfacher ist es, den Python-Code mit Zlib komprimiert
> > zu halten, vor der Ausführung zu entpacken und das
> 
> Dann speichere ich den Code nach dem Entpacken ab.

Das ist nicht ganz so einfach, denn Du wirst Probleme
haben, die Stelle zu finden, wo entpackt wird. Von denen
gibt es viele viele Versionen, die alle sehr ähnlich sind,
und der entpackte Code wird äußerst kurzlebig sein, also
da wüßte ich schon gern, ob Du aus Erfahrung sprichst.

Es geht hier nicht darum, zu zeigen wie toll man alles Mögliche
knacken kann, das glaub ich Dir gerne. Ich möchte an dieser
Stelle auch nicht aus der Mottenkiste plaudern (evtl. privat),
gewisse Techniken sind mir (von früher) wesentlich bekannter
als erlaubt...

> > Was habt Ihr sonst noch an Ideen zum Programmschutz?
> 
> http://www.cs.auckland.ac.nz/~collberg/Research/Students/DouglasLow/obfuscation.html
> 
> Dort gibt's 'ne Menge guter Ideen.
> Tautologien in if-Anweisungen einzuschleusen, die den Code kom-
> plizierter erscheinen lassen -- mal so als Denkansatz :-)

Nein, ich meinte nicht altbekannte generelle Methoden, sondern
eigene Ideen, besonders in Hinblick auf Python. In wieweit
ist die Frage nach Kopierschutz sinnvoll, und was ist
mit vertretbarem Aufwand machbar.

Insbesondere frage ich, wie sich eine Automatisierte
Decodierung möglichst gut verhindern läßt.

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.python.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