Ariakans Blog

Montag, Dezember 31, 2018

Free PUBG Cheats

Die Zeit zwischen Weihnachten und Neujahr war schon immer was besonderes. Im Steam gibt es viele Angebote für Spiele und durch den Urlaub den die meisten haben, gibt es genügend Zeit zu zocken. So treibt mich vor der Geburt meines ersten Sohnes dann auch nochmal die Lust am Zocken an den Rechner. Dieses mal sollte es PUBG sein, schnell gekauft und installiert ist es ja. Dazwischen gab es dann noch ein paar Runden Fortnite Battle Royal. Ein paar perfekte Feiertage hätten es sein können, wäre da nicht dieses seltsame Noob-Gefühl das hin und wieder auftaucht. Mittlerweile bin ich in meinem 21. Jahr was Egoshooter angeht. Eigentlich macht mir da kaum einer was vor. Klar die Jungs mit dem irren Bautick bei Fortnite haben schon was besonderes, aber das hätten wir früher in Minecraft auch noch geschafft. Nein, das Gefühl ist ein anderes. Es ist dieses... "Woher wusste der bitte, dass ich hier bin?" oder "Wie kann der mich gesehen haben?" Wenn man eine gewisse Zeit diese Spiele spielt, dann weiß man an welchen Stellen man sehr wahrscheinlich stirbt und an welchen Stellen eben nicht. Aus Battlefield 1942 Matches ging ich regelmäßig mit 6 zu 1, 7 zu 1 oder noch besseren Kill/Death Raten vom Server. In Pubg hingegen, gibt es die Errungenschaft "4 Kills in einem Match" .... eigentlich keine Mühe und ich hab diese Errungenschaft in einem der ersten 10 Matches freigeschaltet. Aber irgendwas stimmte dennoch nicht, es gab diese Spieler die scheinbar 10 mal so gut waren. Davon mag es sicherlich einige geben, doch die Anzahl der Spieler die plötzlich besser waren als ich selbst war schon seltsam. So kam der Verdacht auf, dass etwas nicht mit rechten Dingen zugeht. Früher nannte man mich einen Cheater, wenn ich bei Battlefield 1942 mal ein paar Kills zu viel auf dem Konto hatte, jetzt sind die anderen Cheater? Vielleicht bin ich einfach schlechter geworden? Und so spielt man dann mit den Selbstzweifeln weiter und ärgert sich nicht mehr, wenn man umgehauen wird ohne zu verstehen warum. Aber so richtig los gelassen hat mich das Gefühl nicht, dass es Cheater in diesen Spielen gab. Trotz BattleEye und anderer AntiCheat Programme der Hersteller, die bei ihrer Installation so tief in das eigene Betriebssystem eingreifen, dass man sich bedroht fühlt durch diese "AntiCheat" Software.
Kommen wir also einfach mal zum Kern des Beitrags, den Cheats die mittlerweile in nahezu allen Egoshootern verfügbar sind und das Spiel dramatisch zugunsten der Cheater verschoben haben. Mit dramatisch meine ich, es sind so tiefgreifende Erweiterungen des eigentlichen Spieles, dass selbst mittel bis unterklassige Spieler auch Profis das Licht ausknipsen können. Nachstehend werde ich die Funktionsweise dieser Cheats erklären, ohne dabei Source Code oder Links auf diesen zu zeigen. Das Ziel dieses Beitrages ist es, die Spieler zu warnen und mittels Aufklärung über die Möglichkeiten aufzuzeigen was die großen Probleme moderner Spiele sind.

Multiplayer Prinzip:

