AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Tools wie WinSpy an ihrer Arbeit hindern?

Tools wie WinSpy an ihrer Arbeit hindern?

Ein Thema von The Riddler · begonnen am 27. Okt 2008 · letzter Beitrag vom 27. Okt 2008
Antwort Antwort
The Riddler
(Gast)

n/a Beiträge
 
#1

Tools wie WinSpy an ihrer Arbeit hindern?

  Alt 27. Okt 2008, 15:06
HalliHallo,

gibt es eine Möglichkeit, Programme wie WinSpy & Co an ihrer Arbeit zu hindern? Mit Arbeit meine ich Funktionen wie zum Beispiel das en- & disablen von TButton-Komponenten.

Edit: Für Luckie: Ich möchte in meinem Programm verhindern das man mit Programmen wie WinSpy die Button in meinem Programm en- und disablen kann wie man will.

Jemand ne Idee?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Tools wie WinSpy an ihrer Arbeit hindern?

  Alt 27. Okt 2008, 15:09
Die einzige Variante ist einfach keine Buttons etc. zu verwenden. Aber mal ehrlich. Wenn deine Programmlogic stimmt ist es doch egal ob der deaktiverte Button aktiviert wird. Irgendwo setzt du den Button ja auf inaktiv. In diesem Zuge kannst du auch eine Variable setzen welche du dann im OnClick prüfst.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Tools wie WinSpy an ihrer Arbeit hindern?

  Alt 27. Okt 2008, 15:11
Das naiv betrachtet "einfachste" wäre es, keine WinControls zu verwenden, sondern alles auf GraphicControl o.ä. zu basieren. Weil was kein Handle hat, kann von aussen auch nur sehr schwer (und schon garnicht via Standard-OS-Mittelchen ala Messages) verändert werden.

Gutes Beispiel sind hier z.B. Javas AWT/SWT. Da bekommst du nur das Handle des Fensters, und sämtliche anderen visuellen Komponenten sind keine WinControls (=ohne Handle). Bei Swing ist das wieder ein wenig anders.

Ob das nun so hübsch ist lass ich mal dahingestellt. Mit diesem Weg Themes usw. zu berücksichtigen ist sicherlich nicht allzu trivial
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
The Riddler
(Gast)

n/a Beiträge
 
#4

Re: Tools wie WinSpy an ihrer Arbeit hindern?

  Alt 27. Okt 2008, 15:12
Hi,

ersteres kommt leider nicht in Frage und

Zitat:
Irgendwo setzt du den Button ja auf inaktiv.
ja, in der Delphi-IDE. Es geht hier um eine Art Demo-Version (und nein, extra eine zweite Version zu schreiben ohne Button kommt nicht in Frage).

Gehe ich recht in der Annahme, das WinSpy einfach eine Message an den Button schickt und ihn so z.B. enabled? Kann man das nicht irgendwie abfangen?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Tools wie WinSpy an ihrer Arbeit hindern?

  Alt 27. Okt 2008, 15:17
nein das kannst du nicht abfangen mit der Message denn das setzen per Quelltext bzw. in der DFM macht auch nichts anderes als das ganze per Messages zu ändern. Wie gesagt. einfach eine zweite Variable mitführen in der du prüfst ob der button aktiv ist oder eben auf WinControls verzichten wenn du deren Funktionalität sowieso nicht brauchst.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Tools wie WinSpy an ihrer Arbeit hindern?

  Alt 27. Okt 2008, 15:18
Für diesen Fall könntest du mit bedingter Kompilierung arbeiten. Einfach den QT des Buttonclicks in eine Bedingung packen, und diese bei der Kompilierung der Demoversion auslassen. Schon wird ein leerer Prozedurrumpf kompiliert und der Button macht einfach nichts mehr. Wer es versucht so billig eine Vollversion zu erschleichen wird dann ganz schön enttäuscht sein, dass sein "genialer" Plan nicht funktioniert
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Tools wie WinSpy an ihrer Arbeit hindern?

  Alt 27. Okt 2008, 15:20
warum fragst du die Demo-Version nicht im OnClick-Ereignis ab undverläßt die Prozedur, wenn es sich um eine Demo handelt. Wäre doch wesentlich schöner, oder nicht?
Ansgar
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Tools wie WinSpy an ihrer Arbeit hindern?

  Alt 27. Okt 2008, 15:29
Man könnte auch noch die Ereigniszuweisung manuell im OnCreate des Formulars machen, und dort entweder mit bedingter Kompilierung oder Flag-Abfrage arbeiten. Das schöne bei bedingter Kompilierung ist ja, dass man überhaupt nicht an die Funktion kommt, nicht mal mit den verrücktesten Crackingverfahren, weil die Logik dahinter schlicht nicht im Kompilat vorhanden sein wird. Auf der anderen Seite muss man dann natürlich bei einem Update von Demo- auf Vollversion ein neues Executable liefern, und kann nicht einfach per Schlüsseleingabe alle Funktionen aktivieren. An welcher Stelle man den Tradeoff in Kauf nimmt ist dann Geschmackssache.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#9

Re: Tools wie WinSpy an ihrer Arbeit hindern?

  Alt 27. Okt 2008, 15:47
Ich denke das er ja die Full version freischaltbar lassen will, also nutz der Kompilerswitch nichts.

Aber die Idee des OnButtonClick zu ändern erscheint mir sinnvoller

du machst 2 Proceduren eine Freeware und eine Fullversion

Bei der Prüfung machst du das dann etwa so :
Delphi-Quellcode:

Procedure Tform1.Fullversion(sender:Tobject);
begin
// Full version Code
end;

Procedure Tform1.Demoversion(sender:Tobject);
begin
// Demo version Code
end;

Procedure Form1.create(..);
begin
..
  if Checkfullversion then
    Button1.onclick := Fullversion
  else
    Button1.onclick := Demoversion;
..
End;
so kann der Button aktiviert werden wie man will, es bringt einfach nichts, da der Button ja die Falsche Prozedur ausführt
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#10

Re: Tools wie WinSpy an ihrer Arbeit hindern?

  Alt 27. Okt 2008, 17:23
Du kannst TAction verwenden. Damit kann man Buttons und andere Controls sperren. Das wird oft geupdated.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
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 02:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz