Seite 1 von 2

Variablen auf Änderungen überwachen

Verfasst: 08.03.2018 15:07
von ¯\_(ツ)_/¯
Ich möchte meine eigenen Variablen automatisch auf Veränderungen überwachen. Ich könnte in einem Thread
ene Schleife mit Delay machen und den alten mit dem neuen Wert vergleichen aber gibt es auch ein Event
oder BindFunktion? Sowas wie BindEvent(#PB_VariableChange, @Callback())
:?:

Re: Variablen auf Änderungen überwachen

Verfasst: 08.03.2018 18:22
von Fluid Byte
Etwas konkreter, "Variablen auf Änderungen überwachen" ist Dünnschiss.

Re: Variablen auf Änderungen überwachen

Verfasst: 08.03.2018 18:42
von ccode_new
Fluid Byte hat geschrieben: Etwas konkreter, "Variablen auf Änderungen überwachen" ist Dünnschiss.
Wieso ?
¯\_(ツ)_/¯ hat geschrieben:Ich möchte meine eigenen Variablen automatisch auf Veränderungen überwachen. Ich könnte in einem Thread
ene Schleife mit Delay machen und den alten mit dem neuen Wert vergleichen aber gibt es auch ein Event
oder BindFunktion? Sowas wie BindEvent(#PB_VariableChange, @Callback())
Dafür gibt es den Debugger.
Wähle: Menü->Compiler->Compiler-Optionen->Kompilieren/Starten->"Verwende ausgewählten Debugger:"->Eigenständiger Debugger

Oder: (Festeinstellung)
Menü->Datei->Einstellungen->Debugger->Debugger-Typ auswählen.

Damit hast du tolle Überwachungsmöglichkeiten.

Oder meinst du etwas Anderes mit "Ich möchte meine eigenen Variablen automatisch auf Veränderungen überwachen." ?

Re: Variablen auf Änderungen überwachen

Verfasst: 08.03.2018 21:02
von HeX0R
Wenn man alle seine derzeitigen Anfragen betrachtet, sieht man recht deutlich, was das Ziel ist.
Ein Tipp von mir:
Stecke lieber mehr Energie in die Bedienbarkeit Deiner Applikation (oder in die Spielidee Deines Spiels), gecrackt wird nämlich auch nur, was richtig gut ist.

Re: Variablen auf Änderungen überwachen

Verfasst: 09.03.2018 08:04
von Imhotheb
Eine einfache Möglichkeit ist auch das doppelte Speichern. Z.B mit einem Hash. Allerdings verbraucht das natürlich auch Ressourcen!

Re: Variablen auf Änderungen überwachen

Verfasst: 09.03.2018 12:11
von ¯\_(ツ)_/¯
Tut mir wirklich sehr leid, dass ich mich ungenau ausgedrückt habe. Sorry :( Ich versuche es so zu erklären...
Ich habe ein kleines Spiel und möchte dieses vor Crackern sichererer machen. Dazu zählt auch das überwachen
von meinen eigenen Variablen aber nicht im Debugger sondern intern- Mein Programm soll selbst feststellen können
welche Variablen geändert wurden. Eine Art BindVariableEvent. Sobald sich eine Variable von einer meiner Funktionen
ändert dann gibt es ein Event und mein Programm weiß es gibt eine Lösung der Variable X mit dem neuen Wert Y und
soll prüfen ob das gewollt war. Ob das gewollt war ist kein Problem weil mein Programm weiß ob die Änderung von
einer meiner Funktionen stammt aber wenn ein externes Programm von außen einen Wert ändert dann kann mein Programm
feststellen dass keine meiner Funktionen aktiv waren und weiß dass es eine illegale Änderung war. Nur dieses Event
brauche ich. Ich brauche sowas:

Code: Alles auswählen

Procedure Callback()
  Debug "Variable wurde geändert: " + EventVariable()
EndProcedure

BindEvent(#PB_VariableChange, @Callback())

meineVariable = 5

;ab hier wird mein Callback von BindEvent automatisch aufgerufen
Ich hoffe ich habe nicht wieder Dünnschiss produziert.

Re: Variablen auf Änderungen überwachen

Verfasst: 09.03.2018 13:41
von Kiffi
<OT>
¯\_(ツ)_/¯ hat geschrieben:Ich habe ein kleines Spiel und möchte dieses vor Crackern sichererer machen.
das schliesse ich mich HeX0Rs Meinung an:
HeX0R hat geschrieben:Stecke lieber mehr Energie in die Bedienbarkeit Deiner Applikation (oder in die Spielidee Deines Spiels)
selbst die großen Spielefirmen ziehen im Kampf gegen Cracker immer den Kürzeren.

just my two cents... Bild

</OT>

Grüße ... Peter

Re: Variablen auf Änderungen überwachen

Verfasst: 09.03.2018 13:42
von RSBasic
+1

Re: Variablen auf Änderungen überwachen

Verfasst: 11.03.2018 00:17
von Fluid Byte
Verstehe, das vergiss mal gleich wieder. Habe mich damit vor ein paar Jahren ebenfalls beschäftigt. Alles wird gecrackt, ausnahmslos. Wenn ein DRM ein paar Monate hält gilt das in der Branche als "Erfolg". Denuvo wurde als der große Piraten-Killer von Ubisoft verkauft und ist bereits nach drei Monaten platt gemacht:

https://kotaku.com/after-three-months-p ... 1822696106

Assassin's Creed Origins ist zugeschissen mit 3 Ebenen von DRM: Steam, Uplay und Denuvo. Die Piraten lachen sich den Arsch ab und der ehrliche Kunde wird mit diesem Abfall belästigt der auch noch stark Performance kostet.

Es gibt nur eine Regel die lebenswichtig ist, mach es den ehrlichen Spielern so leicht wie nur menschenmöglich dein Produkt zu kaufen und zu nutzen. Nichts anderes zählt. Ich habe früher selbst das meiste von PirateBay gezogen aber langfristig alles auf Steam nachgekauft. Gerade Entwickler von Indie games wie Shovel Knight oder SUPERHOT verdienen jeden Cent.

Re: Variablen auf Änderungen überwachen

Verfasst: 12.03.2018 16:31
von Jan125
... und ich hab einfach den Entwickler direkt angemailt, und ihm via PayPal den 1.5fachen Preis gesteckt - und gleich 2 Keys erhalten. :>

On-Topic: Eventuell eine SetLong()-Prozedur mit Static Map, wo alle Speicheradressen bei jedem Aufruf rotiert werden... Ob das Sinn macht ist 'ne andere Frage.