McDonald’s - Mein Burger Voting Bot (Top 10 in 3 Stunden)

11
eingestellt am 17. Apr 2020
Derzeit gibt es bei McDonald’s ein Voting, bei dem man für seinen oder andere Burger stimmen kann. Je mehr Stimmen, desto höher wird man auch im Ranking positioniert. Aus den Top 10 werden 3 Burger ausgewählt, die in ganz Österreich in allen Fillialen erhältlich sein werden und die Gewinner bekommen zusätzlich noch 2.000 Ms. Da ich schon vor über 2 Jahren einen Bot für das Ostereierfärben Spiel geschrieben habe, dachte ich mir, dass ich auch für dises Voting einen automatisierten Bot schreiben kann und hier eine Anleitung dazu poste.

Wie kann man öfter als 1 Mal voten?
Als erstes habe ich mir die Seite angeschaut und Schwachstellen gesucht. Ich habe herausfinden wollen, wie man auf einem Gerät öfter als 1 Mal voten kann.
Beim Seitenaufruf wird man als erstes gefragt, ob man alle Cookies, oder nur die Erforderlichen akzeptieren will. Diese abgespeicherten Cookies verrate beim erneuten Seitenaufruf also, dass man sich bereits auf der Website befunden hat und vielleicht auch schon gevotet hat. Meine Idee: Ganz einfach das Anlegen von Cookies im Browser deaktivieren (Und natürlich auch die schon vorhandenen Cookies löschen). Aktualisiert man nun die Seite, kommt immer die Meldung mit dem akzeptieren der Cookies und man kann wieder Voten.
Aber nicht zu früh gefreut! Nach dem fünften Vote funktioniert es plötzlich nicht mehr. Ich habe länger über legt warum und bin auf folgendes gestoßen: Pro IP-Adresse ist es nur 5 Mal möglich zu Voten, denn dann akzeptiert der Server keine Votes mehr. D. h. man muss alle 5 Votes seine IP-Adresse ändern. Es gibt viele Möglichkeiten um das zu bewerkstelligen, hier einige aufgelistet:
  • Proxyserver
  • VPN
  • Tor Browser
Gleich vorab: Mit dem Tor Browser funktionierte es bie mir komischerweise nicht. Ich habe keine Antwort wieso, aber ich konnte damit kein einziges Mal voten.
Der Proxyserver wäre auch eine Möglichkeit, aber ich habe mich für VPN entschieden, da es einige Vorteile hat, auf die ich noch später eingehen werde.

Wie funktioniert der Bot?
Diese Schritte durchläuft der Bot beim automatisiertem Voten:
  • Der Bot fragt beim Starten, wie viele Votes man haben möchte. Genauergesagt fragt er, wie viele IP-Adressen-Durchgänge er machen soll. Gibt man also 25 ein, wird der Bot 25 Mal die IP-Adresse ändern und jeweils 5 Mal voten (25*5=125Votes).
  • Als nächstes offnet der Bot den Browser, aber noch nicht die Seite, wo gevotet wird
  • Die IP-Adresse wird mittels VPN verschleiert. Das macht der Bot ganz automatisch und wartet kurz, bis eine Verbindung mit einem Server hergestellt worden ist.
  • Jetzt wird die Seite mit dem Burger aufgemacht.
  • Es wird der Button Cookies erlauben angeklickt.
  • Und dann noch der Button zum Voten.
  • Danach wird die Seite noch 4 Mal neu geladen und erneut gevotet.
  • Nach dem fünften Mal wird mit einem anderen VPN-Server gearbeitet und es geht von vorne los (der Browser bleibt aber offen, es wird einfach wieder aktualisiert)

Welche Programme und Tools wurden verwendet?
  • Selenium: Um den Browser automatisiert zu verwenden habe ich Selenium verwendet. Vorteilhaft daran ist, dass die Maus dabei nicht verwendet wird und man sogar den Browser minimieren kann und es wird trotzdem gevotet.
  • NordVPN: Als VPN habe ich NordVPN gewählt, da man mittels Befehl (nordvpn -connect) in der Shell die Verbindung aufbauen kann. Andere VPN anbieter haben dieses Feature nicht.
  • Python: Den Bot habe ich in Python geschrieben. Das war sogar mein erstes Python Programm, ist also nicht perfekt geschriben, aber erfüllt seinen Zweck. Hier ist es auch wichtig den richtigen Treiber für den Browser zu verwenden, um Python mit Selenium zu verwenden.
  • Firefox: Erst habe ich den Bot mit Chrome realisieren wollen, aber mit Firefox habe ich weniger Progleme beim Automatisieren gehabt.

Wie kann ich den Bot verwenden?
Die Vorasusetzungen sind die 4 Programme und Tools. Erst würde ich Python und dann Selenium installieren. Als nächstes ist NordVPN notwendig. NordVPN ist zwar kostenpflichtig, es gibt aber eine Geld zurück Garantie. Firefox würde ich empfehlen, aber es kann auch ein andere Browser verwendet werden, da muss aber der Code vom Bot ein wenig umgeschrieben werden.
Der Bot besteht aus Lediglich 90 Zeilen Code. Hier ein Link zu dem Code: drive.google.com/fil…ing
Ich habe die wichtigsten Zeilen von dem Code mit Kommentaren beschrieben. Es sollte auf jeden Fall der Link zu dem Burger, der Pfad zum Programm NordVPN und die Wartezeit pro Vote im Code geändert werden.
Als nächstes erstellt man einen Ordner. Ich habe meinen "Mein Burger Bot" benannt und in diesen kommt die "Mein_Burger_Bot.py" Datei. In einem CMD Fenster kann der Bot nun mit dem Befehl "Mein_Burger_Bot.py" gestartet werden. Man gibt die Anzahl der Durchgänge ein und es geht schon los.
229176-E7lSh.jpgEs wird ein zufälliger Server aus einem zufälligem Land gewählt. Da es auch passieren kann, dass ein Server nochmal verwendet wird und somit die IP-Adresse wieder dieselbe ist, wird das sofort erkannt und der nächste Server wird gesucht (Siehe # 3: Voting from Germany). Es kann auch zu anderen Fehlern beim Laden der Seite kommen, die werden mit "ERR m" oder "ERR v" gekennzeichnet. Die abgegebenen Votes werden immer wieder angezeigt (Votes: (14 of 16)) um den Prozess mitzuverfolgen.



Ich habe schon 4 Burger in die Top 100 gevotet und so langsam nähern sich diese den Top 10. Es ist noch Platz für ein paar Burger, also wer mag kann auch mitmachen.
Für Fragen zum Aufsetzen des Bots oder zum Programmcode stehe ich gerne zur Verfügung. Einfach hier unten kommentieren
Zusätzliche Info
Gewinnspiele
11 Kommentare
Dein Kommentar