Demaskierung

  • Moin,
    hab da ein Problem mit einer Maskierung.
    Ich bekomme über Socket maskierte Pakete die (logisch) demaskiert werden müssen.
    Läuft alles soweit, außer bei einem "Drittanbieter-Paket".


    Die Gegenstelle (der Server) sendet immer schön nach Protokoll seine Pakete.
    Aber irgendwann kommt "da drüben" ein Drittanbieter ins Spiel. Der übergibt wohl dem Server seine Pakete um sie senden zu lassen.
    Dadurch wird das komplette Protokoll über den Haufen geschmissen und das Paket kommt als raw String beim Client (also bei mir) an.


    Das Problem: ich finde nirgends (seit ner Woche) das Protokoll oder irgend einen Hinweis, wie der Drittanbieter seine Pakete maskiert.


    Versuchs noch mal kurz:
    Fall "normal":
    Server sendet Paket maskiert.
    Client (ich) empfange Paket (manchmal über mehrere Lesevorgänge) und demaskiere das Paket.
    Alles OK.


    Fall "Drittanbieter":
    Server sendet Paket maskiert - aber dieses Mal bekam Server Daten vom Drittanbieter zum Senden und
    - sendet erstes nach Protokoll (kann demaskiert werden)
    - sendet alle weiteren Pakete als raw String

    Dieser raw String enthält jetzt mehrere Pakete dessen Protokoll ich nicht kenne.
    Hab schon festgestellt, dass dieser raw String die Pakete per "\n" trennt.
    Also bekomme ich die Drittanbieter Pakete einzeln aus dem raw String heraus.


    Das Problem ist wie gesagt: ich weiß nicht, wie ich diese Pakete demaskieren kann.


    Bsp für ein "ordentliches" Paket nach Protokoll:

    Code
    0000 0040 3800 0000 0200 0000 0200 0000 4f4b 0020 0000 0031 4231 3839 3831 3530 3441 3443 4232 4234 4232 3237 3435 3634 3134 4436 4143 3700


    decode zb hier: http://www.string-functions.com/hex-string.aspx


    Wenn ich das Paket demaskiere bekomme ich:

    Code
    // $this->unmask($this->hexstr($str)) -- hex to string, dann unmask
    Array(
        [0] => OK
        [1] => 1B18981504A4CB2B4B227456414D6AC7
    )


    Also alles OK.


    Das "Problem-Paket" ist im Anhang, da einfach zu groß. (Anhang hier: html-seminar.de/woltlab/attachment/739/)
    Wenn ich das von hex to string Konvertiere bekomme ich:


    Das sind nun alles Pakete die per "\n" verbunden wurden.
    Dabei ist das erste (erste Zeile) ein Paket nach Protokoll und kann wir gewohnt demaksiert werden (ich bekomme mein Array).
    Alle anderen sind nun allerdings unbekannt maskiert.


    Hat jemand eine Idee, wie ich die Maskierung heraus bekomme?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!