Współpraca z innymi aplikacjami

0

Chciałbym się dowiedzieć jak tworzyć aplikacje, które współpracują z innymi. Co mam na myśli? Najpopularniejsze są boty do gier mmorpg, które odczytują wiadomości przesyłane przez innych gracyz, odpisują, i robią tam inne różne rzeczy. Pytanie moje jest takie, czy muszę znać kod źródłowy takiej gry.programu żeby zrobić coś w stylu bota? Może być dla przykładu GaduGadu. No i jakby ktoś się rozwinął i napisał coś więcej o tworzeniu takich programów, byłbym wdzięczny :-)
Pozdrawiam i z góry dziękuję za odpowiedź.

0

Rozumiem, że głównie chodzi ci o aplikacje sieciowe typu KLIENT/SERWER. W takim przypadku nie musisz znać kodu źródłowego serwera (co zresztą w niektórych przypadkach jest raczej niemożliwe), ale za to musisz poznać protokół (na warstwie aplikacji) jaki jest używany przez danego KLIENTA czy SERWERA pod którego chcesz się podpiąć.

0

No właśnie, bo jak przeglądałem źródła botów, widziałem zawsze serwery tych gierek. Podpiąć się mogę moim loginem i hasłem. Tylko tak, jak teraz wysyłać informacje do serwera z tymi danymi, żeby mnie zaakceptował.
No i jak już się połącze, to przecież nie wystarczy printf("Odpowiedz"); :-) Jeżeli podłącze się do serwera, będzie on wysyłał do mnie różne informacje, pozycje na mapie, no horda tego będzie, jak rozpoznać, które to znich jest wysyłaną wiadomością. Czy takie informacje trzeba uzyskać od producentów/programistów?
Dzięki za zainteresowanie i pozdrawiam :-)

0

Raczej nikt Ci z producentow nie poda w jaki sposob dziala protokol napisany przez nich. Musisz sam dojsc do tego lub poszukac w necie (jesli chodzi np o Gadu Gadu poczytaj o libgadu tam masz chyba pelna specyfikacjie tego protokolu)

0

Hmm, to powstawanie sell-botów do wielu mmropgów byłoby takie trudne? :/

0

A co w tym trudnego? Odpalasz sniffera i logujesz się do gry. Z przywitania z serwerem dowiadujesz się jak masz się zalogować. Następnie gdy będziesz już w grze idziesz w jakieś ustronne miejsce, gdzie nic się nie dzieje i próbujesz przechwycić proste pakiety typu chodzenie, przekazywanie informacji o mapie etc. Jak to rozszyfrujesz to robisz bardziej skomplikowane akcje. Możesz także podpiąć swojego bota pod klienta gry i wywoływać z niego różne funkcje / przetwarzać przychodzące dane. Jednak IMO dla Ciebie łatwiejszy będzie ten pierwszy sposób.

0

A widzisz, czyli jest taki coś pomocne. Sniffer mówisz, poszukam dzięki za radę :-)

0

Aha i jeszcze jedno pytanko. Czy do każdej aplikacji będę mógł stawiać sockety przez WinSock, czy będzie to zależne od apikacji z którą chcę współpracować?

0
JakZrobicBota napisał(a)

Aha i jeszcze jedno pytanko. Czy do każdej aplikacji będę mógł stawiać sockety przez WinSock, czy będzie to zależne od apikacji z którą chcę współpracować?

Jeśli piszesz aplikacje pod Windows i serwery korzystają z TCP/IP lub UDP to moim zdaniem WinSock w zupełności ci wystarczy. Większość takich aplikacji korzysta z technologi SOCKET-ów czy to pod Linuxa, Unixa, czy przez VMJ, a WinSock jest mniej lub bardziej z nimi kompatibilne. A jaśli chcesz sprawdzić z czego korzysta KLIENT to wystarczy zobaczyć jakich bibliotek systemowych używa podczas pracy, za pomocą np. debuggera (polecam W32Dasm - starsze wersje są darmowe, a co do nowszych to nie wiem). Jeśli załadował biblioteke WS2_32.DLL to korzysta z WinSock, itd.

0

Cóż, pobrałem Sniffera Etheral, i muszę przyznać, że mało z tego kapuje :-) zna ktoś może jakiś poradnik do snifferowania Aplikacji? <na razie próbowałem operę, to nie wyszło najlepiej ;p>

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