| Autor |
Beitrag |
DelphiMan
      
Beiträge: 73
|
Verfasst: So 16.02.03 22:32
Hallo zusammen,
DEMO im sinne von, nach 30 tagen muss man passwort eingeben...
wie macht man das am besten?
Danke im Voraus!
MfG
DelphiMan
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: So 16.02.03 22:47
Ohje, das ist ein ganz schwieriges Thema, wie ich feststellen musste. Inzwischen bin ich dazu übergegangen, keine Demo-Versionen zu produzieren, die freischaltbar sind, weil das Risiko einfach zu groß ist, dass jmd einen einfachen Trick anwendet und das Teil ohne Code freischaltet.
Ich machs so, dass ich per bedingter Kompilierung einfach Code-Schnipsel weglasse und andere einfüge, um Funktionen zu beschränken usw.
Denn für die 30-Tage-Version musst Du schon zu einigen Tricks greifen, damit niemand einfach das Datum umstellt oder ne Datei löscht oder so, damits wieder funktioniert.
Gruß
|
|
Jack Falworth
      
Beiträge: 222
Win XP Pro, Slackware 10.0
D5 Enterprise, C++, ABAP
|
Verfasst: So 16.02.03 23:53
Deaktivier doch einfach bestimmte Funktionen in deinem Mainmenü für die Demoversion. Enabled auf false setzen. Einfach aber wirksam. Ohne das Programm zu dekompilieren kann der Benutzer da nichts machen.
So mach ich es immer.
MfG
Jack Falworth
_________________ Andere zu kritisieren ist mitunter eine Möglichkeit, sich selbst ins bessere Licht zu setzen.
|
|
1Stein
      
Beiträge: 30
|
Verfasst: So 16.02.03 23:59
wahnsinn sogar mal was was für mich einfach zu verstehen ist 
_________________ 1Stein wäre nie 1Stein geworden wenn 2Stein nicht gewesen wäre
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mo 17.02.03 01:00
| Jack Falworth hat folgendes geschrieben: | | Deaktivier doch einfach bestimmte Funktionen in deinem Mainmenü für die Demoversion. Enabled auf false setzen. Einfach aber wirksam. Ohne das Programm zu dekompilieren kann der Benutzer da nichts machen. |
Was meinst Du mit Dekompilieren? Einen Debugger benutzen? OK, anders gehts kaum. Aber wenn er einen hat, ist es absolut nicht mehr schwer, das Teil mit Änderung vll. nur eines Bytes zum Laufen zu bringen, besonders dann, wenn die Funktion Shareware oder so ähnlich heißt. Das ist dann binnen weniger Minuten gecrackt.
Aber ehrlich gesagt, halte ich von der Idee nichts. Ich bin der Meinung, eine Demo-Version sollte ihrem Namen schon alle Ehren machen, also das Programm DEMONSTRIEREN. Und genau halte ich es nicht für sinnvoll Programmpunkte zu deaktivieren. Den meistens muss dann schon Sachen deaktiveren, die das Potential des Programms ausmachen. Und wenn man die net testen kann, was bringt einem dann die Demo?
|
|
Popov
Gast
Erhaltene Danke: 1
|
Verfasst: Mo 17.02.03 01:52
Ich werde in einigen Tagen ein Programm vorstellen mit dem man auch deaktivierte Objekte aktivieren kann. Ist also auch kein Schutz.
|
|
KeinePanik
      
Beiträge: 131
|
Verfasst: Mo 17.02.03 06:14
| Popov hat folgendes geschrieben: | | ... Tagen ein Programm vorstellen mit dem man auch deaktivierte Objekte aktivieren kann ... |
Was aber, wenn die Objekte erst gar nicht vorhanden sind ... !?!?
hmmm ... ich sag ja immer löschen ist leichter als schreiben ... so könnte man in ner DEMO-Version einfach nen paar Sachen rausnehmen (Objekte z.B.) ... und/oder die Funktion zum Speichern (sofern vorhanden) ... indem man das tut ist die Funktionalität des Programms zwar gegeben aber man kann das "Resultat" nich speichern ... die Frage ist also nun, kreiert dein Programm irgendwas, dass abgespeichert wird !?!?
Sehr einfaches Beispiel : Wenn dein Programm nen HTML-Code ausgeben soll(te) dann solltest du die DEMO eben so verändern, dass es eben keine Option "HTML-Code ausgegeben" gibt ... ... (nur mal als BSP. ) ...
_________________ Es gibt keine dummen Fragen ... Nur blöde Antworten !!!
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 17.02.03 08:45
UGrohne hat´s doch geschrieben: bedingte Kompilierung. Das halte ich auch für den besten Weg. Dann gibt´s nämlich NICHTS, was man per Crack freischalten könnte. Beispiel:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure TForm1.MenuItem1Click(Sender: TObject); begin {$IFDEF DEMOVERSION} MessageBox(self.Handle, 'Diese Funktion gibt es nur in der Vollversion', 'Mein Programm', MB_OK or MB_ICONINFORMATION); {$ELSE} MachDies; MachDas; MachJenes; Mach2; {$ENDIF} end; |
Du entscheidest durch den Compilerschalter, wie letztlich das Programm aufgebaut ist.
Bei deaktivierten Menüs findet sich garantiert einer, der ein Programm schreibt, mit dem sich die deaktivierten Einträge wieder aktivieren lassen. Außerdem gibt´s solche Dinger, und -besonders heuchlerisch!- manche wurden sogar als nützliche Tools in PC-Zeitschriften vorgestellt. 
|
|
Klabautermann
      

Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: Mo 17.02.03 09:59
Hallo,
auch hier empfehle ich den Iteressierten mal den Text von LaZaRuS zu lesen. Dor wird unter anderen auch drauf eingegangen wie einfach es ist daektivierte Menüs wieder freizuschalten und ein Programm so zu ändern, das es mit jeden außer dem Richtigen Registrierungscode läuft.
Sicherlich eine Interessante Lektüre wenn man sich mit dem Theme Cracksicherheit auseinandersetzt.
Ich Persönlich würde auch den Vorschlag der Bedingten Compilierung zustimmen. Wenn sich jemand das agnze dann kauft bekommt er eine neue EXE.
Gruß
Klabautermann
|
|
Biarchiv
      
