Anti Cheat bzw. Anti Hack Engine

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Anti Cheat bzw. Anti Hack Engine

    Hallo liebe Communety.

    Ich habe mit 6-10 anderen ( Bis jetzt ) ein online Spiel in Bearbeitung.
    Jedoch kann man dies mit einer "Cheat-Engine" hacken ( Speedhack etc. ).
    Nun wollte ich hier mal rumfragen, wie man denn eine Anti Hack Engine am besten anfangen sollte und
    ob man dafür bestimmte Dlls o.ä. benötigt.
    Ziel ist, wenn diese Cheat Engine offen ist, dass man sich nicht einloggen kann ( Oder zu Mindest so ähnlich ),
    hauptsache man kann nicht spielen.

    Mit freundlichem Gruß
    icqgamer
  • Du könntest alle Variablen verschlüsseln und nur mittels Funktionen, die direkt ver- und entschlüsseln auf sie zugreifen.
    Vielleicht... ;P
    "das war meine letzte flamewar PM an dich ."
  • Einnel schrieb:

    Wenn es ein Online Spiel ist und keinen offenen Server hat ist es theoretisch sowieso egal. Man kann nur über den Server die Variablen global ändern.


    Eine Hilfe für das Thema stellt dieser Beitrag ja nicht umbedignt da, daher für mich nur unnötiger Spam.

    So zum Thema zurück:
    Ich habe Anti Hack Engine gesucht und etwas gefunden, jedoch Download vorübergehend defekt.
    gmc.yoyogames.com/index.php?showtopic=338771
    Woanders habe ich leider nichtsmehr gefunden...
    Hat jemand anders vielleicht noch Hinweise / Tipps wo ich suchen könnte?

    Mit freundlichem Gruß
    icqgamer
  • Scheint aber nur auf Strings bezogen zu sein, oder?
    Weil ich persönlich würde nichts davon haben, wenn z.B. die Variable für's Geld ein Realwert ist.
    Afaik gibts auch noch mit der 39Dll Funktionen zur Verschlüsselung ( Ich glaube md5-Algorithmus, kannst du dir ja mal ansehen ;) ),
    oder man benutzt jedesmal string_digits (...) oder so...

    EDIT: @Einnel: Werden Onlinespiele nicht normalerweise mit dem Ziel gemacht, es zu veröffentlichen?
    Auch wenn ich kaum welche rausbringe, mache ich doch persönlich so gut wie jedes Spiel mit diesem Ziel^^
  • icqgamer schrieb:

    Einnel schrieb:

    Wenn es ein Online Spiel ist und keinen offenen Server hat ist es theoretisch sowieso egal. Man kann nur über den Server die Variablen global ändern.

    Eine Hilfe für das Thema stellt dieser Beitrag ja nicht umbedignt da, daher für mich nur unnötiger Spam.
    Im Gegenteil. Alles, was du clientseitig an Vorsichtsmaßnahmen vornimmst, kann umgangen werden und wenn es darauf hinaus läuft, dass jemand einen von Grund auf neuen Client schreibt. Die mächtigste Waffe gegen Cheating und Hacking in einem Online-Spiel ist der Server.
    Nur mal ein Beispiel, ein Spieler schickt einem anderen Gegenstände:
    FALSCH: Spieler schickt eine Nachricht mit dem Gegenstands-Typ an den Server und der leitet das ohne weiteres weiter.
    RICHTIG: Server führt Protokoll von den Gegenständen aller Spieler. Wenn jemand versucht etwas mit einem Gegenstand zu machen, den er nicht besitzt, wird die Nachricht ignoriert bzw. gemeldet, um Cheater aufzuspüren.

    Wallhacks usw., bei denen der Server oftmals viel Rechenleistung aufbringen muss, um diese vernünftig abzudecken, kann man auch mit einem System verhindern, das Spieler die Möglichkeit zum melden von Cheatern, Hackern und Bug-Usern gibt. Da kommen dann Moderatoren/Game Master zum Einsatz, welche in den Logs nachschauen und so Störenfriede verbannen können.

    Variablen zu sichern ist zwar auch eine Vorsichtsmaßnahme, die nicht unbedingt für die Katz' ist (im Gegenteil), allerdings scheint das in diesem Fall mehr eine Ausrede zu sein, um keinen sicheren Server schreiben zu müssen, was übrigens eine ganze Menge Arbeit bedeutet :P
  • Hm danke mal wieder für die vielen Antworten^^
    Ich beschriebe mal das Problem..

    Ich öffne den Client.
    Ich öffne das Programm Cheat Engine ( Ich weiß, das ist nicht gerade gut für den PC, aber das benutze ich nur solang ich den Client nicht hacksicher gemacht habe d.h. nur für Tests. )
    Hier öffne ich jetzt den CLient ( Also den Prozess sozusagen ) und mache rechts einen Haken in Speedhack rein.
    Jetzt kann ich bestimmen wie schnell er sein soll, auf Apply klicken und dann läuft er dort schneller...
    Ich bin mir sicher, dass dieser Vorgang auch mit HP etc. gemacht werden kann.
    Es liegt nicht an den Variablen o.ä., glaube ich jedenfalls.

    Mit freundlichem Gruß
    icqgamer
  • Ja und jetzt liess dir nochmal copyboys post durch, dann wird dir vielleicht auffallen, dass sich nicht der client um seine speed schären sollte, sondern der Server.
    "das war meine letzte flamewar PM an dich ."
  • Es ist aber auch unsinn jede Variable zum Server zu schicken und sie zu überprüfen, da versteh ich icqgamer.
    Denn was er meint ist ja dass einfach einer in die Struktur des Spiels eingreift und die Variablen ändert. Und jetz bei jeder Variable das zu überprüfen braucht ja auch eine gewisse Rechenleistung.
    Es geht ihm darum das Cheaten schon auf der Clientseite zu unterbinden und nicht erst beim Server. Da gabs aber auch mal irgendsowas, das die komplette gmk verschlüsselt und die variablen etc unlesbar macht.

    © 2008 by Teamgrill Productions
  • Man schickt ja nicht unnötig Variablen zum Server, was auch nichts bringt. Es geht um die Sachen, die sowieso durchden Server geschickt werden, wie Positionen, Aktionen, etc. Ich frage mich gerade echt, ob man meinen Post überhaupt ganz gelesen und verstanden hat ... Du kannst es auch gerne ausprobieren. Mach deinen Client zu einer Bombensicheren Festung und lass den Server machen, was der Client ihm befiehlt.
    Wie gesagt, es geht nicht darum, dass man den Client praktisch offen für alle Möglichen Cheater lässt. Du kannst gerne bestimmte Vorsichtsmaßnahmen in diese Richtung vornehmen. Aber wenn du in Sachen Anti-Cheating wirklich was tun willst, musst du dich erst um den Server kümmern. Der sendet immerhin die Nachrichten von Spieler zu Spieler.
  • So ich bedanke mich hiermit bei allen.^^
    Ich habe gefunden, was beim Client gehackt wird.
    Desto höher der Speed gehackt wird, desto nioedriger ist die fps, das heißt hier wird die fps gehackt.
    Nun habe ich ein simples aber auch sehr empfindliches Anti Hack System geschrieben.
    Wenn also nun die fps niedriger ist als erlaubt, wird der Benutzee- und Spielername der Person gespeichert und hochgeladen, so dass ich sehen kann, wer gehackt hat.
    Dazu hoch wird die fps des Spielers gespeichert.

    Mit freundlichem Gruß
    icqgamer
  • Die Idee ist, mit verlaub, Schwachsinn. Was ist, wenn ein Spieler einen langsameren PC hat? Oder wenn
    er noch was anderes im Hintergrund laufen hat?
    Dann sinkt die Frame Rate auch und dein Spiel würde ihn als Hacker brandmarken.
    An deiner Stelle würde ich das nochmal überdenken.
    Gruß, Spellmaker
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Dass die FPS runter gehen liegt wahrscheinlich nur dran, dass dein Computer die zusatzlichen Steps/Sekunde nicht packt.
    Oh, und was ist, wenn man einen schlechten Computer besitzt, einen temporären Geschwindigkeitseinbruch hat oder das Spiel (warum auch immer) für eine oder meherere Sekunden einfriert? *kopfschüttel* Du geht da völlig falsch ran!

    EDIT: Ich glaube die Hacks gaukeln dem Spiel vor, die Zeit würde schneller vergehen. In diesem Fall würde weder fps noch current_time helfen.
    EDIT @ Phoenix: Die FPS können auch auf 0 fallen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von copyboy ()