Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Anti Cheat Engine (https://www.delphipraxis.net/104989-anti-cheat-engine.html)

napsterxx 13. Dez 2007 20:08


Anti Cheat Engine
 
Moinsen,
ich wollte eine allgemeine Anti Cheat Engine (im kleinen Stil) programmieren. Sie soll wenn sie fertig ist und funktioniert dem User sage dass er gerade Cheatet. Die Engine soll nur für Games wie CS sein wo man mit einer DLL z.B. injezieren muss. Deshlab dachte ich überprüfe welche DLLs das Programm geladen hat und ob es die selben sind. Kann mir jemand einen kleinen Stubs in Richtung einer guten Lösung geben?^^

himitsu 13. Dez 2007 20:22

Re: Anti Cheat Engine
 
Ein paar Probleme wirst du aber dennoch bekommen.

Es ist zwar möglich auszulesen welche DLLs eine EXE läd, aber welche DLLs diese DLLs wiederum laden weiß man damit nicht

und dann wird z.B. bei mir in "jedes" Programm eine DLL von meiner Maus injeziert.

es ist also garnicht so einfach zu entscheiden welche DLLs "nötig" sind und welche zweck's Cheat drin sind.

Neotracer64 13. Dez 2007 20:23

Re: Anti Cheat Engine
 
Wie möchtest du prüfen ob die DLL legitim ist?
Es könnte sich zum Beispiel um DLLs von Third-Party Apps handeln. Extensions für Tastatur oder Maustreiber zum Beispiel.

Also musst du eine Whitelist erstellen. Das hat widerum den Nachteil, dass du viele False Positives detectest, und eine Blacklist natürlich, dass zu viele False Negatives erwischst.

Dazu kommt, dass es mittlerweise schon soweit ist, dass die meisten Cheats den PE-Header ihrer DLL wipen und sich aus den 3 Linked Module Listen austragen. So kannst du die DLL eigentlich nicht mehr finden, dann musst du auf Signaturen zurückgreifen als Blacklist... Du erkennst das Dilemma?

Um einen wirksamen Anticheat zu schreiben musst du schon tief in die HL-Engine gehen, so wie es das einzig "erfolgreiche" AC-Tool gemacht hat. (Cheating Death)
Und zwar heisst es hier nicht, den Cheat detecten, sondern verhindern, dass der Cheat überhaupt die Engine manipuliert. Prävention ist also viel geeigneter zur Bekämpfung.

//EDIT: slow ;)

vlees91 13. Dez 2007 20:35

Re: Anti Cheat Engine
 
Hmmm. was macht VAC2 denn?
Ist das nicht auch direkt in der Engine? (Ja, der blockierts nicht, bannt aber nach ca. 2 wochen den account)

PaddyL 13. Dez 2007 20:43

Re: Anti Cheat Engine
 
Und wieso sollte man nicht ohne DLL injecten können? Geht ganz simpel mit Threads. Wenn du nicht selbst Autor des Spiels bist kannst du es so ziemlich vergessen das richtig zu machen.

Neotracer64 13. Dez 2007 21:05

Re: Anti Cheat Engine
 
Zitat:

VAC2 [...] Ist das nicht auch direkt in der Engine?
Nein. Es liest nur rum und checkt Code Integrität und sucht nach Blacklisted Signaturen von Cheats.

Man kann Cheats nicht für ein und allemal aufhalten, aber man kann es immer ein Stück weit schwieriger machen.
Zitat:

Wenn du nicht selbst Autor des Spiels bist kannst du es so ziemlich vergessen das richtig zu machen.
Wieso?
Das HL SDK sollte übrigens alles vereinfachen. ;)

vlees91 13. Dez 2007 21:07

Re: Anti Cheat Engine
 
Und ausserdem muss es ja irgendwann moeglich sein, dass es ein Computer schafft so zu spielen wie ein Mensch, und das ganze ueber einen externen Computer funktioniert der per WebCam (haha) das Spiel sieht und mit nem Robotarm die Maus und Tastatur bedient. :drunken:

napsterxx 13. Dez 2007 21:36

Re: Anti Cheat Engine
 
Uff also gibt es kein wirkliches Kochrezept, um das zu lösen. Und was für möglichkeiten gäbe es noch neben dem AC die relativ sicher sind?

himitsu 13. Dez 2007 21:37

Re: Anti Cheat Engine
 
Zitat:

Zitat von vlees91
und das ganze ueber einen externen Computer funktioniert der per WebCam (haha) das Spiel sieht und mit nem Robotarm die Maus und Tastatur bedient. :drunken:

ala VM 'ne virtuelle Maus/Tastatur/Monitor

PaddyL 13. Dez 2007 22:24

Re: Anti Cheat Engine
 
Zitat:

Zitat von Neotracer64
Das HL SDK sollte übrigens alles vereinfachen. ;)

Hast du es dir auch ganz genau angesehen? Das HL SDK ist ein Template für DLL Files zum Erstellen von HL(2) Mods, nicht mehr und nicht weniger als vollkommen eigenständigen (sprich von anderen Mos - etwa CS(S) unabhängigen) Mods.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:09 Uhr.
Seite 1 von 3  1 23      

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 by Thomas Breitkreuz