Beiträge: 688
|
Verfasst: Di 18.02.03 15:26
Hallo,
Mit EXEStealth kann man die EXE Datei vor Crackern schützen.
www.webtoolmaster.com/downloadd.htm
|
|
DelphiMan 
      
Beiträge: 73
|
Verfasst: So 23.02.03 00:26
Titel: Danke!
Vielen Dank für eure zahlreichen Beiträge!! Sehr interessant, bes. mit der bedingten Compilierung. Was ich mich schon immer (und immer noch) gefragt habe ist, wie man eine EXE Datei decompilieren kann, sprich an den Code gelangt. Denn wenn das ginge wären die Compileranweisungen auch umsonst,oder!?
MfG
DelphiMan
|
|
Raphael O.
      
Beiträge: 1596
VS 2013
|
Verfasst: So 23.02.03 00:36
Bei einer bedingten Kompilierung wird nicht alles mit in den Exe-File kompiliert -> bei dekompilierung kann man nur dass sehen, was der bedingten Kompilierung entspricht...
|
|
Moritz M.
      
Beiträge: 1672
|
Verfasst: Mo 24.02.03 17:08
Wie genau geht das mit der Bedingten Kompillierung?
Wie muss ich das Definieren?
|
|
neojones
      
Beiträge: 1206
Erhaltene Danke: 1
|
Verfasst: Mo 24.02.03 17:13
@Biarchiv: Auch das ist kein effektiver Schutz...
"Der Dietrich wurde im selben Jahr erfunden, wie der Keuschheitsgürtel".
Die Funktionen rauszulassen ist tatsächlich die einzige Möglichkeit.
Unsere Vollversionen werden auf CD-ROM mit Seriennummer und zugehörigem Dongle verkauft...
Leider Gottes ist das die einzige Möglichkeit, die geistige Arbeit einigermaßen effektiv zu schützen (Und auch ein Dongle ist nicht immer sicher...)
Viele Grüße,
Matthias
_________________ Ha! Es compiliert! Wir können ausliefern!
|
|
FriFra
      
Beiträge: 557
Win XP Prof, Win XP Home,Win Server 2003,Win 98SE,Win 2000,Win NT4,Win 3.11,Suse Linux 7.3 Prof,Suse Linux 8.0 Prof
D2k5 Prof, D7 Prof, D5 Standard, D3 Prof, K3 Prof
|
Verfasst: Mo 26.05.03 22:18
Also ich verwende auch z.T. die unsichere "visible:=False"- bzw. "enabled:=False"-Methode. Allerdings prüfe ich permanent, ob auch alle notwendigen Bedingungen tatsächlich erfüllt sind. D.h. wenn ich eine Manipulation feststelle kann sich das Programm z.B: verabschieden und selber löschen...
|
|
majolo
      
Beiträge: 334
Ubuntu 8.04, WinXP Prof.
D1, D6Pers, D7 Prof., D8 Prof., D2005 Pers
|
Verfasst: So 01.06.03 10:39
| Onz hat folgendes geschrieben: | Wie genau geht das mit der Bedingten Kompillierung?
Wie muss ich das Definieren? |
Also mich würde das auch interessieren.Kennt einer ein gutes Tutorial oder kann das Beispiel von MathiasSimmack genauer erklären?
Gruss
majolo
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: So 01.06.03 12:03
Ist genauso wie eine If-Anweisung in Delphi, nur eben für den Compiler. In den Projektoptionen->Verzeichnisse/Bedingungen->Bediengungen (weit unten) trägt man z.B. Demoversion ein, dann ist diese Bedingung gesetzt. In diesem Fall wird der Teil nach ifdef kompiliert, der else-Teil wird völlig ignoriert (es werden also auch keine Fehler angezeigt, scheint wie auskommentiert soz.). Wird diese Bedingung wieder rausgemacht, wird der else-Teil kompiliert.
Gibt noch viele andere Sachen, einfach mal in der Hilfe stöbern 
|
|
majolo
      
Beiträge: 334
Ubuntu 8.04, WinXP Prof.
D1, D6Pers, D7 Prof., D8 Prof., D2005 Pers
|
Verfasst: So 01.06.03 15:04
Okay, ich werde mir mal ein testprogramm machen und es ausprobieren.
Nochmal vielen Dank
Gruss
majolo
|
|
matze
      
Beiträge: 4613
Erhaltene Danke: 24
XP home, prof
Delphi 2009 Prof,
|
Verfasst: Mo 02.06.03 18:05
ich würde es so machen, dass das proggi nach 5 min wieder zugeht. das kannste dann einfach per GetTickCount machen, das kann man nciht manipulieren !!
_________________ In the beginning was the word.
And the word was content-type: text/plain.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 02.06.03 18:12
Dazu brauchst du aber eien if-ASbfrage:
Quelltext
Und diesen Sprung kann man wohl auch recht einfach umbiegen.
|
|