Origin brute force, czyli Battlefield 3 za darmo

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ę!

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 […]
  • Odroid C1+, Android, C64 i powrót do przeszłościOdroid C1+, Android, C64 i powrót do przeszłości Przez kilka godzin testowałem Androida na moim Odroidzie C1+. Opisuję poniżej możliwości emulacji C64 i PSP, a artykuł pozwoli Wam powrócić do przeszłości, zwłaszcza jeśli urodziliście […]

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

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *