py2exe, faq. quellcode schützen?

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.
arghargh
User
Beiträge: 81
Registriert: Donnerstag 4. September 2008, 22:26

Hi, weder in "python ge-packt" noch auf der py2exe Homepage finde ich auf anhieb Informationen zum Thema Quellcodeschutz. Wahrscheinlich suche ich an den falschen Stellen.

Wenn py2exe die __main__ zur exe "wandelt", sind dann alle abhängigen module in der zip-datei? Wie sicher ist das vor reverse engineering?
Benutzeravatar
name
User
Beiträge: 254
Registriert: Dienstag 5. September 2006, 16:35
Wohnort: Wien
Kontaktdaten:

arghargh hat geschrieben:Hi, weder in "python ge-packt" noch auf der py2exe Homepage finde ich auf anhieb Informationen zum Thema Quellcodeschutz. Wahrscheinlich suche ich an den falschen Stellen.

Wenn py2exe die __main__ zur exe "wandelt", sind dann alle abhängigen module in der zip-datei? Wie sicher ist das vor reverse engineering?
Ist unmoeglich, und glaubst du echt dein Quellcode ist so toll das ihn keiner sehen darf? Java hat man z.B. auch eher einfach reverse-engineered. Ich nehme mal an das der da entweder die py oder die pyc reingibt, wobei mal mit pycs auch was anfangen kann, nur nicht so einfach
Ohloh | Mein Blog | Jabber: segfaulthunter@swissjabber.eu | asynchia – asynchrone Netzwerkbibliothek

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Zu dem Thema gibt es schon mehrere längere Threads hier im Forum.
Such doch mal danach - da dürfte kaum ein Aspekt unbeantwortet bleiben.
lunar

arghargh hat geschrieben:Wenn py2exe die __main__ zur exe "wandelt", sind dann alle abhängigen module in der zip-datei?
Ja.
Wie sicher ist das vor reverse engineering?
Gar nicht. py2exe packt .pyc Dateien und füttert diese an den eingebetteten Interpreter. py2exe kompiliert die Python-Bytecodedateien nicht in Binärcode.

Wenn du Reverse Engineering verhindern möchtest, dann bleiben dir nur sehr aufwendige Wege wie das Bauen eines angepassten Interpreters, der verschlüsselte Bytecode-Dateien ausführt.
abgdf

glaubst du echt dein Quellcode ist so toll das ihn keiner sehen darf?
Ja :P ! Seit ein paar Monaten sitz' ich an 'nem Programm, das man verkaufen könnte (bisher ca. 3.100 Zeilen Python-Code, es gibt AFAIK 2 Konkurrenzprodukte, die aber bei 350,- EUR Kaufpreis anfangen).

Gibt es also eine (sagen wir mal 80% sichere) Schutzlösung (ja oder nein genügt mir als Antwort) ?

Viele Grüße
lunar

abgdf hat geschrieben:Gibt es also eine (sagen wir mal 80% sichere) Schutzlösung (ja oder nein genügt mir als Antwort) ?
Die habe ich dir genannt. Wenn es dir um den Schutz deines "geistigen Eigentums" geht ... dafür gibt es das Gesetz.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

lunar hat geschrieben:... dafür gibt es das Gesetz.
Und entsprechende Lizenzen. Dein Code fällt unter Urheberrecht und ist somit geschützt, dass das allerdings nicht vor Raubkopien schützt dürfte bekannt sein.

Du könntest als "besonderen Service" den Quellcode mitliefern (;)) aber eben unter der Auflage, dass er nicht weitergegeben werden darf, so als Alleinstellungsmerkmal ;)

Ausserdem ist spätestens auf Disassembler-Ebene Schluss mit Geheimhaltung.

Du siehst -hoffentlich: Der wirksamste Kopierschutz ist nicht technisch ;) Das sollte übrigens auch die Erfahrung zeigen :)

P.S. Wenn du deine Software kommerziell verwerten willst, dann solltest du erstmal einen Blick auf die Lizenzen verwendeter Bibliotheken werfen, damit du siehst was du überhaupt damit machen darfst.
abgdf

Ok, danke.

Bei rechtlichem Schutz könnte ein Problem sein, daß man nachweisen müßte, das man den Code vor demjenigen hatte, der später - wahrheitswidrig - behauptet, ER habe ihn geschrieben. Mittel wahrscheinlich hier: Hinterlegung des Codes mit Poststempel bei einer vertrauenswürdigen Stelle (z.B. Anwalt). Gegen Verletzungen des Urheberrechts vorzugehen, dürfte im übrigen nicht billig werden. Praktisch aussichtslos wird es bei Verletzungen im fernen Ausland ...
Wenn du deine Software kommerziell verwerten willst, dann solltest du erstmal einen Blick auf die Lizenzen verwendeter Bibliotheken werfen, damit du siehst was du überhaupt damit machen darfst.
Stimmt ! Deshalb verwende ich immer so wenig Module wie möglich (was hier manchmal einige nicht so recht verstehen.)
Ein Problem habe ich auch mit ActivePython: Darf ich Teile davon mit py2exe oder pyinstaller weitergeben oder muß ich Kunden darauf verweisen, es im Ganzen herunterzuladen ? Dürfte ich ActivePython auf einer CD mitgeben ? Ein Problem ist auch

