Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Anti-Cheat Client Server Anwendung (LAN) (https://www.delphipraxis.net/155437-anti-cheat-client-server-anwendung-lan.html)

schlagzu 23. Okt 2010 14:07

Anti-Cheat Client Server Anwendung (LAN)
 
Hallo,

ich habe mich in den letzten Wochen hingesetzt und habe, da ich vor habe eine Lan zu geben, angefangen ein Anti-Cheat Anwendung zu schreiben.
Ich habe mir einige Gedanken gemacht, und habe mich für mehrere Schutzmechanismen entschieden, die zusammen laufen. Die Anwendungen (Server, Client) kommunizieren über Socket.

Schutz 1)

zwar billig aber einfach, :wink: Pfad Erkennung. Es wird in den Laufenden Prozessen nach auffälligen Ordnern (weit versteckt, in einem Ordner eines Spieles oder hack, trainer oder cheat im Namen) gesucht.

Dazu Frage 1: Ich kann zwar die Prozesse vom User Abfragen, und ein Teil der Dienste, aber wie kann ich auch die vom System gestarteten Programme abrufen (z.B alle Autostarts werden vom System gestartet)

Schutz 2)

MD5 Schutz. Von allen laufenden Prozesse werden MD5 Hashes herstellt und mit einer Liste bekannter Hacks abgeglichen.

Dazu Frage 2: Hat jemand ne Idee wo man so ne Liste bekommt, ich habe zwar ne private Liste angefangen, da sitze ich aber noch in 5 Jahren dran, um das Netz nach Trainer, Hacks, Aimbots und anderen Tools solcher Art zu durchsuchen und davon immer ein MD5 Hash zu generieren.

Schutz 3)

Nur ein Gedanke aber sicherlich machbar. Abfragen ob eine Taste wie Numblock 1-9, Pos1 Ende oder eine F Taste etc. gedrückt wird (wurde). Eben all die Tasten mit denen man solche Tools startet.

Dazu Frage 3: *Edit* hat sich erledigt!!

Schutz 4)

Auch nur ein Gedanke aber sicherlich schwerer. Im Bezug auf Aimbots testen ob eine Anwendung die Mausposition verändert.

Frage dazu: machbar? Wenn ja wie, dazu habe ich gar keine Infos oder Beispiele gefunden.

Schutz 5)

Wieder nur eine Idee.
Gibt es eine Möglichkeit zu testen, ob ein Programm Werte im Arbeitsspeicher, andere Programme verändert (um Trainer zu entlarven).
Gibt es eine Möglichkeit zu testen, ob ein Programm sich in andere Programme einbindet und diese Manipuliert (um Wallhacks zu entlarven).
Gibt es eine Möglichkeit zu testen, ob ein Programm Werte aus einem Programm ausliest (z.B. die Position der Gegner) (um Aimbots zu entlarven)


Ich danke im Voraus für alle Antworten.

MfG schlagzu

PS: Auf anfrage, kann ich den Quellcode in Teilen veröffentlichen, ganz möchte ich ihn nicht veröffentlichen, da die Programme nicht von gleich umgangen werden sollen.

PPS: Falls jemand fragt, wie ich die Leute dazu bringe dieses Tool laufen zu lassen. Ganz einfach, meine Lan, meine Regeln!

generic 24. Okt 2010 10:41

AW: Anti-Cheat Client Server Anwendung (LAN)
 
Ein sinnloses Unterfangen!

Es gibt so viele Anticheat Projekte und noch mehr welche aufgegeben haben.
Ich erinnerne nur mal an die UnitedAdmins. Die hatte wohl die meist genutzt AC am Start.

Du hast keine Chance gute Cheats zu erkennen. Die Cheats hooken dir die Windows API weg, um sich zu verstecken. Das macht jeder schlechter Trojaner derzeit.
Notfalls wird halt ein Rootkit programmiert.

Schwierig wird auch die Erkennung von echten, beta und gehackten Grafikartentreibern.
Nicht jeder Treiber ist signiert.

Für welche Spiele beabsichtigst du ein AC zu schreiben?

schlagzu 24. Okt 2010 11:25

AW: Anti-Cheat Client Server Anwendung (LAN)
 
