kommerz. Progr. als Demo anbieten - Welche Möglichk. gibt es
kommerz. Progr. als Demo anbieten - Welche Möglichk. gibt es
Sry für die etwas misslungene Überschrift, aber nur so hat alles gepasst.
Ich spiele gerade mit dem Gedanken ein Programm auch kommerziell zu vertreiben.
Um trotzdem Werbung für das programm zu machen, möchte ich eine Demo-Version anbieten.
Die Frage die sich mir nun stellt ist:
Welche Möglichkeiten habe ich, dass Programm nur als Demo "abzuspecken".
Ein Verfahren wäre ja: Begrenzte Nutzbarkeit, sowohl in Zeit als auch Inhalt.
Das problem was ich jedoch sehe ist, dass mal solch ein Schutz,
nach dem Motto "Laufzeit > 30min : Beenden", leicht unterwanden kann (hacken).
Die Idee die ich hätte wäre:
In der Demo einfach weniger "hinein" zu kompilieren, zB. keine Speicher- und Ladefunktion zu kompilieren.
Da es ja dann garnicht erst im Program enthalten ist, kann man es wohl kaum hineinhacken oder ?
Habt ihr noch eine andere Möglichkeit als Idee?
Hinweis: Das andere auf illegale Weise die kommerziell Version im Internet veröffendlich könnten, soll hier mal nicht Thema sein!
Ich spiele gerade mit dem Gedanken ein Programm auch kommerziell zu vertreiben.
Um trotzdem Werbung für das programm zu machen, möchte ich eine Demo-Version anbieten.
Die Frage die sich mir nun stellt ist:
Welche Möglichkeiten habe ich, dass Programm nur als Demo "abzuspecken".
Ein Verfahren wäre ja: Begrenzte Nutzbarkeit, sowohl in Zeit als auch Inhalt.
Das problem was ich jedoch sehe ist, dass mal solch ein Schutz,
nach dem Motto "Laufzeit > 30min : Beenden", leicht unterwanden kann (hacken).
Die Idee die ich hätte wäre:
In der Demo einfach weniger "hinein" zu kompilieren, zB. keine Speicher- und Ladefunktion zu kompilieren.
Da es ja dann garnicht erst im Program enthalten ist, kann man es wohl kaum hineinhacken oder ?
Habt ihr noch eine andere Möglichkeit als Idee?
Hinweis: Das andere auf illegale Weise die kommerziell Version im Internet veröffendlich könnten, soll hier mal nicht Thema sein!
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: kommerz. Progr. als Demo anbieten - Welche Möglichk. gib
Habe die folgende Website jetzt nicht komplett durchgelesen, sondern nur schnell überflogen, aber hier wird dein Thema besprochen.
http://www.buha.info/board/showthread.php?t=55550
http://www.buha.info/board/showthread.php?t=55550
Aus meiner Sicht wäre das das sinnvollste. Bei der Vollversion zusätzlich noch einen Unterschrift-Hash bzw. persönliche Daten des Käufers verschlüsselt in die Programmdatei integrieren und dies auch dem Käufer mitteilen. So wird der Käufer schon mal abgeschreckt das Programm in eine Tauschbörse zu setzen oder auf eine andere Art zu verteilen.Die Idee die ich hätte wäre:
In der Demo einfach weniger "hinein" zu kompilieren, zB. keine Speicher- und Ladefunktion zu kompilieren.
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Re: kommerz. Progr. als Demo anbieten - Welche Möglichk. gib
Es kommt auf die Zielgruppe und Einsatzzweck an. Manchmal lohnt
eine Verstümmelung nicht, da macht dann nur Zeitbegrenzung Sinn.
Viel mehr Möglichkeiten hast du für eine Demo auch tatsächlich
nicht. Es gibt sicher Sonderfälle, wo es noch spezielle Alternativen gibt,
aber Zeit oder Umfang sind die einzigen klassischen Demo-Varianten.
Zeit kann in der tat immer irgend wie geknackt werden, der Anreiz
muss nur groß genug sein. Wenn das Programm also richtig beliebt wird,
dann ist die Wahrscheinlichkeit auch groß, dass es geknackt wird.
Maßnahmen dagegen brauchen zudem viel zusätzliche Zeit (googlen und so)
Du solltest dir gut überlegen, wie du die potentiellen Kunden ködern kannst.
Nicht vorhandene Funktionalität in ein Programm injizieren ist sehr viel Aufwand.
Die Mühe wird sich kaum jemand machen, es sei denn, es hat jemand
Langeweile, die VV gekauft ... und fängt an die Funktionen der VV in die Demo
zu schieben. In wie weit das allerdings tatsächlich möglich ist, kommt sicher
auch wieder auf irgend was an, wovon ich aber keine Ahnung hab.
Ich für meinen Teil hab z.B. vor eine freie Version zur Verfügung zu stellen.
Diese heißt nicht mal "Demo" sondern wird ein eigenständiges Produkt.
So gibt es eine Version, wo sich die Leute drauf stürzen können und die,
die mehr wollen ... können dann zuschlagen.
MFG PMV
eine Verstümmelung nicht, da macht dann nur Zeitbegrenzung Sinn.
Viel mehr Möglichkeiten hast du für eine Demo auch tatsächlich
nicht. Es gibt sicher Sonderfälle, wo es noch spezielle Alternativen gibt,
aber Zeit oder Umfang sind die einzigen klassischen Demo-Varianten.
Zeit kann in der tat immer irgend wie geknackt werden, der Anreiz
muss nur groß genug sein. Wenn das Programm also richtig beliebt wird,
dann ist die Wahrscheinlichkeit auch groß, dass es geknackt wird.
Maßnahmen dagegen brauchen zudem viel zusätzliche Zeit (googlen und so)
Du solltest dir gut überlegen, wie du die potentiellen Kunden ködern kannst.
Nicht vorhandene Funktionalität in ein Programm injizieren ist sehr viel Aufwand.
Die Mühe wird sich kaum jemand machen, es sei denn, es hat jemand
Langeweile, die VV gekauft ... und fängt an die Funktionen der VV in die Demo
zu schieben. In wie weit das allerdings tatsächlich möglich ist, kommt sicher
auch wieder auf irgend was an, wovon ich aber keine Ahnung hab.
Ich für meinen Teil hab z.B. vor eine freie Version zur Verfügung zu stellen.
Diese heißt nicht mal "Demo" sondern wird ein eigenständiges Produkt.
So gibt es eine Version, wo sich die Leute drauf stürzen können und die,
die mehr wollen ... können dann zuschlagen.
MFG PMV
Re: kommerz. Progr. als Demo anbieten - Welche Möglichk. gib
Sehe ich auch so, kommt darauf an was Dein Programm macht.
Die Speicherfunktion nicht mit einkompilieren ist üblich und gut, wenn
man mit dem Programm Daten erstellen oder bearbeiten kann.
Ist leicht gemacht mit einem CompilerIf. Entweder das Menu ganz raus-
nehmen/disablen, oder beim Menü 'Speichern' (und evtl. bei ein paar anderen Menüs)
eine MessageBox anzeigen "In der Demo nicht enthalten".
Je nach Programmtyp sollte der User aber komplett damit arbeiten können
um alles zu testen, aber dann kann er es halt nicht speichern.
Auf jeden Fall die Funktion komplett rauslassen, nicht durch die Eingabe
einer Seriennummer freischalten.
Die Speicherfunktion nicht mit einkompilieren ist üblich und gut, wenn
man mit dem Programm Daten erstellen oder bearbeiten kann.
Ist leicht gemacht mit einem CompilerIf. Entweder das Menu ganz raus-
nehmen/disablen, oder beim Menü 'Speichern' (und evtl. bei ein paar anderen Menüs)
eine MessageBox anzeigen "In der Demo nicht enthalten".
Je nach Programmtyp sollte der User aber komplett damit arbeiten können
um alles zu testen, aber dann kann er es halt nicht speichern.
Auf jeden Fall die Funktion komplett rauslassen, nicht durch die Eingabe
einer Seriennummer freischalten.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Re: kommerz. Progr. als Demo anbieten - Welche Möglichk. gib
Wie wäre es beim ersten benutzen eine Hardware-Prüfsumme zu speichern?
Denke da an die Vorgehensweise wie Microsoft das mit Windows XP gemacht hat.
Maximal 3 Hardware-Teile konnte man entfernen bevor Windows XP nach einer erneuten Aktivierung gebeten hat.
Sollte für Programme doch das gleiche sein, oder irre ich mich da?
Denke mal das mit der Prüfsumme würde dann in die Exe am Ende gespeichert oder irgendwo anders
Denke da an die Vorgehensweise wie Microsoft das mit Windows XP gemacht hat.
Maximal 3 Hardware-Teile konnte man entfernen bevor Windows XP nach einer erneuten Aktivierung gebeten hat.
Sollte für Programme doch das gleiche sein, oder irre ich mich da?
Denke mal das mit der Prüfsumme würde dann in die Exe am Ende gespeichert oder irgendwo anders
Re: kommerz. Progr. als Demo anbieten - Welche Möglichk. gib
@Velox:
Das gleitet ja nun doch in das Thema: "Wie schütze ich die Vollversion ab",
deswegen möchte ich darauf nicht weiter eingehen.
Mir geht es ja erst mal darum, eine Demo anzubieten, ohne das die Vollversion überhaupt in dem Umlauf kommt.
Die Idee, in der Demo einfach etwas nicht mit zu kompilieren,
scheint mir (ohne scheinbar anderen auch) immer noch am effektivsten und einfachsten.
Um mit der Demo aber trotzdem Beispiel zu laden (zum angucken und rumspielen) werde ich vermutlich nur das Speicher nicht mit einkompilieren.
Das gleitet ja nun doch in das Thema: "Wie schütze ich die Vollversion ab",
deswegen möchte ich darauf nicht weiter eingehen.
Mir geht es ja erst mal darum, eine Demo anzubieten, ohne das die Vollversion überhaupt in dem Umlauf kommt.
Die Idee, in der Demo einfach etwas nicht mit zu kompilieren,
scheint mir (ohne scheinbar anderen auch) immer noch am effektivsten und einfachsten.
Um mit der Demo aber trotzdem Beispiel zu laden (zum angucken und rumspielen) werde ich vermutlich nur das Speicher nicht mit einkompilieren.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: kommerz. Progr. als Demo anbieten - Welche Möglichk. gib
Hallo,
1. Also ich würde die Demoversion, wie du schon erwähnt hast, in abgespeckter Form anbieten. Einfach weniger Funktionen. Dafür bietet sich eine Konstante #DEMO=1 an und betreffende Codeteile kannst du bequem mit CompilerIf hinzu- oder wegschalten.
2. Zeitbegrenzungen sind meiner Meinung nach nicht sehr sinnvoll. Selbst, wenn du dich durch Zurückstellen der Systemzeit nicht austricksen lässt, muss dein Programm irgendwo dauerhaft abspeichern, wie lange es lief. Egal ob in eine Datei oder in die Registry, dieser Eintrag kann und wird gefunden werden. Und wenn alle Stricke reißen, führt man dein Programm in einer virtuellen Maschine aus.
3. Eine weitere Variante wäre die Hardware-Prüfsummen-Methode. Du verbindest dich beim Programmstart zuerst zu deinem Server, übermittelst irgendeine Art von ID, die den Rechner eindeutig identifiziert (das kann anonymisiert geschehen, so dass keine persönlichen Daten übermittelt werden, sonst meckern alle nur). Auf deinem Server hast du eine Datenbank, die mitzählt, wie oft ein Programm schon gestartet wurde. Nur wenn der Server ein OK gibt (weil Limit noch nicht erreicht) startet dein Programm. Das heißt aber auch, dass ein Internet-Anschluss vorausgesetzt wird, um dein Programm zu betreiben. Das ist meist kein Problem, aber sicherlich gibt es auch hier Gegner.
4. Dann gibt es noch die Möglichkeit, zusätzliche Barrieren einzubauen. Hierbei ist dein Programm voll funktionsfähig, allerdings können bestimmte Aktionen nicht mit voller Funktionalität durchgeführt werden. Beispielsweise hatte ich mal ein MP3-Konverter, der mich immer nur 5 Songs pro Durchlauf auf einmal konvertieren ließ. An sich war das Programm aber voll funktionsfähig. Die Vollversion hat solche Barrieren/Begrenzungen nicht. Der Trick ist, dem Kunden zwar eine gute Demo an die Hand zu geben, aber durch diese "nervigen" Einschränkungen zum Kauf und damit zur "Freischaltung" deiner Software zu bewegen. Zusätzlich könnten Werbebanner oder nur in der Vollversion abschaltbare Nachrichten eingebaut werden. MemTest beispielsweise öffnet beim Start einen MessageRequester() mit einer Kurzanleitung zum Programm; es steht auch dort, dass diese Nachricht in der Pro-Version deaktiviert werden kann.
Ich persönlich würde Variante 1 und 4 bevorzugen (du kannst ja auch mehrere Varianten kombinieren), da sie mir am besten gefallen. Nr. 4 kommt dabei der Definition einer "Demoversion" meiner Meinung nach am nächsten, weil ich bei besagtem MP3-Konverter auch den Batch-Modus testen konnte (auch wenn es nur 5 Songs gleichzeitig waren). Die PB-Demo nutzt auch eine Kombination aus Nr. 1 (Debugger fest integriert und nicht deaktivierbar) und Nr. 4 (maximal 800 Codezeilen).
1. Also ich würde die Demoversion, wie du schon erwähnt hast, in abgespeckter Form anbieten. Einfach weniger Funktionen. Dafür bietet sich eine Konstante #DEMO=1 an und betreffende Codeteile kannst du bequem mit CompilerIf hinzu- oder wegschalten.
2. Zeitbegrenzungen sind meiner Meinung nach nicht sehr sinnvoll. Selbst, wenn du dich durch Zurückstellen der Systemzeit nicht austricksen lässt, muss dein Programm irgendwo dauerhaft abspeichern, wie lange es lief. Egal ob in eine Datei oder in die Registry, dieser Eintrag kann und wird gefunden werden. Und wenn alle Stricke reißen, führt man dein Programm in einer virtuellen Maschine aus.
3. Eine weitere Variante wäre die Hardware-Prüfsummen-Methode. Du verbindest dich beim Programmstart zuerst zu deinem Server, übermittelst irgendeine Art von ID, die den Rechner eindeutig identifiziert (das kann anonymisiert geschehen, so dass keine persönlichen Daten übermittelt werden, sonst meckern alle nur). Auf deinem Server hast du eine Datenbank, die mitzählt, wie oft ein Programm schon gestartet wurde. Nur wenn der Server ein OK gibt (weil Limit noch nicht erreicht) startet dein Programm. Das heißt aber auch, dass ein Internet-Anschluss vorausgesetzt wird, um dein Programm zu betreiben. Das ist meist kein Problem, aber sicherlich gibt es auch hier Gegner.
4. Dann gibt es noch die Möglichkeit, zusätzliche Barrieren einzubauen. Hierbei ist dein Programm voll funktionsfähig, allerdings können bestimmte Aktionen nicht mit voller Funktionalität durchgeführt werden. Beispielsweise hatte ich mal ein MP3-Konverter, der mich immer nur 5 Songs pro Durchlauf auf einmal konvertieren ließ. An sich war das Programm aber voll funktionsfähig. Die Vollversion hat solche Barrieren/Begrenzungen nicht. Der Trick ist, dem Kunden zwar eine gute Demo an die Hand zu geben, aber durch diese "nervigen" Einschränkungen zum Kauf und damit zur "Freischaltung" deiner Software zu bewegen. Zusätzlich könnten Werbebanner oder nur in der Vollversion abschaltbare Nachrichten eingebaut werden. MemTest beispielsweise öffnet beim Start einen MessageRequester() mit einer Kurzanleitung zum Programm; es steht auch dort, dass diese Nachricht in der Pro-Version deaktiviert werden kann.
Ich persönlich würde Variante 1 und 4 bevorzugen (du kannst ja auch mehrere Varianten kombinieren), da sie mir am besten gefallen. Nr. 4 kommt dabei der Definition einer "Demoversion" meiner Meinung nach am nächsten, weil ich bei besagtem MP3-Konverter auch den Batch-Modus testen konnte (auch wenn es nur 5 Songs gleichzeitig waren). Die PB-Demo nutzt auch eine Kombination aus Nr. 1 (Debugger fest integriert und nicht deaktivierbar) und Nr. 4 (maximal 800 Codezeilen).
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Re: kommerz. Progr. als Demo anbieten - Welche Möglichk. gib
Ich selbst würde die Variante 4 auch am besten finden.
Bei einem Vektor-Grafik-Programm (nur ein Beispiel) z.B. nur maximal 20 Elemente zulassen.
Aber gerade solche Grenzwerte lassen sich doch leicht aushebeln oder?
Ich bin kein Häcker, aber wenn man weiß wonach man suchen soll, dann findet man doch bestimmt diese Abfrage oder?
Klar hier kann man noch Sicherheiten einbauen, sodass zB die Zahl 20, die vllt durch häcken verändert wird, irgendwo anders abfragen und dann an einer anderen Stelle einen Fehler melden usw.
Aber ich glaube (wie jemand hier im Forum schon mal schrieb, sry weiß nicht mehr wer), dass man nicht zu viel Zeit in solche Sachen investieren sollte, sonden sich lieber erst mal voll auf das programm selbst konzentrieren sollte.
Danke schon mal für all eure Meinungen.
Bei einem Vektor-Grafik-Programm (nur ein Beispiel) z.B. nur maximal 20 Elemente zulassen.
Aber gerade solche Grenzwerte lassen sich doch leicht aushebeln oder?
Ich bin kein Häcker, aber wenn man weiß wonach man suchen soll, dann findet man doch bestimmt diese Abfrage oder?
Klar hier kann man noch Sicherheiten einbauen, sodass zB die Zahl 20, die vllt durch häcken verändert wird, irgendwo anders abfragen und dann an einer anderen Stelle einen Fehler melden usw.
Aber ich glaube (wie jemand hier im Forum schon mal schrieb, sry weiß nicht mehr wer), dass man nicht zu viel Zeit in solche Sachen investieren sollte, sonden sich lieber erst mal voll auf das programm selbst konzentrieren sollte.
Danke schon mal für all eure Meinungen.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: kommerz. Progr. als Demo anbieten - Welche Möglichk. gib
Ich würde sogar 2 Demo-Versionen (beide abgespeckt, jedoch verschieden abgespeckt) in den Verkehr bringen:
Eine, die "schwer" zu hacken ist (mit z.B. nur 20% Umfang) und eine, die sich leicht hacken läßt (mit z.B. 40% Umfang) -> zwecks Werbung.
Eine, die "schwer" zu hacken ist (mit z.B. nur 20% Umfang) und eine, die sich leicht hacken läßt (mit z.B. 40% Umfang) -> zwecks Werbung.
Windows 11 - PB 6.03 x64
_________________________________
_________________________________
Re: kommerz. Progr. als Demo anbieten - Welche Möglichk. gib
Zeitbegrenzung ist blöd, die kann jeder austricksen. z.B. einfach in ner VM installieren und sich ein Backup der VM machen. Ist die Zeit abgelaufen stellt man das Backup wieder her, kann jeder Idiot machen.
Wenn möglich wäre das rauslassen der Speicherfunktion von der Sicherheitsseite das beste. Wäre wahnsinnig viel Aufwand da wieder eine reinzubauen, das macht keiner.
Nur drauf achten das auch die komplette Speicherfunktion nicht reinkompiliert wird, nicht nur den Menüpunkt weglassen, der lässt sich nämlich recht einfach wieder einbauen.
Wenn möglich wäre das rauslassen der Speicherfunktion von der Sicherheitsseite das beste. Wäre wahnsinnig viel Aufwand da wieder eine reinzubauen, das macht keiner.
Nur drauf achten das auch die komplette Speicherfunktion nicht reinkompiliert wird, nicht nur den Menüpunkt weglassen, der lässt sich nämlich recht einfach wieder einbauen.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!