AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Demoversion Programm beenden

Ein Thema von blondervolker · begonnen am 31. Jan 2012 · letzter Beitrag vom 26. Apr 2012
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Demoversion Programm beenden

  Alt 31. Jan 2012, 10:47
Direkt in das Anwendungsverzeichnis zu schreiben ist eine ganz doofe Idee - oder muss der Anwender zwingend als Administrator arbeiten

Und das ist ja so durch die Brust ins Auge gehüpft und am Fuß wieder rausgesprungen:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  // Zähler erhöhen, ok
  Inc(Zaehler);
  // Zähler in ein Edit-Feld schreiben (Int->Str) ... öh soll der User das ändern können???
  Edit1.Text := IntToStr(Zaehler);
  // Wieso denn jetzt wieder Str->Int, du hast doch Zugriff auf Zaehler???
  if Edit1.Text = '1then Label1.Caption:='1.Versuch';
  if Edit1.Text = '2then Label1.Caption:='2.Versuch';
  if Edit1.Text = '3then Label1.Caption:='Testzeitraum ist beendet!';
  if Edit1.Text = '3then Button2.Caption:='Ende!';
  // Form1 ist eher fehleranfällig. Besser:
  // HauptForm schließen: Application.MainForm.Close
  // Diese Form schließen: Self.Close oder einfach Close
  if Edit1.Text = '4then Form1.Close;
end;
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  Inc(Zaehler);
  Edit1.Text := IntToStr(Zaehler);
  case Zaehler of
    1: Label1.Caption:='1.Versuch';
    2: Label1.Caption:='2.Versuch';
    3:
      begin
        Label1.Caption:='Testzeitraum ist beendet!';
        Button2.Caption:='Ende!';
      end;
    4: Close;
  end;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.519 Beiträge
 
Delphi 12 Athens
 
#2

AW: Demoversion Programm beenden

  Alt 31. Jan 2012, 10:58
Demos mit Zeitbegrenzung sind nicht sicher machbar.
- die Uhr kann man verstellen
- eine Uhrzeit aus dem Internetabfragen, kann man vergessen, da man meistens keinen aktiven Internetzugang voraussetzen kann und über diverse Tricks kann man sowas sowieso umgehen

