Autor Beitrag
DelphiMan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 73



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 222

Win XP Pro, Slackware 10.0
D5 Enterprise, C++, ABAP
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 30



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: 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



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 131



BeitragVerfasst: 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



BeitragVerfasst: 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:
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 688



BeitragVerfasst: Di 18.02.03 15:26 
Hallo,

Mit EXEStealth kann man die EXE Datei vor Crackern schützen.
www.webtoolmaster.com/downloadd.htm
DelphiMan Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 73



BeitragVerfasst: 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.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: 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.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1672



BeitragVerfasst: Mo 24.02.03 17:08 
Wie genau geht das mit der Bedingten Kompillierung?
Wie muss ich das Definieren?
neojones
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1206
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
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
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 334

Ubuntu 8.04, WinXP Prof.
D1, D6Pers, D7 Prof., D8 Prof., D2005 Pers
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: 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 :wink:
majolo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 334

Ubuntu 8.04, WinXP Prof.
D1, D6Pers, D7 Prof., D8 Prof., D2005 Pers
BeitragVerfasst: So 01.06.03 15:04 
Okay, ich werde mir mal ein testprogramm machen und es ausprobieren. 8)
Nochmal vielen Dank

Gruss
majolo
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: 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



BeitragVerfasst: Mo 02.06.03 18:12 
Dazu brauchst du aber eien if-ASbfrage:
ausblenden Quelltext
1:
if Demo then					

Und diesen Sprung kann man wohl auch recht einfach umbiegen.