1. #1

    Registriert seit
    17.12.2011
    Beiträge
    158
    Thanked 90 Times in 62 Posts

    Standard Knuddels Protokoll 260836 – Handshake, Login & Receive-only-Client v1.0.0

    Bots sind rein theoretisch wieder möglich. Wer daran weiter arbeiten möchte, kann dies tun

    Programmiersprache: Python

    Knuddels Desktop Client – Protokoll 260836

    Client: knuddels_desktop_client_re.py v1.0.0
    Server: chat.knuddels.de:2710
    Transport: Raw TCP · Modus: Receive-only

    1. Ablauf
    Code:
    TCP-Verbindung
    → DH-Schlüsselaustausch + ECDSA-Signaturprüfung
    → AES-128-GCM-Sitzungsschlüssel
    → t: Client-/Buildinitialisierung
    → q(-297292011): Bootstrap bestätigen
    → k: Prelogin
    ← Challenge, Channel, Eingangsmaske, Token
    → n: challengeabhängiger Login
    ← verschlüsselte Serverframes + Präfix-XOR
    ← CHANGE_PROTOCOL: dynamisches Schema
    → q(-1980074858): neues Schema bestätigen
    ← PROTOCOL_CONFIRMED
    ← Login-Ergebnis
    → bei Erfolg: dauerhafter Empfang + Keepalive
    Code:
    kompletten t → q → k → Challenge → n-Ablauf
    2. Frame-Verarbeitung
    Code:
    Ausgehend:
    UTF-16 → statischer Huffman-/Token-Codec
    → AES-128-GCM → Desktop-Längenpräfix → TCP
    
    Eingehend:
    TCP → Längenpräfix entfernen
    → AES-GCM authentifizieren/entschlüsseln
    → einmaliges Präfix-XOR der Eingangsmaske
    → Huffman-Decodierung
    → Legacy- oder Schemaformat
    Die Eingangsmaske wird ausschließlich auf den vorhandenen Präfix angewandt, nicht zyklisch wiederholt. AES-GCM verwendet einen zufälligen 12-Byte-Nonce und einen 16-Byte-Tag.

    3. Loginbewertung
    • []Erfolgreich: LOGIN_SUCCESS, CHAT_ENTER oder Legacy-Opcode a.
      []Fehlgeschlagen: LOGIN_FAILED, entsprechender DISCONNECT oder eindeutiger Legacy-Fehler.
    • Unbestimmt: Transporterfolg oder uneindeutige Serverantwort ohne bestätigte Authentifizierung.


    4. Dynamisches Protokoll
    Der Client verarbeitet CHANGE_PROTOCOL, validiert das Schema vollständig und installiert es atomar. Anschließend bestätigt er den neuen Hash -1980074858. Ungültige Schema-Updates werden nicht aktiviert.

    Relevante Ereignisse:
    Code:
    949  LOGIN_SUCCESS
    950  LOGIN_FAILED
    1005 CHAT_ENTER
    1007 CHAT_PUBLICMESSAGE
    1011 CHAT_PRIVATMESSAGE
    1020 CHAT_ACTION
    1146 DISCONNECT
    1147 PING
    1156 SYSTEM_MSG
    1159 CHANNEL_MEMBERS
    5. Keepalive und Grenzen
    • []Server-Heartbeat , mit Token → Clientantwort h mit Token.
      []Nach 60 Sekunden ohne eigenen Versand: h mit -.
      []Kein Pong innerhalb von 25 Sekunden: keepalive_timeout.
      []Der Client sendet keine Chattexte oder Benutzerbefehle.
    • Maximaler verschlüsselter Frame: 2 MiB; weitere Grenzen gelten für Schema, Arrays, Rekursion und Eingaben.



    https://youtube.com/shorts/unr93UMRi...hcUuGEF-Mh2zAz

    Mit Hilfe von KI erstellt

    Datei (Single File):

    knuddels_desktop_client_re.zip
    Geändert von Integer (20.10.2026 um 17:11 Uhr)

  2. The Following User Says Thank You to Integer For This Useful Post:

    Manipulate (21.10.2026)

  3. #2

    Registriert seit
    17.12.2011
    Beiträge
    158
    Thanked 90 Times in 62 Posts

    Standard AW: Knuddels Protokoll 260836 – Handshake, Login, Receive & Sent Client v1.1.0

    Version 1.1.0 – Enthält:


    ☑ Server-Heartbeat mit Token → Clientantwort h mit Token
    ☑ Nach 60 Sekunden ohne eigenen Versand: h mit -
    ☑ Pong innerhalb von 25 Sekunden: keepalive_timeout
    ☑ Client sendet Chattexte oder Benutzerbefehle

    knuddels_desktop_client_re110.zip
    Geändert von Integer (20.10.2026 um 17:13 Uhr)

  4. #3

    Registriert seit
    09.11.2011
    Beiträge
    143
    Thanked 155 Times in 61 Posts

    Standard AW: Knuddels Protokoll 260836 – Handshake, Login & Receive-only-Client v1.0.0

    Zitat Zitat von Integer Beitrag anzeigen
    Bots sind rein theoretisch wieder möglich.
    Bots waren immer "möglich", das ist jetzt keine Innovation. Es hat nur niemand mehr (öffentlich) etwas diesbezüglich gemacht.

  5. #4
    Avatar von Manipulate
    Registriert seit
    04.12.2011
    Beiträge
    533
    Thanked 510 Times in 360 Posts

    Standard AW: Knuddels Protokoll 260836 – Handshake, Login & Receive-only-Client v1.0.0

    Man kann auch die GraphQL API vom K3 Clienten konsumieren, damit lässt sich auch sehr viel realisieren. So mach ich es bisher.

    Ansonsten habe ich mich mal daran gesetzt, den alten Weg zu gehen über javassist + Bytecode Manipulation, damit die StApp manipuliert ist. Wir sind von der Analyse auf jeden Fall zu den selben Entschlüssen gekommen, verfolgen aber indirekt andere Ansätze. Deins ist headless, meins ist dann die normale StApp, nur eben manipuliert.
    Geändert von Manipulate (20.10.2026 um 23:47 Uhr)

  6. #5

    Registriert seit
    17.12.2011
    Beiträge
    158
    Thanked 90 Times in 62 Posts

    Standard AW: Knuddels Protokoll 260836 – Handshake, Login & Receive-only-Client v1.0.0

    Zitat Zitat von Brainy Beitrag anzeigen
    Bots waren immer "möglich", das ist jetzt keine Innovation. Es hat nur niemand mehr (öffentlich) etwas diesbezüglich gemacht.
    Der zweite Teil deiner Aussage, erklärt warum ich es geschrieben hatte

    - - - Aktualisiert - - -

    Zitat Zitat von Manipulate Beitrag anzeigen
    Man kann auch die GraphQL API vom K3 Clienten konsumieren, damit lässt sich auch sehr viel realisieren. So mach ich es bisher.
    Wird die nicht für den Web Clienten genutzt? Ist die nicht weitaus eingeschränkter?

  7. #6
    Avatar von Manipulate
    Registriert seit
    04.12.2011
    Beiträge
    533
    Thanked 510 Times in 360 Posts

    Standard AW: Knuddels Protokoll 260836 – Handshake, Login & Receive-only-Client v1.0.0

    Zitat Zitat von Integer Beitrag anzeigen
    Wird die nicht für den Web Clienten genutzt? Ist die nicht weitaus eingeschränkter?
    Ja, ist sie. Man kann beispielsweise nicht direkt in Spiele Channel gehen wie 8-Ball, 9-Ball, Mafia oder ähnliches. UserApps kann man dadurch trotzdem angehen und mit denen interagieren.
    Die Frage ist dann halt, was du damit dann wieder machen wollen würdest, die alten Zeiten sind vorbei, dass es sich lohnen würde Spiele-Bots zu erstellen.

  8. #7

    Registriert seit
    17.12.2011
    Beiträge
    158
    Thanked 90 Times in 62 Posts

    Standard AW: Knuddels Protokoll 260836 – Handshake, Login & Receive-only-Client v1.0.0

    Zitat Zitat von Manipulate Beitrag anzeigen
    Ja, ist sie. Man kann beispielsweise nicht direkt in Spiele Channel gehen wie 8-Ball, 9-Ball, Mafia oder ähnliches. UserApps kann man dadurch trotzdem angehen und mit denen interagieren.
    Die Frage ist dann halt, was du damit dann wieder machen wollen würdest, die alten Zeiten sind vorbei, dass es sich lohnen würde Spiele-Bots zu erstellen.
    Richtig, dieses Thema hatten wir auch in der Gruppe gehabt. Die Zeiten von Knuddels allgemein ist vorbei, ich wollte es hier eigentlich nur archiviert haben, wenn es jemand trotzdem braucht, kann er/sie es nutzen

  9. #8
    Avatar von Manipulate
    Registriert seit
    04.12.2011
    Beiträge
    533
    Thanked 510 Times in 360 Posts

    Standard AW: Knuddels Protokoll 260836 – Handshake, Login & Receive-only-Client v1.0.0

    Ist ja 'ne gute Sache, Dokumentation ist super. Ich wollte deine Arbeit damit nicht schlecht reden, versteh mich bitte nicht falsch. Wir haben nur unterschiedliche herangehensweisen gehabt, meine Erkenntnisse sind nämlich (noch) closed-source. Wer weiß, ob ich sie mal veröffentliche. Glaube Bizzi hat mal was veröffentlicht, was meinem relativ ähnlich war.

  10. The Following User Says Thank You to Manipulate For This Useful Post:

    Integer (21.10.2026)

  11. #9

    Registriert seit
    28.10.2011
    Beiträge
    635
    Thanked 294 Times in 175 Posts

    Standard AW: Knuddels Protokoll 260836 – Handshake, Login & Receive-only-Client v1.0.0

    Ich hab verschiedene Ansätze mal gemacht, aber irgendwann nicht mehr weiterverfolgt - alleine, weil die Interesse sowieso verschwindend gering ist.
    Hier mal eine Auflistung für mögliche "Einstiegspunkte" und verschiedene Tools:

    1. Browser-Extension (via abfangen von Networking): https://github.com/Bizarrus/K3-Bot/t...er%20Extension

    2. Standalone (via GraphQL/REST-API): https://github.com/Bizarrus/K3-Bot/tree/main/Standalone
    - Hier sind sogar verschiedene Bots implementiert (Quest-System Solver, Daten-Crawler, automatisches DailyLogin, StayOnline
    - Für den Crawler gibts ein extra Webinterface: https://github.com/Bizarrus/K3-Bot/t...20Webinterface
    - Nicht zu empfehlen, Knuddels merkte während der Enwtwicklung, dass am Tag tausende Login-Versuche stattfanden, hier müsste das Session-Holding überprüft/korrigiert werden.

    3. Proxy (TCP): https://github.com/Bizarrus/Knoxy
    - Auf Basis von Javascript
    - Da "Proxy", kann man sich hier mit StandaloneApp (Java) einloggen
    - Danke hier an SeBiTM für eine Teil-Contribution
    - Mit Plugin-System

    4. Proxy: https://github.com/Bizarrus/Klass
    - Auf Basis von C#

    5. AppletInfo auslesen (für Java-Manipulation): https://github.com/Bizarrus/Knuddels-AppletInfo

    6. Register (mittels Proptobuf, glaube das geht aber nur noch über GraphQL): https://github.com/Bizarrus/Knuddels-Protobuf-Register

    Nummer 5. wurde damals in der Szene manuell per Hand durchgeführt und in die jeweiligen Libs für die manipulierten Java-Clienten eingearbeitet.
    Bisher war es relativ "schwierig", automatisiert mit rudimentären Möglichkeiten nachzuverfolgen - schon alleine weil Knuddels mit Absicht hier Verschleierungstechniken angewendet hatte, die z.B. mehrere gleiche Methoden mit identischen Überladungen bieteten. Mit KI sieht das sicherlich anders aus. Die Idee war irgendwann mal, das ganze zu automatisieren, irgendjemand hatte da auch schonmal zu BC-Zeiten soetwas gemacht, glaube ich.

  12. The Following 2 Users Say Thank You to Bubble Gum For This Useful Post:

    Integer (22.10.2026), Manipulate (22.10.2026)

Ähnliche Themen

  1. NodeJS Knuddels Client (HTMLChat)
    Von patlux im Forum Sourcecode
    Antworten: 0
    Letzter Beitrag: 02.12.2014, 22:41
  2. Antworten: 1
    Letzter Beitrag: 21.04.2013, 15:59
  3. Frage Knuddels Client
    Von Borussia Dortmund im Forum Knuddels Bots
    Antworten: 1
    Letzter Beitrag: 14.03.2012, 20:44
  4. [HELP] Knuddels Bot Client Programmierung
    Von Bielefelder1989 im Forum Knuddels Programmierung
    Antworten: 9
    Letzter Beitrag: 07.03.2011, 17:53
  5. Knuddels Login
    Von Resident im Forum Hochsprachen
    Antworten: 5
    Letzter Beitrag: 25.02.2011, 16:07

Stichworte

Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.