Die einzig sichere Möglichkeit ist:
- bestimmten Code garnicht erst einzukompileren ('nen Button zu deaktivieren hildt nix, denn der läßt sich extrem einfach wieder aktivieren) und eine spezielle Demo-Version rauszubringen, welche sich nicht auf eine vollversion patchen läßt, da dieser nicht enthalten ist.
- also irgendwas weglassen, welchen einen dazu drängt sich dann doch mal die Vollversion zu besorgen

Zitat:
Die "tes.dat" wird noch versteckt in einem anderen Ordner.
Dieses hier ist nur ein Beispiel.Und Windows hat viele Ordner
Mir egal.
In vielen Ordner hat dein Programm sowieso keine Zugriffsrechte und verstecken kannst'e vor mir eh nix.
Und wenn sich dein Programm irgendwo an meinem System zu schaffen macht, mir dieses mutwillig zumüllen will, dann fliegt dein Programm von der Platte und ich nehm mir ein nettes Programm eines anderen Herstellers. (ich bin mir sicher, daß es besseren Alternativen geben wird)

PS: In der FORM speichern? In einer unverschlüsselten Resource, welche sich leicht ändern läßt.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (31. Jan 2012 um 11:01 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Demoversion Programm beenden

  Alt 31. Jan 2012, 11:03
Auch wenn ein Betriebssystem viele Ordner hat (das hat mit Bill Gates gar nichts zu tun), so haben die alle einen Sinn und Zweck - man muss sich nur damit befassen.

Es gibt zwar die Möglichkeit an eine Anwendung Daten zu hängen und dort die Anzahl der Aufrufe zu vermerken, allerdings reagieren da die Virenscanner etwas ungehalten.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

AW: Demoversion Programm beenden

  Alt 31. Jan 2012, 11:22
Ich nehme für sowas folgendes Verzeichnis:
C:\Users\[user]\AppData\Roaming

Den Ordner AppData findet ein normaler User eh nicht.
Da kannst Du ja ne verschlüsselte Datei reinlegen die die Aufrufe mitloggt. Setze bei der Datei einen bestimmten Timestamp der weit in der Vergangenheit liegt,
wenn dieser nicht mehr stimmt ist die Demoversion zu.

Um die Demo zu aktivieren muss bei mir eine Onlineverbindung bestehen und ich speichere die HDD-Id in eine Datenbank,
wenn die ID vorhanden, kann die Demo nicht mehr aktiviert werden.


Nicht 100 % sicher, aber für die meisten Anwender reicht es.

Gruß
Philip
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Demoversion Programm beenden

  Alt 31. Jan 2012, 11:28
Ich nehme für sowas folgendes Verzeichnis:
C:\Users\[user]\AppData\Roaming
Eine schlechte Wahl ... besser
Code:
%APPDATA%
bzw.
Code:
CSIDL_APPDATA
, dann ist Windows dafür zuständig, das richtige Verzeichnis zu liefern
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

AW: Demoversion Programm beenden

  Alt 31. Jan 2012, 11:39
Ich nehme für sowas folgendes Verzeichnis:
C:\Users\[user]\AppData\Roaming
Eine schlechte Wahl ... besser
Code:
%APPDATA%
bzw.
Code:
CSIDL_APPDATA
, dann ist Windows dafür zuständig, das richtige Verzeichnis zu liefern
Das war nur der Pfad.
Code:
    SHGetSpecialFolderLocation(Einstellungen.Handle, CSIDL_APPDATA, SpecialDir);
    SHGetPathFromIDList(SpecialDir, @FBuf[0]);
    Allocator.Free(SpecialDir);
    pfad := FBuf+'\[Firma]\[Programmname]\';
Gruß
Philip
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

AW: Demoversion Programm beenden

  Alt 31. Jan 2012, 14:00
Ich nehme für sowas folgendes Verzeichnis:
C:\Users\[user]\AppData\Roaming

Den Ordner AppData findet ein normaler User eh nicht.
Ein normaler Benutzter crackt auch keine Demoversionen. Er sucht sie sich im Internet. Und mit der Software von Sysinternals ist das ganz schnell gefunden. Dann noch die Sprunganweisung gepatcht und das war es dann. Ein mittlemäßig erfahrener Cracker macht dir das in einer halben Stunden. Und jetzt setzte das mal ins Verhältnis zu der Zeit und den Aufwand, den ihr da schon reingesteckt habt. Hättet ihr die Zeit und Mühe in gute Features investiert, dann hättet ihr auch ein paar ehrliche Käufer mehr und die, die die gecrackte Version nutzen, würden gar nicht groß ins Gewicht fallen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#8

AW: Demoversion Programm beenden

  Alt 31. Jan 2012, 15:48
Hättet ihr die Zeit und Mühe in gute Features investiert, dann hättet ihr auch ein paar ehrliche Käufer mehr und die, die die gecrackte Version nutzen, würden gar nicht groß ins Gewicht fallen.
Wo liest du denn raus dass die Software nicht gut ist und dass der Absatz nicht stimmt??
Philip
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

AW: Demoversion Programm beenden

  Alt 31. Jan 2012, 15:53
Wo liest du raus, dass ich gesagt habe, die Software sei schlecht?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Demoversion Programm beenden

  Alt 31. Jan 2012, 16:33
Hättet ihr die Zeit und Mühe in gute Features investiert, dann hättet ihr auch ein paar ehrliche Käufer mehr und die, die die gecrackte Version nutzen, würden gar nicht groß ins Gewicht fallen.
Wo liest du denn raus dass die Software nicht gut ist und dass der Absatz nicht stimmt??
Wahrscheinlich wurde er an die seltenen Softwareperlen erinnert, die mit so vielen Sicherheitsfeatures zugenagelt waren, daß ein Arbeiten mit ihnen unmöglich war.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz