Seite 1 von 2

py2exe, faq. quellcode schützen?

Verfasst: Sonntag 21. September 2008, 18:46
von arghargh
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?

Re: py2exe, faq. quellcode schützen?

Verfasst: Sonntag 21. September 2008, 18:53
von name
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

Verfasst: Sonntag 21. September 2008, 19:17
von numerix
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.

Re: py2exe, faq. quellcode schützen?

Verfasst: Sonntag 21. September 2008, 19:20
von 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.

Verfasst: Sonntag 21. September 2008, 20:33
von 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

Verfasst: Sonntag 21. September 2008, 20:41
von 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.

Verfasst: Sonntag 21. September 2008, 20:58
von cofi
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.

Verfasst: Sonntag 21. September 2008, 21:04
von 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

Verfasst: Sonntag 21. September 2008, 21:14
von arghargh
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!

Verfasst: Montag 22. September 2008, 08:10
von sea-live
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!

Verfasst: Montag 22. September 2008, 09:08
von veers
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. ;)

Verfasst: Montag 22. September 2008, 12:14
von Hyperion
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 :-)

Verfasst: Montag 22. September 2008, 12:21
von Leonidas
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.

Verfasst: Montag 22. September 2008, 13:06
von jens
Zum Thema compiler: [wiki]FAQ#IchWillAberUnbedingtEinenCompiler[/wiki]

Verfasst: Montag 22. September 2008, 13:49
von arghargh
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

Verfasst: Montag 22. September 2008, 17:26
von draci
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

Verfasst: Montag 22. September 2008, 17:48
von 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.

Verfasst: Montag 22. September 2008, 17:50
von Leonidas
lunar hat geschrieben:Das Programm an sich ist deswegen aber trotzdem nicht patentiert.
Ist auch besser dass es so bleibt.

Verfasst: Montag 22. September 2008, 18:07
von name
Leonidas hat geschrieben:
lunar hat geschrieben:Das Programm an sich ist deswegen aber trotzdem nicht patentiert.
Ist auch besser dass es so bleibt.
ACK

Verfasst: Montag 22. September 2008, 18:18
von 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. :-(