Python 3.5 Code in .exe Datei

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.
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Ausgegeben wird ein Text: "Program will started..." - bin mir aber nicht sicher, ob ich 'ne Printfunktion eingebaut habe, die dies schreibt, bin gerade nicht am PC.

...mehr nicht und danach erscheint wieder das aktuelle Verzeichnis (C:/ [...]).
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Ich bin total am Verzweifeln.

Versuche ich es mittels "AutoPy2Exe" funktionieren nur konsolenbasierte Anwendungen, UI werden nicht angezeigt (bei nicht-konsolenbasierten).

Versuche ich es mittels "py2exe" erhalte ich einen Uni-Code Fehler: "SyntaxError:<unicode error> 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXX[...] escape"
Meine Eingabe war: "python C:\Users\Philipp\Desktop\Eigene_Programme\Fortnite_GamePack_Updater\setup.py py2exe"

Habt ihr 'ne Alternative oder 'ne Lösung zu mein Versuchen mit den anderen Convertern?
AutoPy2Exe - damit lässt es sich alles so easy einstellen, aber funktionieren tut die UI widerrum nicht, bekomme auch kein Error, also muss der Code ja schonmal korrekt sein...kann doch nur beim Einstellen in "AutoPy2Exe" was fehlen, oder?
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Hat sich erledigt! :) Da muss ein "Programmierer" wohl auch mal selber hinter steigen - mit PyQt5 funktioniert es! xD
Tkinter funzt net, aber mit PyQt5 tut's - dann schreib ich's für PyQt5 um. :D

Kann man 'nen Datei-Updater mit PyQt5 schreiben, den ich online stelle (aber nur bestimmte Nutzer sich auch einloggen und somit nutzen können) ohne eine Lizenz kaufen zu müssen?
Benutzeravatar
__blackjack__
User
Beiträge: 14028
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@xXSkyWalkerXx1: Schreiben ja. Verbreiten nur wenn er unter der GPL steht.
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

https://www.techfacts.de/ratgeber/was-bedeutet-gnu-gpl

Mein Updater ist ein Programm, welches kostenlos verteilt wird, kann also jeder downloaden, allerdings erfolgt das Einloggen über eine bestimme Liste, die ich auf einer Seite erstellt habe.
In diese Liste kommt man nur, wenn man etwas bei mir gekauft hat - spricht man da schon von Lizenzgebühren? Da dies ja bei GPL nicht gestattet ist.

Außerdem, wie ist das mit der Quellcode-Bereitstellung - ich sehe manch Programme, die GPL haben, aber dennoch man nirgends den Quellcode findet - kann ich auch den Quellcode weglassen und nur zur Verfügung stellen, wenn jemand diesen möchte? Reicht da auch der bytecode quellcode (.PYC) ?
Benutzeravatar
__blackjack__
User
Beiträge: 14028
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@xXSkyWalkerXx1: Der Abschnitt über die Lizenzgebühren ist komisch. Man darf Geld für GPL-Software verlangen. Auch viel Geld. Man muss halt immer auch den Quelltext bereit stellen, und der Empfänger darf die Software und auch den Quelltext unter der GPL kostenlos weiterverteilen. Darum ist das nicht so wirklich sinnvoll (viel) Geld zu verlangen.

Welche Programme unter der GPL siehst Du wo man nirgends den Quelltext findet?

Du kannst den Quelltext auch nur auf verlangen heraus geben. Allerdings an jeden der das Programm hat. Und Deine Käufer dürfen das Programm beliebig weitergeben. Also musst Du den letztlich nicht nur an die Käufer rausgeben. Und Du musst wirklich deutlich machen, dass das Programm unter der GPL steht. Also nicht versuchen diesen Umstand irgendwie möglichst gut zu verstecken, damit keiner auf die Idee kommt zu fragen. Das sage ich extra weil die Frage nach dem Bytecode einen kräftigen Geruch hat. Schau Dir noch mal an welche Rechte deine Käufer durch die GPL haben. Und dann überlege doch selber mal ob es ausreicht nur den Bytecode zu haben, um diese Rechte wahrzunehmen.
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Hm, das ist doof. Sprich, für meine Zwecke (und künftige Programme von mir) wäre es sinnvoller eine PyQt5 Lizenz zu kaufen?
Bleibt nur die Frage, ob auch 'ne Qt5 Lizenz nötig ist, worin ich mich auch belesen müsste.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Qt ist immer noch LGPL, das sollte ok gehen. PyQt brauchst du aber eine Lizenz, wenn GPL (ohne L) es nicht tut.
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Also brauche ich nur eine PyQt5 Lizenz für die kommerzielle Verbreitung? :3
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ja.
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Oder was findest du, ist es sinnvoller die 480€ zu sparen und dafür mit C# / C++ weiter zu machen oder lieber das Geld zahlen, aber dafür mit meinem Pythonwissen weitermachen (habe zwar nicht so viel, aber auch nicht wenig) können?

