przechwytywanie danych z innego programu

przechwytywanie danych z innego programu
F1
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 12 lat
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:

Kopiuj
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   ....@.1. >.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ś ?

T1
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 4 lata
  • Postów:97
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. :)

F1
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 12 lat
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 ?

quetzalcoatl
  • Rejestracja:około 18 lat
  • Ostatnio:ponad 6 lat
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


no to pojechałem z nieobecnością.. chwila przerwy i prawie rok przeleciał
F1
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 12 lat
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.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)