Entwickler-Ecke

Ankündigungen - AGS2009 - Lösung zu Paranuss 2 (Server-Rätsel)


Narses - Fr 25.12.09 13:25
Titel: AGS2009 - Lösung zu Paranuss 2 (Server-Rätsel)
Moin!

Hier die Lösung zur Server-Paranuss: Der Buchstabe N :lol: :gruebel: :nixweiss:

Lösungsweg: Der Server schickt den aktuellen Zeitstempel als Unix-Time (Sekunden seit 1970 als Int64 in Network-Byte-Order, also "andersrum" als Intel), aber beim Datum um den ASCII-Wert des Textzeichens verschoben, pro Sekunde ein Zeichen. Wenn man den Timestamp in ein TDateTime umwandelt und einfach die Differenz zu Date() bestimmt, hat man den Klartext. Der Text enthält ein Buchstabenrätsel, Lösung ist der Buchstabe "N":
Zitat:
ENTWICKLER-ECKE ADVENTSGEWINNSPIEL 2009 / SUPER, 1. TEIL GESCHAFFT. HIER IST DER 2. TEIL: ZEICHNE EIN QUADRAT, UNTERTEILE ES IN 3X3 KAESTCHEN. FANGE LINKS OBEN AN UND TRAGE EIN E EIN, DARUNTER EIN V UND DARUNTER EIN S. TRAGE IN DIE NAECHSTE SPALTE Z,F,A UND IN DIE LETZTE SPALTE D UND S EIN. WELCHER BUCHSTABE FEHLT IM KAESTCHEN RECHTS UNTEN?0
Die "0" ist ein #0-Zeichen, also das aktuelle Datum/Uhrzeit.

cu ;)
Narses


BenBE - Fr 25.12.09 21:51

YYYYYEAAAHSSSSSSS!!!!!!!!


Flamefire - So 27.12.09 12:04

^^
Knackpunkt hier, war mal wieder die Verteilung der Werte.
Nachdem man wusste, dass jede Sekunde ein Wert kommt (Dass die Zeit konstant war, war schnell ersichtlich) konnte man eine Häufigkeitsanalyse starten.
Als dann an einem anderen Tag, die Häufigkeiten verschoben waren, hatte man seinen Ansatz. Aber auch darauf musste ein schlauer Kopf erst mal kommen ;-) Greetz dahin


Narses - Mo 04.01.10 20:44

Moin!

user profile iconFlamefire hat folgendes geschrieben Zum zitierten Posting springen:
Knackpunkt hier, war mal wieder die Verteilung der Werte.
Interessanter Ansatz. ;)

Mich würde interessieren, wie die anderen Nussknacker vorgegangen sind. :lupe: :nixweiss: :D

cu
Narses


Martok - Mo 04.01.10 21:11

user profile iconNarses hat folgendes geschrieben Zum zitierten Posting springen:
Mich würde interessieren, wie die anderen Nussknacker vorgegangen sind. :lupe: :nixweiss: :D

Recht Intuitiv, würde ich sagen.

Es war klar, dass da immer die aktuelle Uhrzeit rauskommt. Nur: das Datum war immer verschoben.... aber jedes mal anders. Ergo musste da auf dem Ganzzahlanteil was drauf kodiert sein :idea:

Und da man ja erstmal vom primitivsten ausgeht :gruebel: , hab ich einfach mal das "echte" Datum vom übermittelten abgezogen... und siehe, es lag im Printable-Char-Bereich :flehan: . Noch chr() drumrum, fertig ist der Zeichensalat.

Leider hatte ich recht schlechten Empfang :?: , so dass ich das mit tcpdump-Capture-Dateien, die user profile iconBenBE freundlicherweise gespendet hat :!: , auswerten musste. Haben ein paar Zeichen gefehlt, hat aber gereicht um die Nachricht und insbesondere das Quadrat zu schätzen :les: ;)

Ich muss allerdings gestehen, dasss es dann etwas gedauert hat bis der Groschen gefallen ist. Aber GIDF und so.... :lupe:

Note: dieser Text enthält Smileys. Sie dienen als Dekorationselemente und haben keinen besonderen Zweck :lol: