Frage

Wenn es wirklich eine ‚beste‘ Art und Weise, was ist der beste Weg, um einen Python-App versenden und die Menschen gewährleisten kann nicht (leicht) Reverse Engineering Ihre Algorithmen / Sicherheit / Arbeit im Allgemeinen?

Wenn es keine ‚beste‘ Art und Weise ist, was sind die verschiedenen Optionen zur Verfügung?

Hintergrund: Ich liebe Codierung in Python und würde gerne mit ihm mehr Anwendungen lösen. Eine Sache, die ich über fragen, ist die Möglichkeit, Menschen zu umgehen jeden Lizenzcode ich in setzen, oder in der Lage zu sein, nur meine gesamte Source-Basis abreißen. Ich habe von py2exe und ähnlichen Anwendungen gehört, aber ich bin neugierig, ob es ‚bevorzugte‘ Möglichkeiten, es zu tun, oder wenn dieses Problem ist einfach eine Tatsache des Lebens.

War es hilfreich?

Lösung

Sicherheit durch Unklarheit nie funktioniert. Wenn Sie eine eigene Lizenz verwenden müssen, erzwingen sie durch das Gesetz, nicht unausgegoren Verschleierungsversuche.

Wenn Sie sind besorgt über sie Ihre Sicherheit (zum Beispiel Kryptografie) Lernalgorithmus, gilt das gleiche. Real, nützlich, Sicherheitsalgorithmen (wie AES) sind sicher, obwohl der Algorithmus vollständig bekannt ist.

Andere Tipps

Auch wenn Sie eine kompilierte Sprache wie C # oder Java verwenden, können die Menschen Reverse-Engineering durchführen, wenn sie und technisch kompetent motiviert sind. Die Verschleierung ist kein zuverlässiger Schutz dagegen.

Sie können für Ihre Software-Verbot gegen Reverse-Engineering zu Ihrem Endbenutzer-Lizenzvertrag hinzuzufügen. Die meisten proprietären Unternehmen tun dies. Aber das verhindert nicht verletzt, es gibt Ihnen nur Rechtsweg ist ausgeschlossen.

Die am besten Lösung ist es, Produkte und Dienstleistungen anzubieten, in dem der Zugriff des Benutzers Code zu lesen schadet nicht Ihre Fähigkeit, Ihr Produkt oder eine Dienstleistung zu verkaufen. Basis für Ihr Unternehmen auf Service zur Verfügung gestellt, oder Abonnement für regelmäßige Aktualisierungen zu Daten, anstatt der Code selbst.

Beispiel: Slashdot macht tatsächlich ihren Code für ihre Website. Greift diese ihre Fähigkeit, ihre Website zu laufen? Nr.

Ein anderes Mittel ist Ihr Preis Punkt so einzustellen, dass die Bemühungen um Ihren Code Piraten teurer sind, als nur der Kauf berechtigte Lizenzen Ihr Produkt zu verwenden. Joel Spolsky hat eine Empfehlung zu diesen Effekten in seinen Artikeln und Podcasts gemacht.

Das Wort Sie suchen ist obfuscate. Eine schnelle Google zeigt:

http://www.lysator.liu.se/~astrand/ Projekte / pyobfuscate /

aber:

a) Wenn eine Urheberrechtsverletzung zu einem Problem wird, dann ist das Gesetz auf Ihrer Seite (solange Sie die entsprechenden Copyright-Vermerke in allen Dateien enthalten).

b) Es ist auch möglich, einen Gewinn auf Open-Source-Anwendungen zu machen, wenn Sie es klug sind.

c) Wenn Sie Ihr geistiges Eigentum wirklich wollen, um sicher zu sein, dann ist die einzige Antwort ist jemand es in erster Linie nicht zu lassen hat: Schreiben Sie Ihre Anwendung als Web-App, (Ich empfehle, mit django) und nur Ihren Web Hosting-Provider den Zugriff auf den Code hat.

py2exe

Ein Fenster py2exe ist ein Weg, der Versand Code an Endabnehmer, py2exe bündelt die Python-Interpreter, die erforderlichen DLLs und Ihren Code zu Python-Bytecode kompiliert.

Hier sind die Python-Bytecode-Anweisungen einen Hinweis zu bekommen, wie es aussieht:

http://www.python.org/doc/2.5 0,2 / lib / bytecodes.html

Sie können auch dis einige pyc / Pyo Dateien zerlegen.

Also, py2exe mit ähnelt der Verteilung von kompilierten Python (pyc / Pyo-Dateien).

Shedskin C ++ Compiler

Der Shedskin Compiler kompiliert eine Teilmenge von Python C ++, die Sie nativen Code unter Verwendung eines beliebigen Compiler kompilieren können.

PyPy

Ich weiß nicht, zu über PyPy viel. Nach ihrer docs ist PyPy Lage C-Code zu erzeugen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top