2011-01-04 8 views
0

Grüße!Python: Script sicher kompilieren?

Also im Gegensatz zu meiner letzten Frage denke ich, dass ich die falsche Methode verfolgte. Im Grunde muss ich in der Lage sein, ein Python-Skript zu kompilieren, ohne Angst vor einem gewöhnlichen Leecher zu haben, um meinen Quellcode zu erhalten und selbst zu benutzen. Jetzt weiß ich, dass Python eine Open-Source-Sprache ist, die nicht zum Schutz gedacht ist, aber es muss einen Weg geben?

Zum Beispiel fordert Py2Exe Sie auf, Ihren Quellcode in einer einfachen Textdatei zu belassen, damit er dann kompiliert werden kann. Was genau ich nicht will. Der Grund dafür ist, dass die Compilation nicht nur auf meinem PC stattfindet. Mein Projekt wird in eine ausführbare PE-Datei kompiliert und ist für den öffentlichen Gebrauch gedacht. Ich kann nicht zulassen, dass meine Quelle einfach geöffnet und angezeigt wird.

Kann mir jemand helfen?

+4

Warum nicht einfach als Open-Source-Anwendung freigeben? –

Antwort

2

Es gibt keinen Weg, um etwas völlig gegen Reverse-Engineering zu schützen. Einige Dinge, die Sie tun können:

  • verteilen Sie die .pyc-Dateien. Dies erfordert etwas mehr Aufwand zum Reverse Engineering
  • Verwenden Sie einen Obfuscator (es gibt nicht viele davon und ich habe keine gefunden, die ich als erste Klasse bezeichnen würde)
  • Schreiben Sie kritische Abschnitte (vielleicht Lizenzprüfungen, etc in c.) und rufen in ihnen
  • kritische Abschnitte als Web-Services

schreiben Wenn Sie verteilen .pyc oder py2exe, werden die meisten Menschen wahrscheinlich nie in Ihrem Code aussehen. Wenn jemand Ihren Code aus dem Bytecode umkehrt, was ist das große Problem? Wenn sie genug entschlossen sind, könnten sie einfach ihre eigene Anwendung schreiben. Machen Sie sich nicht so viele Sorgen und versenden Sie Ihre Anwendung, wenn sie groß genug ist, um die Quelle zu schützen.

1

Nun, es ist nicht sehr wahrscheinlich, dass es in Kürze passieren wird - Python ist einfach eine interpretierte Sprache, die nicht leicht für die Kompilierung in nativen Code geeignet ist. Sie können jedoch Cython verwenden, um eine Python-Erweiterung mit der Python-ähnlichen Syntax von Cython zu erstellen, diese in nativen Code zu kompilieren und mit einer "harmlosen" Anwendung zu bündeln, die gleichzeitig Ihr Erweiterungsmodul nutzt Ihre IP schwerer zu bekommen.

Sie könnten auch versuchen ShedSkin, ein systemeigener Python zu C++ - Compiler, aber Sie werden es bald sehr begrenzt finden.

Dennoch, Sie könnten überlegen, ob all das wirklich die Mühe wert ist - die meiste Zeit ist es nicht.

1

Sie könnten den Autor von Nuitka kontaktieren, um zu sehen, ob es bei der Verteilung von nicht lesbarem Code helfen könnte.

Edit: Versuchen Sie, die Google cache ...

3

Sie können nach einem Python-Obfuscator oder Scrumbler suchen, aber es wird keine Lösung geben, die Sie trotzdem geistiges Eigentum schützt. Wenn Sie etwas völlig Neues entwickelt haben, gehen Sie zum Patent und versuchen Sie es zu kontrollieren.

In der Zwischenzeit weiterlesen unter How do I protect python code?.

+0

Ja, lesen Sie die verknüpfte Frage und insbesondere die Antwort mit der höchsten Wahl: http://stackoverflow.com/questions/261638/how-doi-i-protect-python-code/261727#261727 –