Seite 1 von 1

Source Code verschlüsseln wie???

Verfasst: Mittwoch 6. Oktober 2004, 19:29
von JanDMC
moin erstmal

mich würde mal interessieren ob man bei python den Quelltext verschlüsseln kann, wenn ja , wie???? :?:



wäre nett wenn mir jemand helfen könnte

mfg JanDMC :D

Verfasst: Mittwoch 6. Oktober 2004, 20:22
von CM
Hoi

sourcecode verschlüsseln?
Na ja, des Menschen Wille ist sein Himmelreich ...

Schau mal hier:
http://docs.python.org/lib/crypto.html
Das ist sicher mal ein Einstieg.

Ansonsten google mal mit "python" und "encrypt" oder "encryption". Du wirst Dich vor lauter Einträgen kaum retten können. Bei ASPN gibt es auch etliche Beiträge zum Thema. Vaults of Parnassus ebenfalls, aber meist recht "alt".

Gruß,
Christian

Verfasst: Freitag 8. Oktober 2004, 12:29
von Sorgenkind
Wenn du ausfürbaren code möglichst so machen willst dass niemand den source bekommt, aus welchen gründen auch immer, geht das mit pyobfuscate

danach noch compilen über py_compile.compile und schon haste ne python datei bei der man den originalsource nicht mehr rauskriegt... bzw ziemlich schwer

Verfasst: Samstag 9. Oktober 2004, 21:01
von Beyond
Nachdem der Computer das Programm ja noch ausführen kann, kann man es aber eben nicht komplett verstecken. Aktive Dongles können diese Situation noch etwas verbessern ...

cu beyond

Verfasst: Samstag 4. Dezember 2004, 01:53
von Leonidas
Sorgenkind hat geschrieben:danach noch compilen über py_compile.compile und schon haste ne python datei bei der man den originalsource nicht mehr rauskriegt... bzw ziemlich schwer
Wenn ich gucke wie schwer es ist pyc zu dekompilieren dann gute nacht: es gibt nur noch das komerzielle decompyle :(

Verfasst: Donnerstag 6. April 2006, 13:30
von snakeseven
Sorgenkind hat geschrieben:Wenn du ausfürbaren code möglichst so machen willst dass niemand den source bekommt, aus welchen gründen auch immer, geht das mit pyobfuscate
Weil das 'readme' dazu ab Zeile 988 im Sourcecode versteckt ist, hier die Gebrauchsanleitung :wink: (Linux):

Code: Alles auswählen

Usage:
    
pyobfuscate [options] <file>

Options:

-h, --help              Print this help.     
-i, --indent <num>      Indentation to use. Default is 1. 
-s, --seed <seed>       Seed to use for name randomization. Default is
                        system time. 
-r, --removeblanks      Remove blank lines, instead of obfuscate
-k, --keepblanks        Keep blank lines, instead of obfuscate
-f, --firstcomment      Remove first block of comments as well
-a, --allpublic	        When __all__ is missing, assume everything is public.
                        The default is to assume nothing is public. 
-v, --verbose	        Verbose mode.

Verfasst: Donnerstag 6. April 2006, 14:08
von jens
Was für ein blödsinn... Aber egal :roll: Kann mal jemand ein Beipiel Posten was pyobfuscate dann mit den Sourcen macht?

Verfasst: Donnerstag 6. April 2006, 16:30
von Leonidas
Schon mal das Modul this.py angeschaut?
Das ist toll, könnte man auch verwenden, wenn man einen neben rot weiteren Codec schreibt, der sowas kann.

Verfasst: Donnerstag 6. April 2006, 16:43
von jens
Jup, das dürfte gehen: http://www.python-forum.de/viewtopic.php?p=29504#29504

Vielleicht geht ja so einfach auch zlib ;)

Ich weiß nicht wie pyobfuscate arbeitet, aber vielleicht könnte man erst pyobfuscate anwenden und dann nochmal einen Codec drüber laufen lassen :)

Verfasst: Donnerstag 6. April 2006, 18:46
von snakeseven
jens hat geschrieben:Was für ein blödsinn... Aber egal :roll: Kann mal jemand ein Beipiel Posten was pyobfuscate dann mit den Sourcen macht?
Hi Jens, dein Beispiel in
http://www.python-forum.de/viewtopic.ph ... highlight= mit pyobfuscate geshreddert:

Code: Alles auswählen

for oo000 in os . listdir ( self . absolute_path ) :
 try :
  ii = self . request . context [ "filesystemencoding" ]
  oo000 = oo000 . decode ( ii )
  oo000 = oo000 . encode ( "utf-8" )
 except UnicodeError , oOOo :
  self . request . write (
 "<small>(Unicode-Error: %s)</small><br />" % oOOo
 )
  pass
 self . request . write (
 "<small>%s</small><br />" % oo000 . encode ( "String_Escape" )
 
)

Gruss, Seven

Verfasst: Donnerstag 6. April 2006, 18:49
von Leonidas
Schließe mich jens an:
jens hat geschrieben:Was für ein blödsinn...
Das kann man mit etwas gutem Willen wieder in normalen Code unwandeln, man kann eben noch die Variablen umbenennen, aber auch das ist zu schaffen.

Verfasst: Donnerstag 6. April 2006, 19:01
von snakeseven
Leonidas hat geschrieben:Das kann man mit etwas gutem Willen wieder in normalen Code unwandeln, man kann eben noch die Variablen umbenennen, aber auch das ist zu schaffen.
Klar, schließlich liegt der pyobfuscate Code frei und man könnte das entsprechende Reverse-Script dazu schreiben. Die Frage ist, ab wann sich der Aufwand lohnt. Weiss einer ne Alternative ?

Gruss, Seven

Verfasst: Donnerstag 6. April 2006, 23:06
von BlackJack
Spätestens wenn man mit `getattr()` oder `setattr()` arbeitet, oder irgendwie per Zeichenkette auf einen Namen zugreifen möchte, wird man mit dem Obfuscator wohl auf die Nase fallen.