Pokaż wyniki 1 do 3 z 3

Temat: Jakie to może być szyfrowanie ?

  1. #1

    Question Jakie to może być szyfrowanie ?

    Przez ostatni tydzień próbuję rozgryźć kodowanie pakietów w pewnej grze, ta gra to Endless-Online Remake. Na początek nagrałem trochę pakietów, gdy postać atakuje. Nagrałem 15 pakietów ataku i każdy pakiet był inny. Po analizie pakietu połączenia (zapytanie i odpowiedź) zebrałem następujące informacje:
    W pakiecie zapytania klient gry wysyła czas systemowy w 3 bajtach (integer), wydaje mi się, że to jest czas w sekundach. Serwer pobiera ten numer i używa go jako klucz kodowania do pierwszego pakietu - odpowiedzi na połączenie. W tym pakiecie też wysyłany jest jakiś numer, który służy jako klucz kodowania dla następnych pakietów. Kolejne pakiety wysyłane przez klient są inne, co oznacza, że może on używać czasu systemowego lub poprostu zwiększać wcześniej zainicjowany klucz kodowania.
    Serwer napewno używa numeru wysłanego przez klient jako klucz kodowania do pierwszego pakietu, sprawdziłem to przez proste proxy zmieniając ten numer na jakis stały, kolejne odpowiedzi serwera na połączenie były takie same (oprócz tego numeru, który jest chyba losowy). Dodam jeszcze, że pierwszy pakiet klienta jest zawsze taki sam (używa stałego algorytmu szyfrowania), w związku z tym, że 2 pierwsze bajty pakietu to jego długość, to dla pierwszego bajtu po odkodowaniu powinno wyjść 23 lub 25 :P

    Wie ktoś jakie to może być szyfrowanie ? Wydaje mi się, że to XOR'owanie ale nie jestem pewien, próbowałem coś z XOR'owaniem ale nie wychodziło.
    Posługuję się C++ i mam na celu napisanie emulatora serwera :P
    Jeśli chciałby ktoś zerknąc na pakiety to tutaj jest link do klienta gry: http://eoinfo.no-ip.org/EO36.zip

    Dzięki z góry za wszelką pomoc.
    Ostatnio edytowane przez Jimmyee : 02-08-2010 - 20:33

  2. #2
    Zarejestrowany
    Jul 2008
    Skąd
    /dev/random
    Postów
    556

    Domyślnie

    jesli masz gre to proponuje disassemblacje + debugger ot IDA i jechane, takie zgadywanie to mozna robic jak sie nie ma dostepu do oprogramowania - zajmuje znacznie wiecej czasu i nie gwarantuje dokladnego poznania protokolu...
    --
    ToM's Super Fix IT "No Fucking Problem"

  3. #3

    Domyślnie

    Jeśli chodzi o assemblera to jestem newb Ale dziex, poczytam troche, może coś wyjdzie

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj