przechwytywanie danych z innego programu

0

Czesc.
Chciałbym przechwycić do swojego programu pewne dane z programu Garena.
Garena jest klientem, dokładniej jest to platforma dla graczy m.in cs, warcraft , dota.
Po wejsciu na któryś z pokoi w garenie, klient ściąga liste graczy znajdujących się w pokoju z serwera gareny. Chodzi mi o wyłapanie tych graczy. I teraz pytanie jak można to zrobić, przechwytując pakiety, czy może ingerując jakoś za pomocą winApi w garene? Przechwytywałem pakiety gareny za pomocą wiresharka, jednak nie potrafiłem nic z nich odczytać, może jedynie nazwy graczy:

0000  00 1a 80 49 df 3f 00 90  d0 f1 d6 0d 08 00 45 00   ...I.?.. ......E.
0010  02 f5 09 07 40 00 31 06  3e e6 4a 56 aa ba 0a 00   [email protected]. >.JV....
0020  00 06 21 ef c2 6d 96 19  5a ee 03 c6 89 af 50 18   ..!..m.. Z.....P.
0030  3e bc 76 4c 00 00 c9 02  00 00 2c 99 00 04 00 0b   >.vL.... ..,.....
0040  00 00 00 32 fe 4d 00 7a  65 63 6b 6f 00 00 00 00   ...2.M.z ecko....
0050  00 00 00 00 00 00 00 4d  4b 00 00 01 06 01 01 59   .......M K......Y
0060  cd 32 ce 59 cd 32 ce 00  00 00 00 05 e9 05 e9 04   .2.Y.2.. ........
0070  00 03 00 00 00 00 00 00  00 00 00 00 01 0f 27 00   ........ ......'.
0080  00 00 00 81 ae 82 00 66  72 69 6b 6f 31 36 00 00   .......f riko16..
0090  00 00 00 00 00 00 00 50  4c 00 00 01 17 01 00 57   .......P L......W
00a0  cd ba 96 0a 00 00 06 00  00 00 00 2b 28 05 e9 02   ........ ...+(...
00b0  00 00 00 00 00 00 00 00  00 00 00 00 01 0f 27 00   ........ ......'.
00c0  00 00 00 ab 95 86 00 5b  44 4e 4b 5d 5f 5b 4b 6f   .......[ DNK]_[Ko
00d0  73 74 75 52 5d 00 00 4d  4b 00 00 01 0e 01 00 3e   stuR]..M K......>
00e0  a2 6b 8b 3e a2 6b 8b 00  00 00 00 05 e9 05 e9 01   .k.>.k.. ........
00f0  00 00 00 c2 69 4d 65 67  61 28 00 00 01 0f 27 00   ....iMeg a(....'.
0100  06 00 00 4b 15 9b 00 62  61 6c 65 5e 6f 68 00 00   ...K...b ale^oh..
0110  00 00 00 00 00 00 00 4d  4b 00 00 01 09 01 00 5f   .......M K......_
0120  b4 8c 30 5f b4 8c 30 00  00 00 00 ad 9c ad 9c 08   ..0_..0. ........
0130  00 03 00 00 00 00 00 00  00 00 00 00 01 0f 27 00   ........ ......'.
0140  00 00 00 bc ec 6a 01 49  63 65 4d 61 61 66 61 6b   .....j.I ceMaafak
0150  61 00 00 00 00 00 00 41  44 00 00 01 07 01 01 4e   a......A D......N
0160  9d 13 75 c0 a8 00 0b 00  00 00 00 83 68 05 e9 06   ..u..... ....h...
0170  00 00 00 00 00 00 00 00  00 00 00 00 01 0f 27 00   ........ ......'.
0180  00 00 00 66 44 cb 01 49  44 4f 4e 54 48 41 56 45   ...fD..I DONTHAVE
0190  4e 41 4d 45 45 00 00 4d  4b 00 00 01 05 01 01 59   NAMEE..M K......Y
01a0  cd 08 bd 59 cd 08 bd 00  00 00 00 05 e9 05 e9 05   ...Y.... ........
01b0  00 00 00 00 00 00 00 00  00 00 00 00 01 0f 27 00   ........ ......'.
01c0  00 00 00 10 f5 e0 01 69  6e 64 65 70 65 6e 64 65   .......i ndepende
01d0  6e 74 38 38 00 00 00 4d  4b 00 00 01 04 01 01 4e   nt88...M K......N
01e0  9d 13 75 c0 a8 00 12 00  00 00 00 83 71 05 e9 09   ..u..... ....q...
01f0  00 00 00 00 00 00 00 00  00 00 00 00 01 0f 27 00   ........ ......'.
0200  00 00 00 97 17 e1 01 64  65 6b 69 4d 61 61 66 61   .......d ekiMaafa
0210  6b 61 00 00 00 00 00 4d  4b 00 00 01 01 01 01 4e   ka.....M K......N
0220  9d 13 75 c0 a8 00 dc 00  00 00 00 83 bf 05 e9 07   ..u..... ........
0230  00 00 00 00 00 00 00 00  00 00 00 00 01 0f 27 00   ........ ......'.
0240  00 00 00 c8 3c e3 01 44  65 76 6f 6e 33 34 00 00   ....<..D evon34..
0250  00 00 00 00 00 00 00 4d  4b 00 00 01 03 01 01 4e   .......M K......N
0260  9d 13 75 c0 a8 00 75 00  00 00 00 83 14 05 e9 0b   ..u...u. ........
0270  00 00 00 00 00 00 00 00  00 00 00 00 01 0f 27 00   ........ ......'.
0280  00 00 00 a0 60 e5 01 75  6e 73 74 6f 70 70 69 62   ....`..u nstoppib
0290  6c 65 00 00 00 00 00 4d  4b 00 00 01 01 01 01 4e   le.....M K......N
02a0  9d 13 75 c0 a8 00 b1 00  00 00 00 83 d3 05 e9 0a   ..u..... ........
02b0  00 00 00 00 00 00 00 00  00 00 00 00 01 0f 27 00   ........ ......'.
02c0  00 00 00 80 eb f0 01 44  61 72 4b 6e 65 5b 53 5d   .......D arKne[S]
02d0  00 00 00 00 00 00 00 4d  4b 00 00 01 06 01 00 4d   .......M K......M
02e0  1c 8a 41 c0 a8 01 50 00  00 00 00 05 e9 05 e9 03   ..A...P. ........
02f0  00 00 00 00 00 00 00 00  00 00 00 00 01 0f 27 00   ........ ......'.
0300  00 00 00                                           ...              

spośród tego niezrozumiałego ciągu ascii możliwe jest odczytanie nazw graczy, ale co z pozostałymi informacjami, takimi jak numer id(który zapewne jest przesyłany jako int). Czy jest możliwe rozszyfrowanie takiego czegoś ?

0

Jak już masz te dane to wypadałoby je porównać z tym co wyświetlał klient. Trudno powiedzieć, które bajty odpowiadają za co.
Jeżeli w tym programie wyświetla ID Nick , to mając id możesz przekształcić je na postać hex i sprawdzić gdzie w tym ciągu bajtów ono występuje. Wtedy jest duże prawdopodobieństwo, że to jest to. :)

0

dzięki tobix10, zrobiłem jak napisałeś i rzeczywiście udało mi sie znaleŹć te id.
a czy jest możliwe to za pomocą winApi, wykluczając przechwytywanie pakietów, tylko ingerując w garene(to sie chyba nazywa hookowanie ?) ? I właśnie co do hookowania, hookowanie to przechwytywanie pakietów, czy tak jak napisałem ingerencja do gareny za pomocą winapi ?

0

odpowiedz 1:

tak, jest to mozliwe, o ile program-ofiara nie jest zbytnio zabezpieczony przed taka proba. biorac pod uwage ze id oraz nicki graczy lataja w postaci jawnego tekstu i nie widac zadnych "kontrolnych śmieci", sadze ze w ogole nie jest zabezpieczony

odpowiedz 2:

przechwytywanie pakietow = jakakolwiek Twoja czynnosc ktora spowoduje, ze dostaniesz w swoje rece pakiet wyslany przez aplikacje/nadawce zanim trafi on do internetu/odbiorcy, lub pakiet przychodzacy z internetu/nadawcy zanim trafi on do aplikacji/odbiorcy

hook'ing = sprawianie aby program-ofiara w momencie gdy probuje wywolac jakas funkcje swoja/biblioteczna/systemowa nieswiadomie zamiastniej/przednią/poniej wywolal jakas Twoja funkcje

0

okej, to w takim razie jak już za pomocą wiresharka potrafię odczytać id i nick, chciałbym teraz te pakiety przechwytywać w swoim programie. Pytanie, czy muszę implementować do swojej aplikacji winpcapa, czy mogę to zrobić w jakiś inny sposób ? np. żeby mój program odpalał windumpa a ten zapisaywał pakiety do pliku, z kolei moja aplikacja odczytywałaby z tego pliku.

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