kommerz. Progr. als Demo anbieten - Welche Möglichk. gibt es

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6999
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

kommerz. Progr. als Demo anbieten - Welche Möglichk. gibt es

Beitrag von STARGÅTE »

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!
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
Benutzeravatar
Sicro
Beiträge: 955
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: kommerz. Progr. als Demo anbieten - Welche Möglichk. gib

Beitrag von Sicro »

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
Die Idee die ich hätte wäre:
In der Demo einfach weniger "hinein" zu kompilieren, zB. keine Speicher- und Ladefunktion zu kompilieren.
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.
Bild
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
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Re: kommerz. Progr. als Demo anbieten - Welche Möglichk. gib

Beitrag von PMV »

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. :mrgreen:


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. :D

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: kommerz. Progr. als Demo anbieten - Welche Möglichk. gib

Beitrag von Danilo »

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.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Velox
Beiträge: 39
Registriert: 18.09.2011 18:02

Re: kommerz. Progr. als Demo anbieten - Welche Möglichk. gib

Beitrag von Velox »

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
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6999
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: kommerz. Progr. als Demo anbieten - Welche Möglichk. gib

Beitrag von STARGÅTE »

@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.
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
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Re: kommerz. Progr. als Demo anbieten - Welche Möglichk. gib

Beitrag von AND51 »

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).
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6999
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: kommerz. Progr. als Demo anbieten - Welche Möglichk. gib

Beitrag von STARGÅTE »

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.
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
marco2007
Beiträge: 906
Registriert: 26.10.2006 13:19
Kontaktdaten:

Re: kommerz. Progr. als Demo anbieten - Welche Möglichk. gib

Beitrag von marco2007 »

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.
Windows 11 - PB 6.03 x64
_________________________________
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Re: kommerz. Progr. als Demo anbieten - Welche Möglichk. gib

Beitrag von Thorium »

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.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Antworten