Es ist grundsätzlich unmöglich zu überprüfen, ob eine unveränderte Version Ihres Clients eine Verbindung zu Ihrem Server herstellt.
... es sei denn, Sie tun, was ist notwendig, um es zu gewährleisten. Dies bedeutet clientseitige manipulationssichere Hardware.
Wenn Ihr Code auf dem Computer des Clients ausgeführt wird, kann der Computerbesitzer einen Debugger ausführen und den Clientcode jederzeit mit beliebigen Werten ändern. Der "Debugger" kann eine vollständige virtuelle Maschine sein. Wenn Sie dies vermeiden möchten, können Sie versuchen, sich auf ein ausgeklügeltes hide&seek-Spiel einzulassen, in dem Sie sich zusätzliche Erkennungssysteme vorstellen, und Angreifer begegnen diesen mit Varianten ihrer eigenen Tools. Dies ist das Problem von Menschen, die versuchen, Anti-Cheat-Softwarelösungen zu entwickeln (z. B. PunkBuster). Dies ist auch das Problem von Personen, die Video-on-Demand-Dienste verkaufen und gleichzeitig verhindern möchten, dass die Kunden die Videos lokal speichern und dann auf verschiedenen Filesharing-Plattformen veröffentlichen.
Zusammenfassend lässt sich sagen, dass diese Schutzmaßnahmen funktioniert nicht gut, selbst wenn die zu schützenden Daten so trivial sind wie zusätzliche Leben in einem Spiel.
Um dies zu vermeiden, müssen Sie Ihren Code auf geschützter Hardware ausführen, die sich gegen Deep verteidigt Inspektion von seinem mutmaßlichen Besitzer. Dies ist das Modell von Spielekonsolen, Zahlungsterminals und Smartcards.
Ein TPM ist ein Versuch eines Kompromisses: ein manipulationssicheres Modul, das auf einem ansonsten normalen PC ausgeführt wird ;; Hierbei wird davon ausgegangen, dass es für einen normalen Benutzer zu schwierig ist, die Hardware so zu ändern, dass beispielsweise der gesamte RAM gelesen und geschrieben wird, ohne die Teile zu durchlaufen, die vom TPM-Modul (z. B. der CPU) überwacht werden.
Ohne solche Hardware auf der Clientseite funktioniert das, was Sie versuchen, nicht. Es sei denn, eine Änderung des Client-Codes wäre so wertlos, als es niemand versucht. Es hängt alles vom Wert dessen ab, was hier auf dem Spiel steht.