Dead By Daylight - Drophack

      Dead By Daylight - Drophack

      Hey,
      ich hab vor ein paar Tagen mit Packet Sniffern rumgespielt um einen Aktivierungsvorgang bei einem Programm loszuwerden und hab damals auf Reddit parallel von Drophacks bei Dead By Daylight gelesen.
      So nachdem ich dann nach stunden langem rumprobieren und Tools google'n das dann endlich manuell hingekriegt hab.
      Dachte ich mir, dass wäre was für codebot.

      Zum Spiel:

      Wer das Game nicht kennt gibt's auf Steam für 19,99€.
      Ich hab's von Kinguin für 15€ und ein Freund hat sich's mit einem russ. VPN für 5€ geholt.
      Würd's als Survival-Arena bezeichnen.
      Asynchrones Horrorspiel, d.h. 1 Killer gegen 4 Survivor.

      Die Survivor müssen 5 Generatoren in Stand setzen um die Ausgänge zu öffnen.
      Der Killer wird halt jedes Mal benachrichtigt, wenn ein Generator fertig ist. Also weiß we in etwa wo man sich dann aufhält.
      Zudem hinterlassen Survivor "Scratch-Marks" im Gelände wenn sie laufen. Die kann nur der Killer sehen und bleiben ~10s sichtbar und verblassen währenddessen.
      Man kann aber natürlich auch nur gehen.
      Es dauert am Anfang bis man in die Dynamik des Spiels eingetaucht ist, aber das Ganze hat halt auch seinen Reiz.

      Man kann entweder zufällig zusammen gestellt, "Survive w/ friends" (SWF) spielen oder als Killer Steam Freunde meucheln.
      Lohnt sich echt zu zocken. Die Community wächst zur Zeit. Auf Reddit sind vlt. 130 Personen gleichzeitig aktiv, aber trotzdem gibt's dauernd jede Menge neue Posts.
      Nein, ich bin kein Killer-Main oder spiel die. Der Drophack war reiner Spaß am Programmieren und Neuland entdecken.

      Steam-Link zu DbD: store.steampowered.com/app/381210/
      Twitch-Streamer die ich zu DbD schaue, sind alle Rang 1, aber nicht deutsch-sprachig:
      72hrs (der für seine Jukes bekannt ist): twitch.tv/72hrs
      pappusgaming (findet immer wieder lustige Bugs): twitch.tv/pappusgaming
      Shinobazu (ruhigster Streamer den ich je gesehen habe): twitch.tv/xxshinobazuxx
      GerZaltos (spielt hin&wieder WoW, kA schau ich nicht) : twitch.tv/gerzaltos, nur noch selten online und hört besch... Pop-/Electro-Chart-Musik (kann ich mir nicht geben), aber wen die nicht stört ist da richtig



      Funktionsweise des Hacks:
      DbD funktioniert über ein Lobbysystem, dass vom Killer gehostet wird.
      Der Killer kommuniziert mit den Survivors.
      Die Survivors kommunizieren nur mit dem Killer.
      Jegliche, für den Hack relevante, Kommunikation findet über UDP statt.

      Das Tool besteht aus zwei Teilen dem Sniffer und dem Hack.
      Sniffer:
      Der analysiert über eine gewisse Zeit, 7.5, alle Packets und bestimmt dann anhand der durchgegangenen Datenmenge die Ports für die Survivor.
      Survivor-Ports haben im Schnitt über 1000x mehr Durchsatz als die anderen verwendeten Ports.
      Die Ports werden grob vorsortiert. Der Sniffer untersucht also nicht die ganze Zeit alle!! eingehenden Packets, sondern nur die die zu DbD gehören.
      Das hab ich über netstat gelöst, weil ich keine andere Antwort gefunden hab und weil ich die Methode bereits gut kannte.
      Der Sniffer leitet dafür einfach netstat's stdout auf einen lokalen Buffer um und parst dann den Output.
      Die endgültig, gefundenen Ports gibt er dann dem Hack weiter.

      Hack:

      Der trägt dann kurzerhand die Port in der Windows Firewall als Inbound-/Outbound-Regel ein.
      Windows Firewall muss aktiv sein sonst klappt das ganze nicht.
      Nach x-Sekunden, derweil 25s, öffnet er die Ports wieder (Spuren verwischen).
      Finish


      zip-Datei:
      Enthalten sind
      • die 32bit & 64bit .exe'n (der Drophack)
      • der Source.
      Derzeit sind alle Einstellungen per Makro vordefiniert.
      Diese CONFIG_-Makros findet ihr in "mustbeincluded.hpp". Sind alle durch kommentiert und selbst erklärend. Ansosten per Suchfunktion die verwendeten Codestellen suchen damit wird's dann klarer.
      Verändern könnt ihr damit:
      • die Text-/Hintergundfarbe der Info-Nachrichten; Standard = dunkles Gelb (wie genau der Farbcode funktioniert steht in lazy::color())
      • die Text-/Hintergundfarbe der Error-Nachrichten; Standard = dunkles Rot
      • die Zeit zum Analysieren der Packets; Standard = 7.5s
      • die Zeit für wie lange die Ports geschlossen bleiben sollen; Standard = 25.5s
      • wieviele Ports geblockt werden sollen; Standard = 2; min = 0; max = 4 (duhh)
      • die Namen der Block-Regeln für die Firewall, wird benötigt, weil die die FirewallApi nur über den Namen die zu löschenden Regeln identifiziert.
      • die Gruppe der Block-Regel, kann leer sein. Hab's der Vollständigkeit halber hinzugefügt
      • plus paar andere Sachen, aber die sind nicht so wichtig

      Known "Bugs":
      Spieler werden als online angezeigt, sind aber offline:
      Obwohl zB 2 Ports angegeben sind erscheinen entweder noch alle oder weniger als angegeben offline.
      Nach ~2-5 Minuten werden die dann auch InGame offline angezeigt, obwohl sie es schon die ganze Zeit waren.
      Das ist ein "Kommunikationsproblem" von Dead By Daylight oder Steam (die stellen den Bootstrapper für DbD's Kommunikation) selber.
      KA, ist mir auch egal.
      Der DH funktioniert.
      Workaround: Geduld haben


      Wichtig:
      Das Tool benötigt Admin Rechte, da ansonsten RawSockets nicht funktionieren und dadurch auch nicht der Sniffer.
      Und wie vorher erwähnt muss Windows Firewall aktiviert sein.
      Außerdem klappt das ganze nur wenn ihr als Killer spielt, weil ihr nur so einfach Zugriff auf die Verbindungen zu allen Spielern habt.



      Viel Spaß mit dem Tool Source.


      Edit1: "Wichtig" eingefügt
      Edit2: Einen German Streamer hinzugefügt
      Edit3: .exe'n aus dem Upload entfernt. Das Ganze soll dem Lernzweck dienen. :3 ggg :3
      Edit4: Fomatierung verbessert
      EditXYZ: KA ob das wichtig hinzuzufügen ist: Source darf natürlich für kommerzielle/private/Lern-/w-e-Zwecke wie auch immer gewünscht verwendet werden. Ich erheb keinen Anspruch auf Credits oder Anteilen an den Profiten. Kurz: macht damit was ihr wollt.
      Dateien
      • DbDHack.zip

        (17,49 kB, 9 mal heruntergeladen, zuletzt: )

      Dieser Beitrag wurde bereits 15 mal editiert, zuletzt von „CentuCore“ ()