google winsock.
Dir kann man es aber auch nicht ausreden, oder?
google winsock.
Dir kann man es aber auch nicht ausreden, oder?
@He3lixxx,
Nein kann man nicht
Verstehe das nicht, wie kann ich damit zum SA:MP Server informationen schicken?
Ich hab davon zwar wenig Ahnung, aber ich würde mal darauf tippen das du dir ein extra Plugin schreiben musst für deinen SA-MP Server um dann zwischen AC Client und dem Server (via Plugin) zu kommunizieren.
Oder du nutzt Sockets und das bereits existierende Sockets Plugin für SA-MP.
ICh überlege gerade dieses Plugin zutesten:
http://forum.sa-mp.com/showthread.php?t=171598
Habe aber eben wenig Erfahrung...
Und was macht man wenn man keine ahnung hat und es gerne könnte? Man arbeitet sich in die materie ein, klein anfangen und langsam aufbauen.
Einige leute hier haben wirklich gute Ansätze, aber die meisten bringen mich einfach zum Schmunzeln.
Meine Ideen die eines Anti-Cheats angeht wären die folgenden:
Falls ein User von deinem Anti-Cheat herausgewurfen wird kannst du dir die Datei genau anschauen sie Uploaden und die dann z.b Whitelisten.
Somit gibt es keine Probleme mit User die gebannt werden durch ENB Series etc. du kannst sie mit einem guten Team schnell genug Entbannen.
Alle Bans werden auf einem Webinterface angezeigt und zeigen den Grund sowie andere Infos. (Memory Editing, File Checksum, Cheat Tools, ...)
Ich nehm das mal kurz auseinander, mal sehen was wirklich "gut" davon ist
Scannen der Datein im GTA Ordner. Also das vergleichen der Hashes im Ordner mit eine auf dem Server liegenden Datenbank
Ja klar und wer lässt das freiwillig machen ?
Ich möchte doch sehr stark anzweifeln, dass dies überhaupt eine verlässliche Möglichkeit sein würde, Cheats zu detecten. Schließlich gibt es die Cleos nicht nur einmal.
Module des Prozesses an den Server senden und auch mit einer Liste abgleichen. (Unbekannte Module == Ban)
Ich schätze mal du hast keinen Plan davon wie "s0beit" überhaupt funktioniert, das lädt sich nicht einfach als "modul" in GTA, das liegt als d3d9.dll in GTA Verzeichnis, weil GTA directx9 benötigt.
Nein es hilft auch nicht einen Hash daraus zuermitteln...
Prozess bzw. Memory mit bestimmen Patterns von Cheats scannen.
Ist ne gute Idee nur viel zu Aufwendig um einen guten Schutz zu gewähren, bei jeder neuen "Version" ändern sich die Memoryplätze
Fenster Titel auslesen von Programmen die geöffnet sind und Windowsclass sowie Pfad der Anwendung an Server senden
s0beit ist doch kein Programm. Würdest du dir deinen PC einfach so durchleuten lassen ?
Halb-Stündlich Screenshots von Game durch eigenen DX Hook uploaden. (neuen Hochladen, alten ersetzen)
Schätzungsweise wird auch das nicht wirklich funktionieren, wenn sich der Hook vor "s0beit" hängt, statt dahinter wirst du keinen Screenshot mit dem "s0beit" Layout bekommen.
Ban Waves spieler Loggen und die DNS Cache auf Anti-Cheatseiten auslesen (keine Privatsphäre verletzen!)
Ach aufeinmal soll die Privatsphäre gewart werden...
Merkst selbst.
Task's / Prozesse auf bekannte Scannen
Ich hab schon gesagt das das nichts bringen wird.
Abgleiche ingame treffen z.B Datenbank mit zwischen Werte abgleichen (Geld von z.b $1000 in 1 Stunde auf $1.000.000)
Das sollte anders funktionieren, aber seis drum.
Carspeed auslesen (Hooking von GTA) Differenz von A zu B ausrechnen (Wenn Speed >= erlaubt == Ban)
Du meinst Distanz und nicht Geschwindgkeit.
"s0beit" kann, oder tut es sogar, GetVehicle/PlayerVelocity so minpulieren, dass die Geschwindigkeit im normalen Bereich bleibt.
Anti-Cheat protcten mit bestimmen Tools.
Klar sollte man tun, aber kaum jemand wird sich wohl die mühe machen den Auseinander zu nehmen. Nicht zu vergessen das es noch reverse Engineering gibt.
Encrypted verbindung von Client und Server (Wichtig!)
Dazu muss ich wohl nichts sagen
Strings verschlüsseln vom Anti-Chear
Das bringt bitte was ?
Wer seine MySQL Daten direkt im Source hinterlegt, gehört geschlagen.
GTA EXE modifizieren das ändert z.b die Memory-Addressen
Dann funktioniert samp auch nicht mehr.
Klasse
Ich frage mich sowieso immer, wofür man einen Anti-Cheat Client braucht. Die Admins sollten kompetent genug sein, um zu bemerken, dass sich jemand mit zu schneller Geschwindigkeit über die Straßen bewegt. Geld-Cheats funktionieren sowieso nicht, HealHack auch nicht. ( Wenn man mit Serverside-Variablen arbeitet ).
Das einzige Problem ist Aimbot. ( Wobei das auf einem Reallife/Roleplay-Server sowieso sinnlos wäre ). Aber wer von 20 Schüssen 21 trifft, hat wohl externe Hilfe
Aber wer von 20 Schüssen 21 trifft, hat wohl externe Hilfe
Wurde schon oft genug gebannt wegen Aimbot, auch wenn man ihn nicht hat.
Ich persönlich habe nichts gegen einen Anti-Cheat, vorallem gegen Hacks wie Nametag, Aimbot o.Ä. wäre das hilfreich.
Aber wenn ein kleiner GF Server einen Anti-Cheat Client hat, denke ich mir meistens das sich gleich von meinem PC die Maus "alleine" Bewegt.
Lg
Also gegen die meisten hacks kann man sich sowieso schützen falls man ein gutes AntiCheat hat dafür braucht man nicht extra einen client zum anderen kann ich dir sagen das viele Leute einfach kein Bock haben sich noch etwas zu downloaden um einen Server zu testen. Ich frag mich wovor Serverbesitzer solch eine Angst haben. Es ist ja nicht so das man auch Personal hat welches die Leute auf dem Server überwachen.
ZitatJa klar und wer lässt das freiwillig machen ?
Ich möchte doch sehr stark anzweifeln, dass dies überhaupt eine verlässliche Möglichkeit sein würde, Cheats zu detecten. Schließlich gibt es die Cleos nicht nur einmal.
Das Anzweifeln würde ich nicht, denn Cleo-Mods besitzen ja eine spezielle Dateiendung.
Sowohl kann man die gesammte Struktur von dem GTA Ordner an den Server senden und mit Black / Whitelist arbeiten. (Interface lässt grüßen)
Freiwillig? Es will ja keiner andere Datein anschauen sondern nur die im GTA Ordner. (AGB ftw)
Zitat
Ich schätze mal du hast keinen Plan davon wie "s0beit" überhaupt funktioniert, das lädt sich nicht einfach als "modul" in GTA, das liegt als d3d9.dll in GTA Verzeichnis, weil GTA directx9 benötigt.
Nein es hilft auch nicht einen Hash daraus zuermitteln...
Nur weil die Datein von S0beit nicht unmittelbar in den Prozess injected werden heißt es nicht das es keine Module läd.
Starte mal dein OllyDBG und öffne mal die ganzen Modules vom Prozess, wirst merken das die Datei doch geladen wird.
Wenn sie geladen ist kannst du gern die Größe von dem Module abfragen und das vergleichen.
Die Chance ist niedrig das es ein Modul im GTA Prozess gibt das die gleiche größe hat. (Memory section)
Daraus machst dir dann ne Liste wenn du die Daten von den Spielern gesammelt hast und nun hast dein s0beit detected.
Benutzt es eventuell Module-Hiding und sitzt in ner Driverprotection was unwahrscheinlich ist hast Pech.
ZitatIst ne gute Idee nur viel zu Aufwendig um einen guten Schutz zu gewähren, bei jeder neuen "Version" ändern sich die Memoryplätze
Die Mehrzahl der User haben keine Ahnung wenn sie Cheats benutzen das sich die ganzen Speicheraddressen bei ner neuen Version ändern.
Siehst doch an Punkbuster das es klappt oder? Was denkst du wieso die meisten Public Hacks nach paar Tagen eine Detection haben.
Weil Hashes, Patterns etc. gecheckt werden und der Public Hack blacklisted ist.
Und ausserdem, sobald du Patterns benutzt die den Cheat in der Memorysection detecten und müsste man die ganzen Funktion im Cheat recoden bzw. Stark abändern.
Zitats0beit ist doch kein Programm. Würdest du dir deinen PC einfach so durchleuten lassen ?
Geht doch nicht nur um S0beit oder? Gibt viele Kinder die versuchen mit Cheat-Engine, Memory zu Editen.
Auch gibt es Cheat-Engine Tables die ganze Cheats sind und die du damit z.B für Amateure nicht zugänglich machst. CheatEngine, CrySearch, TSearch, u.s.w
Eventuell auch Tools die dir nen Lag oder nen Extern Aimbot herbeizaubern.
Ist also kein Durchleuchten denn es wird ja nur nach bekannten Prozessen gesucht und wenn diese gefunden werden => Ban / Prozess Quit
ZitatSchätzungsweise wird auch das nicht wirklich funktionieren, wenn sich der Hook vor "s0beit" hängt, statt dahinter wirst du keinen Screenshot mit dem "s0beit" Layout bekommen.
Wenn die Leute auf deinem Server eventuell Chams verwenden oder andere Wallhacks, geht ja nicht nur um s0beit, dann hilft es dir was.
Ebenso kannst du auch Overlays abscreen, wirst es nicht glauben aber es ist möglich trotz Overlay das Fenster "allein" ohne andere Fenster zu Screenen.
Oder wieso möchtest du dir erklären das Treyarch Anti Cheat dir deine externen Overlays fickt trozt Driverprotection. (ring0 => kernel)
Also vollkommen richtig!
ZitatAch aufeinmal soll die Privatsphäre gewart werden... Merkst selbst.
Ich merk es selbst, wir möchten ja nicht wissen welche Personen auf irgendwelche Pornoseiten herumstreunern.
Also sollten diese Daten wie Online Banking etc. sowie irgendwelche Accesskeys (Battlelog z.b) nicht eingesehen werden.
Sondern nur ein virtueller abgleich der Datenbank mit dem Client ohne das man die besuchten Seiten vom Client sieht.
Also doch ziemlich Sinnvoll wenn man z.B nach IP's von bekannten Cheatseiten sucht.
ZitatIch hab schon gesagt das das nichts bringen wird.
Achso, dann erklär mir mal bitte wieso das nicht's bringen soll?
Man kann zwar Console-Programme umbennen, aber du kannst doch deine Prozesslist laden und die Dateipfade der Prozesse abgleichen und dir die Hashes von den Anwendungen zukommen lassen und die dann auch mit der Datenbank abgleichen.
Wie schon gesagt, ein Meister verrät nicht alle Tricks sondern gibt nur Hinweise.
ZitatDas sollte anders funktionieren, aber seis drum.
Wieso sollte das anders Funktionieren? Wenn du dir ein Anti-Cheat Codest das Extern vom Spiel läuft dann kannst du doch sowas gern einbauen.
Dann Kickt man schon die Kiddies heraus die sich Lokal versuchen das Geld auf den GTA Servern mit Memory zu ercheaten.
Ebenso Kids die versuchen ihren Speedhacks etc. freien lauf zu lassen. (Spielerhöhe, Geschwindigkeit, Munition wenn zu viel)
Nebenbei, auch wenn bei der Waffe mittlerweile 999 bei der Munition steht und oder schon im Minus ist wird es in Memory noch immer Addiert.
Zitat
Du meinst Distanz und nicht Geschwindgkeit.
"s0beit" kann, oder tut es sogar, GetVehicle/PlayerVelocity so minpulieren, dass die Geschwindigkeit im normalen Bereich bleibt.
Nein, ich meine wenn du die Zeit zwischen 2 Punkten berechnest die du brauchst um von A nach B zu kommen dann bekommst die was hast du dann?
Richtig! Die Zeit die man benötigt um von A nach B zu kommen. Dann den Zurückgelegten weg und Zack! Bingo!
ZitatKlar sollte man tun, aber kaum jemand wird sich wohl die mühe machen den Auseinander zu nehmen. Nicht zu vergessen das es noch reverse Engineering gibt.
Falls man sein Tool mit verschiedenen Packers und eventuell selbst erstelle Packer schützt wird es schon schwieriger es erstmal zu Entpacken. (Unpacking)
Dann haust du noch eine Virtualisierung darüber und gewisse Funktionen die Stoppen das man es z.b in IDA öffnen kann.
Kannst dann auch die Debugger Crashen lassen etc. es lässt einen keine grenzen hier.
ZitatDazu muss ich wohl nichts sagen
In der Welt gibt es ja genug Idioten die denken sie können eine Verbindung in der Öffentlichkeit ohne Encryption stehen lassen.
Selbst anfänger können damit Packete editieren...
ZitatDas bringt bitte was ?
Wer seine MySQL Daten direkt im Source hinterlegt, gehört geschlagen.
Wieso soll man denn nicht die ganzen Spieler wenn sie den Client eh benutzen in einer eigenen Datenbank lümmeln lassen?
Man kann sich extern vom Server nen Interface einrichten und alles drüber laufen lassen.
Die Datenbank z.B um Hardware ID's und Informationen zum System zu listen um Spieler eventuell zu Bannen vom Client.
Um alles extern vom Server zu haben. Und es hat auch niemand gesagt seine SQL Daten im Client preis zu geben. (PHP ftw?!)
ZitatDann funktioniert samp auch nicht mehr.
Klasse
Nicht wenn mans richtig macht.
Und ich denke ich konnte dir nun gut genug Schildern das hier keiner meiner Ideen nicht möglich wären umzusetzen und das du doch ein kleines bisschen Unrecht hast.
Nur weil du Programmierst und es auch beherschen möchtest brauchst du nicht denken das hier andere User mit 40 Posts keine Ahnung haben.
Nächste mal hälst du dich ein bisschen Zurück.
Mit deiner anschuldigung würde ich mich mal zurückhalten, BlackAce ist in meinen Augen einer der wenigen, hier im Forum, die sich in dieser Materie wirklich auskennen und darüber hinaus auch weiter.
Desweiteren, alles was du jetzt argumentierst, zeigt das du nicht wirklich verstanden hast, was er von dir will.
Mit deiner anschuldigung würde ich mich mal zurückhalten, BlackAce ist in meinen Augen einer der wenigen, hier im Forum, die sich in dieser Materie wirklich auskennen und darüber hinaus auch weiter.
Desweiteren, alles was du jetzt argumentierst, zeigt das du nicht wirklich verstanden hast, was er von dir will.
Ist ja richtig das er mir mitteilen möchte das manche Funktionen im AntiCheat unnütz sind.
Trozdem sollte er mich nicht hinstellen als wenn ich keine Ahnung hätte.
Nur weil man sich in der Masse zwischen den Leuten unten hält heißt es nicht das man nichts kann.
Das ist doch der Sinn von einem Diskussionsforum? Das man Leute auch mal berichtigt?
Aber wenn es dich beruhigt, ich bezweifle das er das gemacht hat, wegen deiner Beitragszahl, das würde auch bei den anderen wenigen so rauskommen.
Alles anzeigen
Sind ja alles ganz nette Ansätze, aber ich kann dir sagen, dass Hashwerte von Datein nicht ratsam sind.
Man überlege mal wie viele verschiende ENB Series Varianten es gibt.
und hier ist auch schon das Problem. Wenn man die von dir oben genannten Varianten nutzt, sperrt man fast immer auch gleich ENB Series mit aus, was man idR ja eigentlich nicht will.
Die effektivste Methode ist wirklich den RAM zu durchsuchen nach bestimmten Werten zu und das auszuwerten.
Nach dieser Auswertung kann man die User dann aussortieren.
Eine Variante dazu hab ich mal geschrieben.
Und ja - das funktioniert.
Hey, ich bräuchte einen kleinen Denkanstoß dazu, wie soetwas aussieht.
Wärst du so nett :)?
Also wie man den RAM ausliest, und die Werte auswertet.
Und gibt es sonst noch eine Möglichkeit direkt Cleo zu blockieren?