Bot do gadu-gadu

0

Chciałem napisać sobie bota gg, który będzie automatycznie odpisywał. Ale żeby gadu-gadu v7.0(v6.0 lub EKG) mogło chodzić(w tle).

Mój problem tkwi w tym, że nie wiem jak odbierać pakiety przychodzące do gadu-gadu oraz jak je wysyłać jako gadu-gadu(gadu-gadu v7.0).
Problemem nie jest to że nie potrafię napisać klienta, ani zasady odpisywania bota.
Tylko nie potrafię podczepić się pod gg(v7.0), aby odbierać wiadomości przychodzące do gg oraz wysyłać wiadomości gdy na gg(v7.0) jest uruchomiony ten nr(bo jeśli użył bym innego klient to na gg(v7.0) użytkownik zostanie wylogowany.

0

Nie można tak zrobić. Jeżeli jest zalogowany jeden numer, to w przypadku kolejnej próby zalogowania, pierwsze połączenie jest zrywane.

EDIT:
Ew. jeżeli nie chcesz się połączyć, tylko "podsłuchiwać" musiałbyś napisać wtyczkę dla GG, lub jakiegoś sniffera może... Nie łatwiej nowy numer + bot na stałe na tym numerze?

Ps. Jak Twoje pytanie odnosi sie do Delphi??:>

0

głównie to chodzi mi o to aby wysyłać pakiety jako gg (chcę się tego nauczyć aby napisać bota do gry)

PS.A jak ktoś wie to proszę o przykład w delphi.

0

http://dev.null.pl/ekg/docs/protocol.html

Tu jest wszystko opisane... Jak wyglądają pakiety, itd. Sprawdź też źródła THGG (Indy 9)... Ale osobiście polecam pisanie na Socketach z Delphi, ICS, czy innym Synapse...

0

Jak w delphi napisać procedure która nam umożliwi wysyłanie pakietów jako inny program (w tym wypadku gg).
Ponieważ tego nie potrafie, potrafie wysyłać tylko jako swój program

0

http://dev.null.pl/ekg/docs/protocol.html

Tu jest wszystko opisane... Jak wyglądają pakiety, itd. Sprawdź też źródła THGG (Indy 9)...

Ech... Poczytaj, poszukaj na forum(!), ten temat był już poruszany. Bo na razie ty nie szukasz pomocy, a tylko gotowego kodu.. A nie o to tu chodzi...

0

Mowa o podpięciu się do już zalogowanego oryginalnego gg

Nie można tak zrobić. Jeżeli jest zalogowany jeden numer, to w przypadku kolejnej próby zalogowania, pierwsze połączenie jest zrywane.

EDIT:
Ew. jeżeli nie chcesz się połączyć, tylko "podsłuchiwać" musiałbyś napisać wtyczkę dla GG, lub jakiegoś sniffera może... Nie łatwiej nowy numer + bot na stałe na tym numerze?

Wiem jednak że się jakoś da tak zrobić najlepszym przykładem tego są boty w grach.

PS. Wiem jak zrobić prosty komunikator w delphi (nawet działający jak gg).

0

Może PowerProject + pisanie wtyczek?

Napisz dokładnie w jakim celu ten bot ma powstać, itp.

0

Nie potrzebne są mi żadne wtyczki, ponieważ chcę napisać osobny program, który będzie botem.

Chodzi mi o wysyłanie jako inny program.

Tego bota wykonuje w celach edukacyjnych ponieważ myślę że napisanie bota pod gg jest prostsze niż napisanie bota do gry z tego względu że pod gg jest udostępniony protokuł( http://dev.null.pl/ekg/docs/protocol.html ).
Osobiście chce się nauczyć pisać boty (w delph) pod różne gry, ale to pÓźniej.

PS Proszę o jakiś przykład takiego wysyłania pakietów lub chociaż link do stron na których mógłbym znaleźć coś na ten temat.

0

Jest to chyba niemożliwe. Program nawiązuje NOWE połączenie, więc serwer widzi go jako coś odrębnego, niezależnie jakie pakiety wysyła.

0
loczek napisał(a)

PS Proszę o jakiś przykład takiego wysyłania pakietów lub chociaż link do stron na których mógłbym znaleźć coś na ten temat.

sam sobie podales link

0

Musiałbyś postawić tunel pomiędzy klientem gg, a serwerem i tak analizować wysyłane pakiety. Jeśli była by taka potrzeba po prostu przerobiłbyś to i owo i wysłał dalej. W ten sposób gniazdko łączące z klientem i gniazdko od serwera są do Twojej dyspozycji.


Z poziomu sniffera chyba się tak nie da, musiałbyś znać numer sesji TCP i inne dziwne rzeczy.


Wspominałeś tam coś o ekg - ekg posiada obsługe pythona, więc bota możesz sobie w tym wykodzić ;)

Pozdrawiam. ?Tomsz

0

Dokładnie tak jak napisał Tomsz. Sprawa jest bardzo ciekawa, i w sumie da się praktycznie cos takiego zrealizowac. Tylko jak zrobic tunel, tak aby GG laczylo sie z naszym pogramem (serwerem)? To swoim działaniem przypominaloby psyBNC, ale wiadomo, że w przypadku klientow irc mozemy podac serwer i port. Z gg bedzie trudniej, nalezaloby "po cichu przekierowac polaczenie". Ale jak to zrobic na lokalnym komputerze? Bo wiadomo, nie kazdy posiada w domu router na ktorym moze odpowiednio pozmieniac regolki w firewallu. Moze prosciej bedzie "scrackowac" orginalnego klienta? Co prawda mozna skorzystac z klienta sieci GG w ktorym mozemy podac adres serwera gg, ale osobiscie spotkalem sie z taka opcja tylko w Kadu.

0

W GG możesz ustawić sobie Proxy. Więc ustawiasz na ten serwer (127.0.0.1 na porcie takim, na jakim działa ten tunel) i masz :)