Um gegeneinander Spiele zu spielen und das in einer gefühlten Echtzeit zu tun, verbinden sich alle Spieler mit einem Server. Dabei haben die Spieler unterschiedlich hohe Antwortzeiten zum Server. Das was Gamer meistens mit "Ping" bezeichnen. Hat jemand der einen niedrigeren Ping, so hat er einen Vorteil gegenüber demjenigen mit einem höheren Ping. Der niedrigere Ping "sieht den Gegner" meistens früher als, derjenige mit dem höheren Ping. Damit diese Latenzen so gering wie möglich bleiben, nutzen die meisten Shooter mittlerweile UDP Verbindungen und ziehen diese den TCP Verbindungen vor.
Der Grund für eine Bevorzugung von UDP ist vornehmlich das Handling von Paketen die verloren gehen. Bei UDP werden diese Pakete einfach als verloren angenommen und nicht mehr neu angefordert. Bei TCP wartet die Verbindung bis zu 200ms auf das verlorene Paket und sendet dann erneut die Abfrage zum Server um das verlorene Paket zu erhalten. Würde man mit diesem Verfahren Daten eines Egoshooters, also etwa die Position eines Spieler austauschen, so wäre die Position des Spielers unter Umständen 200ms alt. Der Spieler mit dem verlorenen Paket würde also eine alte Position des Spielers angezeigt bekommen und all sein Geballere würde im leeren Raum enden, da der Server beim Empfang der abgegebenen Schüsse, an dieser 200ms alten Position keinen Spieler mehr registriert hat.

Welche Daten werden denn jetzt eigentlich vom Server zum Spieler und umgekehrt übertragen?

Am Beispiel von Pubg oder Fortnite sind werden die folgenden Daten vom Server zum Spieler geschickt.
- Die Positionen der Spieler mit einer maximalen Entfernung zum Spieler. Dabei spielt es keine Rolle ob der Spieler hinter einer Wand ist oder nicht, denn die Auswertung der "echten Sicht" eines Spielers wäre zu aufwendig. Deshalb wird dies erst beim Rendern der Grafik auf dem jeweiligen Spieler PC gemacht.
- Kisten, Waffenpositionen, Monster, Fahrzeugen und sonst alles was nicht Bestandteil der Basismap ist.
- Zerstörungen und Gebäude anderer Spieler
- Schüsse ( mit den Eigenschaften Entfernung, Flugbahn, Typ etc.)

Dabei ist zu beachten, dass jeder einzelne Schuss etc. im Prinzip erst vom Spieler zum Server und von da zu allen anderen Spielern versendet wird. Üblicherweise packt der Server einige Daten zusammen in ein einzelnes UDP Paket, damit nicht für jede Kugel ein eigenes Paket an alle Spieler geschickt werden muss. Die Kill/Treffer Berechnung findet in solchen Fällen dann auf dem Server statt. Und wird gesondert als Paket an alle Übermittelt. Daher kommt der Effekt, dass man manchmal stirbt, obwohl man gefühlt schon sicher um "die Ecke" gerannt war. Bei Pings von 40ms bis 80ms kann das öfter vorkommen.

Wo greifen die Cheats?

Nachdem wir uns oben das Prinzip der meisten Egoshooter angesehen haben, erkennt man relativ leicht die Schwachstellen. So werden alle Informationen die der Server hat, auch an alle Spieler verteilt. So zum Beispiel die Positionen des Spielers. Ob man diesen Spieler im Spiel jetzt sieht oder nicht spielt dabei keine Rolle, aus Performance Gründen werden auch die Spielerpositionen gesendet, die eigentlich nicht sichtbar sind. (Spieler hinter einer Mauer, oder im Keller versteckt, etc.) Früher gab es Wallhacks mittels deren Hilfe man durch die gerenderten Texturen schauen konnte um so den dahinter stehenden Gegner zu sehen. Heute sind diese Wallhacks weitestgehend durch die verwendeten Grafikengines unterbunden. Daher weichen die Cheat-Entwickler nun auf den oben beschriebenen Datenverkehr zwischen Spieler und Server aus. Da bei den meisten Spielen der Datenverkehr unverschlüsselt zwischen Server und Spieler übertragen wird, lässt sich dieser Verkehr einfach einsehen und auswerten. Dem sind AntiCheat Tools hilflos ausgeliefert, da sie zumeist nur die Manipulation am Spiel selbst überwachen, aber nicht den Datenverkehr. Die Bibliothek winpcap ist eine von viele Möglichkeiten den Netzwerkverkehr zu überwachen und Datenpakete mit zu lesen. Man benötigt nach der Installation von pcap lediglich ein bisschen Programmierkenntnisse um die entsprechenden Pakete von beispielsweise Fortnite auszulesen, auszuwerten und irgendwo so zu visualisieren, dass einer Spieler damit etwas anfangen kann. Meistens werden die ausgewerteten Daten als Radarmap auf einem 2. Bildschirm dargestellt. Es ist allerdings auch eine Overlay Darstellung am gleichen Bildschirm möglich. Diese Art der Cheats funktioniert so auch bei Playstation 4 oder Xbox. Die einzige Voraussetzung dafür ist, dass der Datenverkehr zwischen Spieler und Server unverschlüsselt stattfindet. So kann es solche Cheats auch entsprechend für die PS4 und die XBOX geben. Das Problem ist auf den PCs schon länger bekannt, im Bereich der Konsolen ist es noch eher selten, mit dem aufkommendem Crossplay wird es aber auch zu einem großen Problem der Konsolenhersteller. Da die Cheats nicht einmal auf dem selben System wie das Spiel laufen müssen, lassen sich solche Cheats auch nicht erkennen. Lediglich durch eine Analyse des Spielverhaltens über mehrere Spiele hinweg könnten sich Muster zeigen, die die Verwendung einer solchen RadarMap nahelegen. Ein vorsichtiger Cheater könnte dem allerdings relativ leicht entgehen.

