Das Anti-Cheat Programm ist dann an wenn auch mein kleines Liga Programm gestartet ist. Ich habe es derzeit so gemacht:
In alle Programme (das muss ich noch verbessern - überprüfen ob Read/WriteProcessMemory benutzt werden soll) wird meine
DLL injiziert. Diese Hookt dann die Read und WriteprocessMemory Prozedur. Wenn die angegebene PID (ProcessID) nicht dsa angegebene Spiel ist wirt Read/WriteMemoryProcess ausgeführt ansonsten passiert gar nichts. An dieser Stelle besteht natürlich die Möglichkeit auch eine Message auszugeben das ein verdächtiges Programm entdeckt wurde.
Problem: XFire hookt auch die Spiele für Ingame Chat und liest auch Adressen aus - von daher müsste ich eine Whitelist erstellen. Mit dem Systemservice klappt noch nicht ganz, ich habe schon ein Tutorial gelesen, jedoch gibt es bei meinem Delphi leider nicht die Funktion "Neu > Systemservice " oder eben wie das genau hieß.
Mit den DLLs die ein Programm geladen hat mache ich es derzeit so:
Ich überprüfe ob einfach eine andere geladen wurde - wenn ja gibts wieder eine Meldung.
Frage: Wie kann ich einen Systemdienst unter Delphi 2005 Personal erstellen?
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.