Endlich komme ich mal wieder dazu zu bloggen. Diesmal nur mit einem kleinen Thema. Wie ihr sicherlich schon mitbekommen habt, bin ich ein riesen Diablo Fan und da liegt es doch Nahe, sich noch einmal Diablo 3 zu widmen. Ursprünglich wollte ich versuchen, den Login von Diablo 3 nach zu programmieren, sodass eventuell wieder ein Offline Server Projekt, wie es Mooege war, entsteht. Dabei habe ich viel Daiblo 3 Login Traffic mitgesnifft und habe mich auch in den Source Code von Mooege gut eingelesen. Jedoch hat das alles nicht geklappt, wie ich mir das vorgestellt habe. Egal! Beim sniffen stach eine URL besonders heraus!
Da ich also beim nachbauen des Login kaum weitergekommen bin, wollte ich doch einen kleinen Erfolg haben. Die URL hat immer den Text für die Service Warnungen innerhalb des Diablo 3 Clients angezeigt. Dies war in den letzten Wochen hauptsächlich die Meldung, dass das Auktionshaus von Diablo 3 abgeschaltet wird. Ich bin also einfach auf die Idee gekommen, die Domainauflösung über die hosts Datei zu steuern, um damit den Traffic lokal auf meinen Rechner weiterleiten zu lassen. Lokal lasse ich dann einfach einen Webserver laufen, mit der Ordnerstruktur der URL und schon sollte mein kleiner Text Offline in Diablo 3 angezeigt werden.
Die Hosts Datei findet man unter „C:\Windows\System32\drivers\etc“. Diese habe ich dann mit folgenden Einträgen ergänzt:
127.0.0.1 eu.launcher.battle.net #launcher zeugs 127.0.0.1 eu.actual.battle.net #Blizz Login Server/Auth Server? 127.0.0.1 dist.blizzard.com.edgesuite.net #Diablo3 Chars etc. 127.0.0.1 deDE.patch.battle.net # Batte.net Patcher 127.0.0.1 public-test.patch.battle.net # PTR Patcher
Das einzige was man nun braucht, ist ein lokalen Webserver der die Ordner Struktur „htdocs\service\d3\alert\“ hat und innerhalb des alert Ordner muss einfach nur eine Datei mit dem Namen „de-de“ angelegt werden. Dabei muss beachtet werden dass diese Datei die Kodierung „UTF8 ohne BOM“ hat, da sonst die Formatierung bzw. Zeichen nicht optimal dargestellt werden.
Da ich über die hosts auch die Login-Server und das Battle.net lokal auf meinen PC weiterleite, kann ich Diablo 3 nicht mehr so einfach starten. Zum Glück gibt es innerhalb von Diablo 3 verschiedene Start Parameter. Diese hab ich mit OllyDbg ermittelt. Hier eine kleine Übersicht der Startbefehle:
-version -ignoreversioncheck -playergroups -difficultylevels -w -launch -locale -battlenetaddress -battlenetmatchmakingaddress -battlenetaccount -battlenetpassword -autologin -test -perftestfilter -perftestwaittime -perftestsampletime -perftestdumpfreq -perftestformat -blizzcon -blizzconpvp -blizzcondrop -joingamename -jointeam -gametimelimit -uid -agenttype -3dv -highdpicursor -nofpslimit -overridelogfolder
Gut das ist zwar ne ganze Menge und auch einige interessante Sachen sind dabei, aber im Grunde brauchen wir nur den Launch Parameter. Faul wie ich bin, hab ich das ganze über eine Verknüfung gelöst:
So also noch einmal alles durchgehen:
- hosts angepasst
- Webserver läuft
- Diablo im Launch Modus gestartet
und hier das Ergebnis:
Was lernen wir daraus. Die hosts Datei ist immer noch ein mächtiges Werkzeug. Vorallem wenn man Phishing betreiben will oder jemanden in die irre führen möchte. Einfach und simpel.
Das wärs dann mal wieder von meiner Seite
Greetz TheVamp