0

dobrym rozwiazaniem jest tez zalozenie hook`a na winsock

0

Podsumowując mój problem to:
-wiem o tym, że do odbierania wiadomości można użyć sniffera
-wiem o tym, że niektóre sniffery, które są rozbudowane i potrafią podesłać pakiet jako gg (na razie najlepsza opcja według mnie)
-wiem o tym, że można przetunelować i po drodze edytować pakiety itp.
-wiem o tym, że na http://dev.null.pl/ekg/docs/protocol.html jest zamieszczony protokół gg (on mi się przyda, ponieważ wylogowuje on zalogowanego użytkownika w oryginalnym gg; w jednym momencie dwa klienty gg nie mogą korzystać z jednego nr gg)
-nie wiem jak, w delphi podesłać pakiet jako gg, tak jak potrafią niektóre sniffery

Proszę o pomoc w rozwiązaniu mojego problemu.

0

Jeżeli nie przyda Ci się znajomość protokołu GG to jak chcesz znać pakiety do wysyłania? Jak wysyłać to jedno, ale musisz później wiedzieć co wysłać. Bez znajomości protokołu, nawet jeżeli "przechwycisz" połączenie, nic nie zrobisz.

0

Pomyliło mi się w tamtym poście to, że nie potrzebuje protokołu chodziło mi o drugiego klienta, a protokół jak napisał ?Nex? tak i tak mi się przyda.

0

TWyslij_wiadomość = packed record
pakiet : TPakiet;
Numer : Integer;
Sekwencyjny: Integer;
klasa : Integer;
Tekst : TWiadomosc;
end;

tak wygląda pakiet za pomocą którego wysyłasz wiadomość.
Opis co do czego masz na stronce z protokołem.
w ogóle to daj se spokuj widze że młody jesteś i juz masz niezłe okulary chcesz se wzrok do końca popsuć ? Wrzuć se na luz z komputerami

0

Napisałem:

-wiem o tym, że na http://dev.null.pl/ekg/docs/protocol.html jest zamieszczony protokół gg

protokół jak napisał ?Nex? tak i tak mi się przyda

Ktoś kto ma duże okulary i niedowidzi napisał:

TWyslij_wiadomość = packed record
pakiet : TPakiet;
Numer : Integer;
Sekwencyjny: Integer;
klasa : Integer;
Tekst : TWiadomosc;
end;

tak wygląda pakiet za pomocą którego wysyłasz wiadomość.
Opis co do czego masz na stronce z protokołem.

A wracając do tematu ja chcę się nauczyć sposobu jak podesłać pakiet jako gg najlepiej inną metodą niż proxy.
A tu jest link do mojego programu (wer. alfa) działającego jako proxy (ustawienie klient=prawdziwy serwer proxy; serwer=twój port)

PS. Wiem dokładnie jak działa protokół gg więc nie piszcie już o nim, temat dotyczy bota do gg który ma się podpiąć pod uruchomiony, oryginalny klient gg i ma on pracować na tym samym numerze gg jako osobny exe [!!!]

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