Für den Anfang hätte ich gern FarCry2 genommen.
Dafür gibt es in unserer 'Spielgemeinschaft' keine Aim-Bots. Hier wird meistens mit Trainern (die sich nicht verstecken) gecheatet (bunny jump, no recoil, repeat fire). Ich bekomme schon von meiner Anwendung alle laufenden Prozesse angezeigt und kann von mir auf meinen Rechner geladen werden (zur Analyse). Mir ist schon klar das so etwas nicht voll automatisch geht.

Mir wäre schon geholfen, wenn man mir erklärt wie man solche Anwendungen gezielt überwachen kann auf schreib und lese Aktivitäten (HDD,RAM) [z.B. in welche Adresse wäre sehr hilfreich].

MfG schlagzu

SirThornberry 24. Okt 2010 11:49

AW: Anti-Cheat Client Server Anwendung (LAN)
 
Alles was du bisher beschrieben hast läuft darauf hinaus das du Zugriff auf die anderen Rechner hast. Ist jedoch die Firewall eines Rechners (da genügt die Windows-Standard-Firewall) richtig eingerichtet, so hast du keinerlei Zugriff auf die Prozessliste anderer Rechner.
Und wenn du als Bedingungen stellst das kein Teilnehmer der LAN eine Firewall diesbezüglich aktiviert haben darf kannst du auch gleich als Bedingung stellen das jeder einmal dein Programm auf seinem Rechner durchlaufen lässt (und somit kannst du dir die Verbiegungen sparen wie man an die Prozessliste anderer Rechner kommt)

Sir Rufo 24. Okt 2010 11:53

AW: Anti-Cheat Client Server Anwendung (LAN)
 
Ich dachte er will ein Programm auf jedem Rechner laufen lassen und damit die Prozesse ermitteln.
Die Ergebnisse werden dann an einen Server übermittelt.

Die Firewall macht dabei eigentlich keine Zicken (es sei denn das wird dort explizit gesperrt)

schlagzu 24. Okt 2010 12:13

AW: Anti-Cheat Client Server Anwendung (LAN)
 
Ja genau, auf jedem Rechner läuft ein Client Programm, das zu meiner Server Anwendung alle 2 min die Laufenden Programme und die dazugehörenden MD5 Hashes sendet (über normale Socket Server - Client Verbindung). Dieses Programm hat Rechte wie jedes andere Prog das auf diesem Rechner läuft. Die Win-Firewall hat noch nicht gemeckert.

schlagzu 24. Okt 2010 12:23

AW: Anti-Cheat Client Server Anwendung (LAN)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hier mal ein Screen von der Anwendung.

Ich habe hier einen Lösungsansatz gefunden. Aber dennoch kenne ich mich in diesem Bereich nicht so gut aus, da alles was ich weiß, ich mir selbst beigebracht habe, und dies noch mehr ist als ich im Informatikunterricht lerne.

Könnt ihr mir vielleicht ein gutes Tut. zeigen oder es mir erklären, ob so etwas möglich ist und wie man am besten anfängt.

nachti1505 24. Okt 2010 17:11

AW: Anti-Cheat Client Server Anwendung (LAN)
 
Ich würde dann deine Anwendung in einer virtuellen Umgebung laufen lassen... und mich freuen, dass du MD5-Hashes von meinen virtuellen Prozessen empfängst! Also technisch wirst du das Problem eher nicht gelöst bekommen... wenn, dann noch eher menschlich.

schlagzu 24. Okt 2010 17:23

AW: Anti-Cheat Client Server Anwendung (LAN)
 
denkst du es wäre nicht auffällig wenn in deiner Umgebung das Spiel gar nicht läuft.

SirThornberry 24. Okt 2010 17:35

AW: Anti-Cheat Client Server Anwendung (LAN)
 
Oha, und die Leute haben alle so viel Vertrauen zu dir, dass sie einfach ein Programm von dir ausführen? Wenn das Vertrauen so groß ist sollte das ganze auch menschlich umsetzbar sein. Dein Programm würde mich eher heraus fordern einen Cheat zu verwenden den dein Programm nicht findet. Ohne dein Programm hingegen würde ich ohne cheats und Trainer arbeiten weil es einfach der Anstand erfordert wenn dies vorher so abgesprochen wurde.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:19 Uhr.
Seite 1 von 2  1 2      

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