Bot do gry przeglądarkowej

0

Witam!

Zainteresowałem się ostatnio zrobieniem bota do gry, np. Shakes And Fidget. Kiedyś grałem, znajomi ciągle mają konta i narzekają na swojego bota ściągniętego z neta (sf bot dla ciekawych). Zapewne jest to przeciwko regulaminowi, a ja osobiście nie mam ochoty na kłótnię z niemieckimi przedsiębiorcami, ale jestem ciekawy, jak to wygląda od środka.

Domyślam się, że działa na zasadzie nagłówka HTMLoweg, pytanie tylko czy wszystkie dane przesyłane są jawnie? (SF bot jest programem na desktop, nie korzysta z przeglądarki [chyba])
Wymaga to JEE?
Widziałem boty zrobione na Selenium, ale wygląda to dosyć prowizorycznie...

Gdzie szukać informacji na ten temat? (Google nie był zbyt pomocny: przykład z selenium, odpowiedź na SO)

1

Nie znam Shakes And Fidget - ale jak przeglądarkowa gra to w sumie bywa prosto.

Albo podglądasz komunikację w chromie lub firebug.
Albo stawiasz sobie proxy server na komputerze i podsłuchujesz (np. Fiddler).

Potem piszesz bota np. korzystając z HttpClient gdzie robisz

  • parsowanie jsonów/ htmli itp.
  • walkę z prostackimi zabezpieczeniami (np. http headery typu referer, ale wszystko da się sprawdzić metoda prób i błędów).
    (ja to robiłem tak, że jeśli nie dostawałem poprawnej odpowiedzi z serwera to analizowałem gdzie moja komunikacja się różni od tej z przeglądarki ,
    każdy szczegół (headery głównie), ale czasy nadawania też mogą być brane pod uwagę (np. nie wysyłamy żądań częściej niż raz na sekundę itp.)
    Gorzej z Captcha (chyba, że jest kiepsko zrobione - ale to też do przejścia: https://deepmlblog.wordpress.com/2016/01/03/how-to-break-a-captcha-system/).

JavaEE jest do tego absolutnie zbędne, a nawet bardzo przeszkodzi.

Wiele zależy od specyfiki gry - kilkanaście lat temu napisałem mega prymitywnego bota do gry przeglądarkowej (Starkingdoms). Parsowanie html robiłem
metodą html.substring(html.indexOf("<div class='player'"), ....) (O rany... sam z tego się śmiałem)
Przetrwał kilka lat i kilka zmian szaty graficznej gry (drobne zmiany w HTML dawało się, mimo durnoty kodu, szybko dopasować).

Zwykle jest to łatwe bo autorzy gry poświęcają raczej czas na implementowanie ficzerów, a nie walkę z botami, szyfrowanie komunikacji, obfuskację.
(Bo i tak nie mogą w 100% botów powstrzymać ).

0

Zrobiłem małe rozeznanie w temacie, ogarnąłem, że gra jest zrobiona w PHP + JS.
Średnio to wyglądało, chociażby ze względu na to, że narzędzia w Mozilli pokazywały mi tylko część elementów, które były przesyłane.
Co innego kiedy przeszedłem z flasha na wersję HTML5, tam pokazuje mi się wszystko. Mniej więcej ogarniam czas odbioru nagłówków.
Mam jednak problem z tym, że praktycznie wszystko jest w JS - gołego HTMLa praktycznie nie ma.
Teraz pytanie - czy muszę przegrzebać skrypty w JS czy wystarczy sprawdzić same nagłówki?

1

Jak HTML5 + JS to masz jasność - wystarczy komunikację prześledzić - nie musisz się wgryzać w skrytpty.

1 użytkowników online, w tym zalogowanych: 0, gości: 1