Die einfache Dekompilierung / Rückentwicklung des Client-Codes ist eigentlich nur ein kleines Hindernis. Unternehmerische Hacker haben jahrelang ausführbare Dateien nach ihrem Willen (böswillig und nicht böswillig) gebogen, bevor hochrangige, trivial zu dekompilierende Sprachen wie C # auf den Markt kamen. Sicherheit durch Dunkelheit allein ist überhaupt keine Sicherheit.
Alle Daten auf dem Computer des Benutzers (Code oder reguläre Asset-Daten) sind im Wesentlichen bereits gefährdet. Sie können sich nicht wirklich davor schützen - wenn Sie nicht möchten, dass Benutzer Daten bearbeiten, legen Sie sie nicht auf ihrem Computer ab, sondern speichern Sie sie auf Ihren Servern. Wenn Sie nicht möchten, dass sie den Code im Client ändern, stellen Sie sicher, dass der Client keine Kontrolle über nützliche Funktionen hat.
Wenn dies keine Option ist (zum Beispiel ist Ihr Multiplayer vollständig Peer-to-Peer), können Sie beispielsweise Hashes der relevanten Assets berechnen und nur zulassen, dass Personen miteinander spielen, wenn die Hashes übereinstimmen. Ja, jemand könnte die ausführbare Datei sorgfältig so bearbeiten, dass sie einen anderen Hash zurückgibt. Dies sollte jedoch nur bedeuten, dass der betreffende Spieler relativ schnell desynchronisiert und vom Spiel getrennt wird, da sein Vermögen nicht mit dem Rest des Spiels übereinstimmt die Spieler'.
Sie können auch einen Test vom Typ "Mehrheitsregeln" verwenden, mit dem Sie Spieler trennen können, deren Simulation nicht mehr mit anderen Spielern synchronisiert ist, und dem "Host" -Spieler (der das Spiel gestartet hat) die entscheidende Stimme geben.