Verschlüsselung ein Mittel?

Ja und nein. Wenn der Datenverkehr vernünftig verschlüsselt würde, so könnten die Cheathersteller nicht ohne weiteres den Datenstrom auswerten und nutzen um beispielsweise die Radarmaps zu erstellen. Das setzt aber dann voraus, dass sowohl die Server als auch die Spielerechner ein bisschen Leistung zur Verschlüsselung verwenden. Das dürfte für so manchen Publisher ein wesentlicher Kostenfaktor sein um Verschlüsselungen solange wie möglich zu umschiffen. Weiterhin erhöht natürlich eine Verschlüsselung des Datenverkehrs die Schwierigkeiten für Regierungen die Spiele in einem entsprechenden Maße zu kontrollieren. So dürfte es beispielsweise schwierig sein eine Lizenz für ein Spiel in China zu bekommen, bei der der Datenverkehr zwischen Server und Spieler verschlüsselt ist. An dieser Stelle bildet die Volksrepublik sicherlich eine Hürde für viele Publisher, außerdem dürften viele Publisher den Datenverkehr selbst auswerten um größere Statistiken zu ihren Spielen zu erstellen und so ein Mittel an der Hand zu haben um Spiele zu optimieren und das Balancing zu optimieren. Würde man diese Auswertungen in die Intelligenz der Server integrieren, so wäre darin ein deutlicher Mehraufwand für die Publisher. Und die meisten Spiele, selbst Pubg und Fortnite wo es von Cheatern nur so wimmelt, scheinen ihren Umsatz ja zu machen ohne auf allzu restriktive Maßnahmen gegen Cheater zu setzen. Also werden wir wohl damit umzugehen haben, dass es in Spielen einige Spieler gibt die mehr Wissen als sie eigentlich Wissen sollten. Ein Ende der Cheats ist damit leider nicht zu erkennen.

Wer dieses Phänomen selbst erleben will, dem sei empfohlen an den ersten Tagen einer neuen Season Fortnite zu spielen und mal zu vergleichen wie sich das Spiel 3-4 Wochen nach Beginn der Season spielt, dann wenn auch die einfachsten Radarmaps auf die neue Season gepatched wurden und alle Cheater wieder voll ausgerüstet durch die Gegend laufen. Eine Lösung wäre meiner Meinung nach eine konsequente Verschlüsselung des Datenverkehrs und das damit verbundene Sicherstellen der Integrität des Datenverkehrs. Dies ist allerdings mit Kosten für die Publisher verbunden, welche die Kosten natürlich auf ihre Kunden umlegen werden. Gerade im Bereich der "free2play" Titel sind aber solche Kosten oftmals unerwünscht und werden wohl oder übel dazu führen, dass wir noch eine ganze Weile dieses Cheater Problem haben.

Donnerstag, Juli 12, 2018

Am Transfermarkt

Hallo. Einen Hünen bitte, blond gelockt mit blauen Augen wie das Meer. Für die Vordertür, zum Schutz und als Hilfe bei den Wasserkästen.

Oh, nicht? Dann vielleicht einen schlauen Engländer? Mit Diplom bitte.

Auch nicht? Nun, wann kommen denn die nächsten aus dem Süden? Gerne einen Schwimmer, die sind nicht so empfindlich.

Ach ja, dann eben den Ronaldo für 100 Millionen.