Python-Programm zu EXECUTABLE linken

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
ihPyP
User
Beiträge: 58
Registriert: Samstag 4. September 2010, 23:06

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.
Benutzeravatar
Kebap
User
Beiträge: 686
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

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?
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
ihPyP
User
Beiträge: 58
Registriert: Samstag 4. September 2010, 23:06

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?
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.
ihPyP
User
Beiträge: 58
Registriert: Samstag 4. September 2010, 23:06

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.
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

@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
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

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.
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.
chipcoint
User
Beiträge: 1
Registriert: Donnerstag 12. Oktober 2017, 16:08

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).
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

@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.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

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