Außerdem wie sieht's mit der Sicherheit des Programms aus, wenn das Programm erst ein Login vornimmt (via Http Anfrage)?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

C#? Mit Qt? Oder Windows GUI Zeug?

C++ ist ein SEHR anders Biest als Python und C#. Das lernt man nicht mal eben so. Würde ich mir gut überlegen. Aber am Ende kannst nur du entscheiden, was dir mehr wert ist - monatelang lernen oder 480€.

Und die letzte Frage verstehe ich nicht.
Sirius3
User
Beiträge: 18264
Registriert: Sonntag 21. Oktober 2012, 17:20

Was meinst Du mit Sicherheit? Dass jemand Deinen Updatemechanismus misbraucht, um dem User Malware unterzuschieben? Dafür solltest Du Deine Updates signieren und nur mit per HTTPs kommunizieren. Umgekehrt, weiß ich nicht, welche Software auf Deinem Server läuft, also kann man auch nichts sagen, wie man die dann absichern müßte.
Außerdem ist es doch kein Problem Deine Update-GUI als GNU zu veröffentlichen, da sollte ja nicht viel geheimes drin stecken.
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Meine bezüglich Cracken. Was hacking angeht bin ich neu bzw habe mich da noch garnicht belesen.
Könnte man mein Programm hacken?
(beim Start wird ein Login erfordert, Daten werden an eine https Seite gesendet, wenn einloggen erfolgreich war und auf andere https Seite key vorhanden ist, dann erscheint eine neue GUI)
Beim Decompilieren (da Prog in exe) könne man doch so momentan kinderleicht (bezüglich Scriptkiddies) Cracken (Sourcecode verändern und so den Login umgehen)?

Der Quellcode enthält ein Passwort für eine HTTPS Seite, außerdem verkaufe ich ja den Inhalt, der geupdatet werden soll, es soll ja also nicht jeder die Datei griegen können (wenn Quellcode irgendwo geleaked wird bzw Login Mechanismen entfernt wird).
Benutzeravatar
__blackjack__
User
Beiträge: 14028
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@xXSkyWalkerXx1: Ein Passwort in Deinem Programm wirst Du nicht wirklich schützen können wenn sich dafür jemand interessiert. Das ist also per se schon mal unsicher.
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
Benutzeravatar
kbr
User
Beiträge: 1506
Registriert: Mittwoch 15. Oktober 2008, 09:27

xXSkyWalkerXx1 hat geschrieben: Dienstag 8. Januar 2019, 21:58Der Quellcode enthält ein Passwort für eine HTTPS Seite ...
Schlechte Idee. Dann kannst Du das Passwort auch direkt öffentlich bekannt geben.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wieso speicherst du ein Passwort im Quelltext? Der USER muss sein Passwort angeben, und bekommt dann vom HTTP-Server das ausgelieferte Programm für seinen Cronus MAX.

Und zum Ausspähen dieses Passworts reicht im Zweifel auch ein Netzwerk-Sniffer. HTTPS ist ein bisschen komplizierter zu umgehen als reines HTTP, aber da der User auf seinem eignen Rechner beliebige Proxies die transparent die Daten abgreifen, muss man da eh nix dekomplilieren etc.

https://www.telerik.com/fiddler/web-traffic-recording
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Tut mir leid, hätte dazu schreiben sollen, dass das eingespeicherte Passwort ein Extrapasswort ist, um auf eine Seite kommen zu können, wo drr Skript ist.
Sprich, du loggst dich ein, wenn erfolgreich, wird versucht sich in eine Passwort geschützte Seite einzuloggen.

Was wäre 'ne Alternative zum eingespeicherten Passwort einer Seite?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das macht keinen Sinn, mehr als einen Login zu haben.
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Wieso?
Wenn der Benutzer einen Button klickt, loggt er sich ein, war dies erfolgreich wird sofort Zugriff auf eine https Seite versucht, um die Benutzerliste zu checken, da nur Benutzer die darin stehen Zugang zum Programm haben.
ALL DAS geschieht nachdem der Button gedrückt wurde, vorher hat der Benutzer noch keinen Zugang zur GUI, wo er nach einem Update checken kann.
Antworten