Source Code verschlüsseln wie???

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
JanDMC
User
Beiträge: 95
Registriert: Donnerstag 23. September 2004, 19:35
Kontaktdaten:

Mittwoch 6. Oktober 2004, 19:29

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
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Mittwoch 6. Oktober 2004, 20:22

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
Sorgenkind
User
Beiträge: 34
Registriert: Samstag 24. Juli 2004, 19:25
Kontaktdaten:

Freitag 8. Oktober 2004, 12:29

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
Beyond
User
Beiträge: 227
Registriert: Freitag 6. September 2002, 19:06
Kontaktdaten:

Samstag 9. Oktober 2004, 21:01

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
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 4. Dezember 2004, 01:53

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 :(
My god, it's full of CARs! | Leonidasvoice vs Modvoice
snakeseven
User
Beiträge: 405
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Donnerstag 6. April 2006, 13:30

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.
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Donnerstag 6. April 2006, 14:08

Was für ein blödsinn... Aber egal :roll: Kann mal jemand ein Beipiel Posten was pyobfuscate dann mit den Sourcen macht?

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Donnerstag 6. April 2006, 16:30

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.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Donnerstag 6. April 2006, 16:43

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 :)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
snakeseven
User
Beiträge: 405
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Donnerstag 6. April 2006, 18:46

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
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Donnerstag 6. April 2006, 18:49

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.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
snakeseven
User
Beiträge: 405
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Donnerstag 6. April 2006, 19:01

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
BlackJack

Donnerstag 6. April 2006, 23:06

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