![]() |
Tools wie WinSpy an ihrer Arbeit hindern?
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? |
Re: Tools wie WinSpy an ihrer Arbeit hindern?
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.
|
Re: Tools wie WinSpy an ihrer Arbeit hindern?
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 :) |
Re: Tools wie WinSpy an ihrer Arbeit hindern?
Hi,
ersteres kommt leider nicht in Frage und Zitat:
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? |
Re: Tools wie WinSpy an ihrer Arbeit hindern?
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.
|
Re: Tools wie WinSpy an ihrer Arbeit hindern?
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 :)
|
Re: Tools wie WinSpy an ihrer Arbeit hindern?
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?
|
Re: Tools wie WinSpy an ihrer Arbeit hindern?
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.
|
Re: Tools wie WinSpy an ihrer Arbeit hindern?
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:
so kann der Button aktiviert werden wie man will, es bringt einfach nichts, da der Button ja die Falsche Prozedur ausführt ;)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; |
Re: Tools wie WinSpy an ihrer Arbeit hindern?
Du kannst TAction verwenden. Damit kann man Buttons und andere Controls sperren. Das wird oft geupdated.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:02 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