Seite 1 von 1

Python-Programm zu EXECUTABLE linken

Verfasst: Donnerstag 7. Mai 2015, 09:57
von ihPyP
Hallo,

ich habe eine kurze Frage. Ist es möglich ein Python-Programm zu linken, so dass ich das WINDOWS/LINUX-Executable unabhängig vom Interpreter auf einen anderen Rechner kopieren und ausführen kann?
Wenn ja, könnt Ihr mir eine Referenz geben, wo ich mir das Vorgehen hierfür abgucken kann?

Vielen Dank für die Antworten vorab.

VG.

Re: Python-Programm zu EXECUTABLE linken

Verfasst: Donnerstag 7. Mai 2015, 10:12
von Kebap
Ich kenne das Wort "linken" nicht hierfür, aber willst du aus deinem Python-Programm eine Version erzeugen, die auch Leute / Rechner ohne Python ausführen können? Ja, das geht. Zum Beispiel mit py2exe (Windows). Linux Systeme haben üblicherweise Python vorinstalliert, so dass man da nichts groß vorbereiten müsste. Einfach Quellcode weitergeben und gut. Benutzt du besondere zusätzliche Bibliotheken in deinem Programm?

Re: Python-Programm zu EXECUTABLE linken

Verfasst: Donnerstag 7. Mai 2015, 10:20
von ihPyP
Ich möchte den Quellcode nicht zum editieren freigeben. Deswegen meine Frage, ob es möglich ist eine EXECUTABLE zu erstellen.

Geht dasselbe nicht auch für Linux?

Re: Python-Programm zu EXECUTABLE linken

Verfasst: Donnerstag 7. Mai 2015, 10:37
von BlackJack
@ihPyP: Das sind zwei verschiedene Fragen, denn auch eine EXE kann man wieder auseinandernehmen. Und selbst wenn man nur `*.pyc`-Dateien ausliefert können die wieder dekompiliert werden und man kann sich da auch immer noch einklinken und Monkeypatching betreiben. Vergiss es einfach am besten. Wenn Du nicht möchtest das jemand etwas mit Deinem Programm macht was Du nicht willst, dann biete einen Webservice an.

Re: Python-Programm zu EXECUTABLE linken

Verfasst: Donnerstag 7. Mai 2015, 11:40
von ihPyP
Ok, ich brauche vielleicht nicht die 100%ige Sicherheit - aber ich fände es gut, wenn man unter Linux halt auch eine eigenständige Datei hat, welche man nicht einfach mit einem TExteditor lesen kann.

Re: Python-Programm zu EXECUTABLE linken

Verfasst: Donnerstag 7. Mai 2015, 12:05
von Sirius3
@ihPyP: Unter Linux kann es sehr gut sein, dass verschiedene Pythonversionen installiert sind, und pyc-Dateien sind zwischen den Versionen nicht unbedingt kompatibel. Ist Dein Code so schlecht, dass Du Dich dafür schämst :P

Re: Python-Programm zu EXECUTABLE linken

Verfasst: Donnerstag 7. Mai 2015, 12:08
von Hyperion
Unter Linux gibt es zig verschiedene Paketformate und daher zig Wege, ein Programm zu installieren. Um sich das zu ersparen gibt es ja eine Python eigene Paketverwaltung bzw. ein Tool dafür: pip! Ich weiß nicht, ob man damit ggf. nur pyc Dateien verteilen kann, aber wie BlackJack erwähnte bieten diese auch keinen großartigen Schutz. Wie Du es drehst und wendest, es wird auf jeden Fall schwierig.

Und wenn Du einen anderen, kruden, Weg gehst, dann stelle ich mir die Frage, ob es wirklich eine Zielgruppe gibt, die Deine Software nutzen mag... was dann wiederum die Frage aufwrift, ob sich diese Frickelei auch lohnt, wenn die Software keiner nutzt... :twisted:

Wenn Menschen Deine Software nutzen wollen, ohne dafür zu bezahlen, dann werden sie es auch schaffen, sofern sie Zugang zum Code haben! Das gilt unabhängig von der Sprache. Vertraue also auf die Masse, die ehrlich ist, oder greife eben auf einen Webservice zurück.

Re: Python-Programm zu EXECUTABLE linken

Verfasst: Donnerstag 7. Mai 2015, 12:36
von sparrow
ihPyP hat geschrieben:Ok, ich brauche vielleicht nicht die 100%ige Sicherheit - aber ich fände es gut, wenn man unter Linux halt auch eine eigenständige Datei hat, welche man nicht einfach mit einem TExteditor lesen kann.
Ich als Linux-Anwender finde es gar nicht gut, wenn ich unter Linux eine ausführbare Datei bekomme und den Quelltext nicht lesen kann.
Sind ja Marotten wie unter Windows.

Re: Python-Programm zu EXECUTABLE linken

Verfasst: Donnerstag 7. Mai 2015, 12:42
von BlackJack
Das mit dem Quelltext würde mich ja gar nicht so stark stören, aber das Programme anfangen ihren eigenen Python-Interpterter + Standardbibliothek mitzubringen würde mich ein wenig nerven, ich hab das doch schon alles auf dem Rechner.

Re: Python-Programm zu EXECUTABLE linken

Verfasst: Donnerstag 12. Oktober 2017, 16:15
von chipcoint
BlackJack hat geschrieben:@ihPyP: Das sind zwei verschiedene Fragen, denn auch eine EXE kann man wieder auseinandernehmen. Und selbst wenn man nur `*.pyc`-Dateien ausliefert können die wieder dekompiliert werden und man kann sich da auch immer noch einklinken und Monkeypatching betreiben. Vergiss es einfach am besten. Wenn Du nicht möchtest das jemand etwas mit Deinem Programm macht was Du nicht willst, dann biete einen Webservice an.
ehm würde dann nicht so ziemlich jedes windows programm angreifbar sien also auch teure programme wie adobe oder sowas(ich kenn mich mit programmieren noch nicht so gut aus deswegen die frage).

Re: Python-Programm zu EXECUTABLE linken

Verfasst: Donnerstag 12. Oktober 2017, 16:33
von Sirius3
@chipcoint: die Frage ist immer nach dem Verhältnis zwischen Aufwand und Nutzen. Jeder auf Software basierende Kopierschutz wurde geknackt. Ansonsten haben so teure Programme ja keine geheimen Funktionen, die man analysieren müßte. Es braucht nur Zeit, umfangreiche Programme zu schreiben, aber kein besonderes Wissen. Wenn man wissen will, wie z.B. ein bestimmter Photoshop-Filter funktioniert, dann decompiliert man eben die kleine Filter-DLL und kann den innerhalb von wenigen Stunden auseinander nehmen. Würmer werden auf diese Weise von Virenexperten standardmäßig analysiert; in kurzer Zeit kennt man Verbreitungsweg und Schadfunktion.

Re: Python-Programm zu EXECUTABLE linken

Verfasst: Donnerstag 12. Oktober 2017, 17:21
von __deets__
Wir stellen ein teures Programm in C++ her. Und natuerlich ist das geknackt in der Minute in der eine neue Version rauskommt. Wer etwas anderes glaubt beluegt sich selbst. Ueblicherweise ueberschaetzen Leute die eigene Genialitaet, und glauben, was sie da haetten waere so besonders, dass der Rest der Welt es stehlen will. Dabei ist es meistens eher peinlich (ich beziehe mich da explizit ein). Das, was Software verkauft ist die anhaltende Bereitschaft, ein Produkt weiterzuentwickeln.