http://www.s-a-ve.com/faq/Gewerbeanmeldung.txt

und die IHK.

Fragen über Fragen. Fängt schon wieder an, sich nicht mehr zu lohnen :(, weswegen ich auch zur Zeit etwas hänge ...

Viele Grüße
arghargh
User
Beiträge: 81
Registriert: Donnerstag 4. September 2008, 22:26

Ey, das ist Threadnapping!

Nein, mein Programm ist nichts besonderes. Es ist auch gut möglich, dass ich das Programm mal online stelle, viele werden es sowieso nicht gebrauchen können.

Ich wollte mich nur mal informieren, was die Möglichkeiten sind, und hätte die Antwort eigentlich auf der py2exe FAQ erwartet.

Danke für die Beiträge!
sea-live
User
Beiträge: 440
Registriert: Montag 18. Februar 2008, 12:24
Wohnort: RP

Wo es open source programmiersprachen gibt
Gibt es Zwangsläufih auch "Kunden" die nach fertigern kostenlosen teilen suchen die ihren bedürfnissen gerecht werden
Legal oder halblegal!

gib mal einen Themen hinweis(Gesundheit,Börse,Game) damit man ungefähr den Grad des
Angriff interesses der Gemeinde abschätzen kann!
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

abgdf hat geschrieben: Gibt es also eine (sagen wir mal 80% sichere) Schutzlösung (ja oder nein genügt mir als Antwort) ?
Eine Lösung die 80% der Personen davon abhält das zu Cracken, ja - das erreichst du auch wenn du den Quellcode mitlieferst. Die 80% die du abhalten kannst sind die 80% die nicht programmieren können. Jedoch wird eine Person in den Verbleibenden 20% einen Crack schreiben und den dann 80% der Personen verwenden können ;)
abgdf hat geschrieben:Stimmt ! Deshalb verwende ich immer so wenig Module wie möglich (was hier manchmal einige nicht so recht verstehen.)
Überleg dir mal folgendes: Wie viel Zeit hast du alleine schon deshalb verloren? Wäre es nicht vielleicht intelligenter das ganze als Opensource zu veröffentlichen, damit eine um ein vielfaches grössere Audienz zu haben und dein Geld mit: Spenden, Werbung auf der Seite und speziellen Dienstleistungen (customizing) zu machen? Dann brauchst du keinen Anwalt, keine Quellcode zu verstecken, keine Angst vor Chinesen zu haben. Hilft übrigens auch dabei nette Stellen in Firmen zu bekommen. ;)
sea-live hat geschrieben:Angriff interesses der Gemeinde abschätzen kann!
Angriff! Auf Imaginäres Eigentum! Terror! Krieg! :roll:

Such dir ein Geschäftsmodell das nicht darauf basiert deine Software zu verstecken.
abgdf hat geschrieben:Praktisch aussichtslos wird es bei Verletzungen im fernen Ausland ...
Tragisch, die vielen Kunden die du in China verlieren wirst. ;)
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Die Frage ist doch auch: Vor wem genau hast Du denn "Angst"? Vor der bereits existierende Konkurrenz? Sollte Dein Tool ein Erfolg werden, so werden die sich das Ding doch eh angucken. Sofern Du da nicht einen heftigen, grundlegenden Algorithmus entwickelt hast, werden die sicherlich gucken, was an Deinem Tool aus Usability Sicht besser ist - und es ggf. nachimplementieren in ihre Lösungen. Imho ein guter Weg. So hat ein jeder den Ansporn, besser zu werden! Dazu bedarf es nicht unbedingt des Blicks in den Quellcode.

Wer könnte denn sonst noch Interesse haben, Deinen Quellcode zu analysieren? Wohl nur Leute, die das Tool benutzen wollen. Und die haben sich ja gerade zum Kauf einer Lösung entschieden. Also werden sie wohl kaum INteresse haben, das Teil nachzuprogrammieren ;-)

Naja und illegale Kopien per I-Net sind einfach nicht ohne komplexe Infrastruktur einzudämmen. Da würde ich mir mal eher Gedanken machen, bis Du die ersten Exemplare verkauft hast ;-) Kalkuliere mal jetzt liebert noch nicht imaginären Gewinn, der Dir ggf. durch illegales Saugen Deiner Software entsteht. Erfreue Dich lieber später an dem Gewinn :-)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

