Origin brute force, czyli Battlefield 3 za darmo

UWAGA, ruszył Humble Book Bundle na serię Cookbok wydawnictwa O'REILLY

Był kiedyś na Facebooku taki profil jak „Cyfrowe gry EA”, na którym często umieszczane były klucze do gier za darmo.
Pewnego dnia wysłali mniej więcej taką wiadomość:

Do zdobycia za darmo gra Battlefield 3, początkowe znaki klucza to: CEXF-625X-7FMR-CQ64-FP??. Brakuje dwóch ostatnich znaków. Poprawność kodów należy sprawdzać bezpośrednio w Originie.

Postanowiłem spróbować automatyzacji.

Trochę matematyki

W kluczu brakuje dwóch znaków. Każdy z nich może przyjmować wartość z zakresów A-Z, 0-9. Razem jest ich 36 (26 znaków i 10 cyfr).
Jest to więc wariacja 2-elementowa ze zbioru 36-cio elementowego. Wszystkich wariacji jest 362=1296.

Jest to bardzo mała liczba, dlatego można było podjąć próbę zgadnięcia tego kodu brute forcem w sensownym czasie. Przyjmując pesymistyczne założenie, że jeżeli prawidłowy zestaw znaków byłby ostatnim sprawdzanym, a każda próba weryfikacji zajęłaby dwie sekundy, to zgadnięcie kodu zajmie mniej niż godzinę.

Brute force

Postanowiłem użyć Javy, a dokładnie java.awt.Robot. według następującego algorytmu:

  1. Wprowadzenie krótkiego opóźnienia startu aby po uruchomieniu zdążyć przejść kursorem do pola edycyjnego w Originie.
  2. Wygenerowanie wariacji:
    1. Skopiowanie do schowka wygenerowanego kodu.
    2. Warunek początkowy: kursor znajduje się w polu edycyjnym.
    3. Symulacja klawiatury: TAB, trzykrotnie (przejście do pola edycyjnego w przypadku powrotu z punktu 2.7.4.1.1).
    4. Symulacja klawiatury: CTRL+V – wklejenie kodu do pola edycyjnego
    5. Symulacja klawiatury: ENTER – uruchomienie weryfikacji kodu
    6. Sleep – krótkie oczekiwanie na weryfikację kodu przez serwer.
    7. Sprawdzenie czy serwer zdążył zweryfikować kod
      1. Usunięcie danych ze schowka.
      2. Symulacja klawiatury: CTRL+A – zaznaczenie aktualnego kodu.
      3. Symulacja klawiatury: CTRL+C – skopiowanie do schowka aktualnie wprowadzonego kodu.
      4. Odczyt kodu ze schowka i porównanie z kodem zleconym do weryfikacji
        1. Kody zgodne – serwer zdążył zweryfikować dane. Kod jest niepoprawny. Pojawiło się pole edycyjne z wpisanym wcześniej kodem, a więc symulacja CTRL+A, CTRL+C spowoduje skopiowanie go i porównanie zawartości schowka ze sprawdzanym kluczem.
          1. Powrót do punktu 2.
        2. Kody niezgodne – serwer nie zdążył zweryfikować danych, lub wpisany kod został odgadnięty. W przypadku gdyby serwer nie zdążył jeszcze zweryfikować danych pole edycyjne byłoby nieaktywne i użycie skrótów CTRL+A i CTRL+C nie wprowadziłoby danych do schowka.

Udało się!

UWAGA, ruszył Humble Book Bundle na serię Cookbok wydawnictwa O'REILLY

To również może Cię zainteresować:

  • Bot do gry Arma 2 DayZ Epoch w C++Bot do gry Arma 2 DayZ Epoch w C++ DayZ Epoch do jeden z modów do gry Arma 2 (zaawansowanego symulatora pola walki) wprowadzający m.in. możliwość tworzenia budynków a w tym i zabezpieczania drzwi kłódką z trzy cyfrowym […]
  • Cracking WinRar 2.71Cracking WinRar 2.71 Archiwalny wpis z początkowego okresu szkoły średniej, czyli nag cracking z w32dasmem. W tutorialu nie usuwałem błędów i składni "dziwnego" języka - wyciąłem tylko nieaktualny adres […]
  • Cracking WinZip 8.1Cracking WinZip 8.1 Archiwalny wpis z początkowego okresu szkoły średniej, czyli nag cracking z w32dasmem. W tutorialu nie usuwałem błędów i składni "dziwnego" języka - wyciąłem tylko nieaktualny adres […]
  • DayZ – jak pobrać GUID? Generowanie BattlEye GUID.DayZ – jak pobrać GUID? Generowanie BattlEye GUID. Jak pobrać GUID? Na wielu serwerach pracujących pod kontrolą BattlEye w takich grach jak np. cała seria Arma, czy DayZ Standalone stosuje się tzw. white-listy. Czyli aby dołączyć do […]
  • Permutacje i zagadka z trójkątemPermutacje i zagadka z trójkątem Rozwiąż poniższą zagadkę: Rozwiązanie i trochę o permutacjach poniżej. Jednak zachęcam spróbować samodzielnie rozwiązać to zadanie. Rozwiązanie logiczne Warunkiem poprawności jest […]
  • Arma – gra doskonałaArma – gra doskonała Nie wiele jest gier, które potrafią przyciągnąć gracza na kilkaset czy kilka tysięcy godzin. Nie wiele jest gier, w których producent udostępnia api do tworzenia swoich własnych […]

2 thoughts on “Origin brute force, czyli Battlefield 3 za darmo

Dodaj komentarz