Laden...

Programm gegen Veränderung von Außen schützen

Erstellt von Neokil vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.738 Views
Neokil Themenstarter:in
206 Beiträge seit 2008
vor 11 Jahren
Programm gegen Veränderung von Außen schützen

Hallo,

ich bin grade dabei einen kleinen Shooter zu programmieren und jetzt stellt sich mir die Frage, ob es möglich ist das Spiel gegen Veränderung von außen zu schützen, sodass mit beispielsweise CheatEngine nicht einfach die Werte geändert werden können.
Ist es möglich den Speicher für andere Programme zu sperren oder muss ich dafür ein externes Programm schreiben, das alle Schreibzugriffe überwacht?

Gruß
Neokil

16.842 Beiträge seit 2008
vor 11 Jahren

Da irgendwann alle Aufrufe in MaschinenCode umgewandelt wird, kann man sich 100%tig sowieso nie davor schützen. Aber so weit muss man gar nicht gehen, da man trotz virtualisierter Speicherverwaltung relativ einfach auf die Speicheradressen von anderen Prozessen zugreifen kann. Meistens werden daher wichtige Werte nicht nur an einer, sondern an vielen (auch versteckten) Stellen abgelegt, synchronisiert und verglichen.
Professionelle Firmen geben jedes jahr Millionen an Euro aus, um sich über neue Anti-Cheat-Mechanismen Gedanken zu machen - meist ohne langen Erfolg.

Es gibt eine Cheat Engine; kannst ja mal schauen, was die so alles abfragt und macht, und Möglichkeiten des Schutzes suchen.
Das Forum hat übrigens eine Suche, mit der Du auch ähnliche Themen finden kannst: Suche Tipps und Ansätze, um ein Anti-Cheat-Tool zu coden

T
2.224 Beiträge seit 2008
vor 11 Jahren

Wenn du den Shooter nicht verkaufen willst spar dir den Aufwand.
Wie der Vorredner bereits schrieb, versuchen Firmen erfolglos solche Sache mit Millionenbeträgen zu lösen.
Aber selbst das scheitert meistens.

Wenn du den Shooter kostenlos anbietest, lohnt sich sowas für dich eh nicht.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

Neokil Themenstarter:in
206 Beiträge seit 2008
vor 11 Jahren

naja, allerdings habe ich so das Gefühl, dass die Anti-Cheat Programme schlechter werden, je mehr Geld reingepumpt wird. Wenn man mal bei aktuellen Spielen (Bsp. CoD MW3) Vergleicht was die Anti-Cheat-Engine des Herstellers und die der Cracker leistet^^

T
708 Beiträge seit 2008
vor 11 Jahren

Um generell mal zu verstehen, wie simpel* solche Hacks zu realisieren sind, gibt es ein super Tutorial wie man Minesweeper auslesen kann:
Minesweeper-Behind-the-scenes

Das hat mir schonmal sehr gut geholfen wie die Grundlegende Technik überhaupt funktioniert. Bei aktuellen Spielen ist diese aber natürlich völlig nutzlos.

*Bezogen auf "Wenn man einmal weiß wie es geht"

Neokil Themenstarter:in
206 Beiträge seit 2008
vor 11 Jahren

Wie das an sich funktioniert weis ich, ich hab bei für CoD MW und MW2 schon externe Hacks geschrieben, die einfach den Speicher auslesen und extern über das Spiel zeichnen (funktionier nur im Fenstermodus) und diese Hacks wurden von Steam nie erkannt. (AlterIWNet konnte das!)

D
216 Beiträge seit 2009
vor 11 Jahren

Steam an sich macht auch nichts gegen Hacks, Steam verkauft spiele, und solange die Geld bekommen, ist denen egal ob wer hackt (bei Spielen von Valve ist das wieder was anderes (TF2, CS, ...), aber die benutzen auch externe Anticheatprogramme). Bei CoD wäre das Punkbuster, was nicht auf allen Servern aktiviert ist. Ich bin mir ziemlich sicher, dass Punkbuster dich mit deinen "Hacks" nicht auf einem Server hätte spielen lassen, auf dem das aktiviert ist.

Neokil Themenstarter:in
206 Beiträge seit 2008
vor 11 Jahren

CoD hat zwei verschiedene Hersteller, die sich abwechseln und Treyarch und Infinityward und Infinityward hat keine Dedicated Server und kein Punkbuster. Die benutzen das VAC (Valve Anti Cheat) und das erkennt keine Externen Hacks (Es erkennt noch nicht mal Pattern-Scans).
War vielleicht blöd formuliert, es war VAC und nicht Steam an sich gemeint.