abgdf hat geschrieben:Gegen Verletzungen des Urheberrechts vorzugehen, dürfte im übrigen nicht billig werden. Praktisch aussichtslos wird es bei Verletzungen im fernen Ausland ...
Ja, aber wenn man Geld mit dem Verkauf der Software selbt verdient, dann sollte das tragbar sein. Wenn nicht, dann solltest du dir ein anderes Vertriebsmodell suchen. Wenn dein Programm ein komerzieller Erfolg wird, dann wird es Cracks geben, egal ob du das Tool nun in Python, in C oder in ATS schreibst. Wirksamen schutz bekommst du am ehesten, wenn du auch die Hardware kontrollierst, d.h. davon ausgehen kannst dass niemand die Daten auf Hardwareebene modifiziert. Das hast du bei PCs aber generell nicht gegeben.
abgdf hat geschrieben:Deshalb verwende ich immer so wenig Module wie möglich (was hier manchmal einige nicht so recht verstehen.)
Ein Problem habe ich auch mit ActivePython
Na du bist ja lustig, erst willst du sowenige Module wie möglich und dann nimmst du ActivePython her, eine Python-Distribution die mehr Module enthält, als das Python.org Python.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Zum Thema compiler: [wiki]FAQ#IchWillAberUnbedingtEinenCompiler[/wiki]

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
arghargh
User
Beiträge: 81
Registriert: Donnerstag 4. September 2008, 22:26

Danke für den Link zur FAQ. Vielleicht sollte die Forensuche auch gleich die FAQ mit einbeziehen.

Jedenfalls habe ich pyinstaller entdeckt und werde es mal ausprobieren.

Kann man mit py2exe Versionsinformationen in die .exe einbauen? Leider habe ich dazu nichts konkretes gefunden. Pyinstaller führt das als Feature auf.

MfG
Benutzeravatar
draci
User
Beiträge: 53
Registriert: Dienstag 26. September 2006, 18:13

arghargh hat geschrieben: Kann man mit py2exe Versionsinformationen in die .exe einbauen? Leider habe ich dazu nichts konkretes gefunden. Pyinstaller führt das als Feature auf.
Geht in Pyinstaller ist aber aufwendig.
Hyperion hat geschrieben: Die Frage ist doch auch: Vor wem genau hast Du denn "Angst"? Vor der bereits existierende Konkurrenz? Sollte Dein Tool ein Erfolg werden, so werden die sich das Ding doch eh angucken. Sofern Du da nicht einen heftigen, grundlegenden Algorithmus entwickelt hast, werden die sicherlich gucken, was an Deinem Tool aus Usability Sicht besser ist - und es ggf. nachimplementieren in ihre Lösungen. Imho ein guter Weg. So hat ein jeder den Ansporn, besser zu werden! Dazu bedarf es nicht unbedingt des Blicks in den Quellcode.
Ich glaube ich hab mal in der C't gelsesen, dass man Algorythmen und Programme patentieren lassen kann, wenn sie z.B. einen Industriellen Ablauf z.B Autofertigung, steuern
Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. - Linus Torvalds

[url]http://groups.google.com/group/pt.comp.so.linux/msg/9eb7db59e32fe08a[/url]

[url=http://www.tty1.net/smart-questions_de.html]Wie man richtig Fragen stellt[/url]
lunar

draci hat geschrieben:
arghargh hat geschrieben: Kann man mit py2exe Versionsinformationen in die .exe einbauen? Leider habe ich dazu nichts konkretes gefunden. Pyinstaller führt das als Feature auf.
Geht in Pyinstaller ist aber aufwendig.
Das wusste draci auch, er hat deswegen ja auch nach py2exe gefragt.
Ich glaube ich hab mal in der C't gelsesen, dass man Algorythmen und Programme patentieren lassen kann, wenn sie z.B. einen Industriellen Ablauf z.B Autofertigung, steuern
Quellcode unterliegt iin Deutschland (noch?) nicht dem Patentschutz. Es ist allerdings möglich, Fertigungsanlagen oder -prozesse zu patentieren, die dann eben bestimmte Computerprogramme mit einschließen. Das Programm an sich ist deswegen aber trotzdem nicht patentiert.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

lunar hat geschrieben:Das Programm an sich ist deswegen aber trotzdem nicht patentiert.
Ist auch besser dass es so bleibt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
name
User
Beiträge: 254
Registriert: Dienstag 5. September 2006, 16:35
Wohnort: Wien
Kontaktdaten:

Leonidas hat geschrieben:
lunar hat geschrieben:Das Programm an sich ist deswegen aber trotzdem nicht patentiert.
Ist auch besser dass es so bleibt.
ACK
Ohloh | Mein Blog | Jabber: segfaulthunter@swissjabber.eu | asynchia – asynchrone Netzwerkbibliothek

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
BlackJack

@Leonidas: In Deiner Formulierung ist mir zuviel Optimismus. Der Satz müsste lauten "Wäre besser, wenn das so bleibt." Ich glaub nicht daran. Das EU-Patentamt erteilt Softwarepatente, obwohl es eigentlich nicht dürfte, die europäischen Patentämter sollen "harmonisiert" werden, und die Lobby für die Softwarepatente hat viel Geld. :-(
Antworten