PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Codeknacker-Serie Kevin - Level 2



robodriver
01.11.2007, 09:06
So, nachdem Kevin mitbekommen hatte, das da 2 Leute den Schlüssel seines Programmes geknackt haben, hat er sein Programm umgeschrieben und es etwas komplizierter Verschlüsselt.

Doch diesmal macht Kevin einen Fehler: Er hat vergessen sein Verschlüsselungsprogramm mit einem Passwort zu versehen.
Als ihr euch an seinem Rechner zu schaffen macht, findet ihr das Verschlüsselungsprogramm und könnt es auch benutzen.

Somit habt ihr diesmal hier die Möglichkeit, mir jeder Zeit einen Text zu nennen, ich werde ihn ins Programm eingeben und euch die Ausgespuckte Datei hier her Posten. Ich denke das ist eine große Hilfe, aber nehmt es nicht auf die leichte Schulter ;)
Es ist immer hin Level 2

Also was wird Kevin wohl diesmal Verschlüsselt haben?


--- VIP Data ---
3306821523736540121322323986439
5423918238877391783221835727401
1639059391723897240087387623896
9397933911240474335703608940451
3918140759400253901939161334413
2269390273879040582322333957940
5294069032214390513873240582322
6034050336933221236644391844086
6391783989632210390633915940573
3226137270518284063940533391323
98884054333627322503485533118
Data length=66
Data create=31.10.2007 16:24:36
Data saftylevel=2


Viel Spaß beim entschlüsseln. Richtige Lösungen bitte per PN.
Anfragen zu einer Datei-Erstellung hier im Forum, damit alle das Ergebniss sehen können und sich dann einen Kopf machen können.

Viel Spaß beim Rätseln wünscht Robodriver

chr-mt
01.11.2007, 10:32
Um nochmal auf das vorige Rätsel zurückzukommen...

Demzufolge werden noch 5 Zufallszahlen hinten angehängt, die keinerlei Bedeutung haben
Dies wird absichtlich gemacht, damit die Code-Knacker auf eine falsche Fährte geführt werden
Genau da war mein Problem.
Den Text hatte ich recht schnell raus (hab' mir ein VB Prog. geschrieben, mit dem man immer einen ASCII-wert hoch oder runterschalten kann)
Aber diese blöden Zufallszahlen.....ich dachte da wäre noch irgendeine Info drin verborgen. Sowas gemeines [-X
Na gut. Auf ein neues :)

Gruß
Christopher

Andun
01.11.2007, 14:20
Argh .... Mir geht es genau wie dir, chr-mt.

Das Prinzip hab ich auch verstanden, aber mit den verwirrungszeichen konnte ich nichts anfangen ... das ist voll fieß... und da ich selbst dechifriert habe und nicht maschinell hab ich nicht gesehen, dass dahinter wieder was sinnvolles kommt .... grml ... :D

Ich werd mich hierran aber auch mal wieder probieren.

Andun

robodriver
01.11.2007, 14:43
Ja, das erste Level war wirklich fies. Ich gebs ja zu. =P~

Bitte vergesst nicht, das ihr bei dem zweiten Level Texte Posten könnt die ihr mit diesem Schlüssel gern verschlüsselt haben wollt.
Das ist schließlich eure einzige Chance irgendwann irgendwie auf eine Lösung zu kommen ;)
Denke ich zumindest.

Andun
01.11.2007, 16:53
Ok. Dann will ich das doch gleich mal nutzen und folgenden Code verschlüsselt haben.



AAAA aaaa AAAA aaaa AA
EEEE eeee EEEE eeee EE
MMMM mmmm MMMM mmmm MM

Das sollten jetzt inklusive der Leerzeichen 66 Zeichen sein.

Kriegen eigentlich alle Texte zu sehen? Fände ich am besten.

mfg
Andun

robodriver
01.11.2007, 17:02
Also ich habe es mal ins Programm eingegeben.



AAAA aaaa AAAA aaaa AA
EEEE eeee EEEE eeee EE
MMMM mmmm MMMM mmmm MM

ergibt folgende Datei:

--- VIP Data ---
5628020223702737061370653707133
7874024240225402504025033717370
7737082370453706233759402734021
2402854025633787370653702731845
3156637443374103749637430337954
0647406594062840610337533748437
4223742337453337824066140613406
5240617337313748237423318453155
4382693829238242382153378341427
4145641491414663371238259382563
8294382893378441439414794147941
427337473822938257
Data length=70
Data create=01.11.2007 17:56:43
Data saftylevel=2


Es sind nicht 66 Zeichen, sondern 70, weil die zwei Zeilenumbrüche jeweils 2 Zeichen sind (standart chr(10) und chr(13)) ;)

Viel spaß beim knobeln

Gruß Robodriver

chr-mt
01.11.2007, 17:03
Wie wär's hiermit :
"franz jagt im komplett verwahrlosten taxi quer durch bayern"

Gruß
Christopher

robodriver
01.11.2007, 17:06
habs mal ohne Anführungszeichen eingegeben:



franz jagt im komplett verwahrlosten taxi quer durch bayern

ergibt folgende Datei:

--- VIP Data ---
5062711413263833827321613341234
6872569733035321153275434023256
7632997333302567833172335103337
0336153322632569340673406725630
3424432516338773439132160328243
3888332613357033977340613254433
4812569534056321183443232917256
8933712341653257633888256433248
9341343386132372328932564032211
3217234529325873385633430
Data length=59
Data create=01.11.2007 18:05:23
Data saftylevel=2


Gruß Robodriver

Andun
02.11.2007, 10:58
Nur um mal mit zu teilen, dass ich diesmal vernünftiger an der Lösung arbeite. Ich hab mir erstmal ein JavaScript geschrieben, dass mir den ganzen Text analysiert ...

Ich weiß ja nicht, in wie fern, wir jetzt schon kooperieren dürfen, aber in meinem Text oben taucht überraschender Weise 16 mal die 37 auf, gefolt von 8 mal die 40 und 74.

Irritieren tut mich das ganze aber sowieso deshalb, weil mein Text oben chiffriert eine ungerade Anzahl Zahlen ergibt... mh ...

Andun

robodriver
02.11.2007, 11:01
Ja, ihr dürft hier auch kooperieren und eure bisherigen Erkenntnisse Niederschreiben.
Ich denke den Code werdet ihr nur im Teamwork knacken.

Es können auch weiterhin noch Texte verschlüsselt werden.

Achso: und ich versichere euch hier auch nochmal das sich jeder Verschlüsselte Text mit dem Programm auch wieder entschlüsseln lässt.

Viel spaß noch

Robodriver

robodriver
02.11.2007, 13:32
So, der erste hat es schon geschafft.
Glückwunsch an den User 0x3FFF
gelöst am 02.11.2007, 14:44

jetzt gehts um den 2. Platz

Andun
02.11.2007, 13:35
Hier mal mein Script mit dem ich bisher gearbeitet habe. Ich finde es fair, dass damit auch andere Leute mal rumprobieren dürfen, falls ihr wollt, da dies doch ne ziemliche arbeit war und die braucht nicht mehrmals gemacht werden.


/*l2.js */
//mit array.slice(0) wird als praktischer Nebeneffekt eine Kopie und keine Referenz des Arrays verwendet.

function setText () {
set_output("");

codeArray = input_umwandeln(document.getElementById("Eingabe").value)

//Formatiere den Text im Eingabefenster, für bessere Lesbarkeit
input_format(codeArray.slice(0));

//Formatiert den Input für die Ausgabe
input_ausgabe(codeArray.slice(0));

//Anzahl der Zahlen ausgeben
document.getElementById("zeichen").value = codeArray.length;

//Gibt die Häufigkeit der Zahlen aus
zahlenHaeufigkeit( codeArray.slice(0) );

}

function append_output(text) {
document.getElementById("Text").firstChild.nodeValue = document.getElementById("Text").firstChild.nodeValue + text;
}


function set_output(text) {
document.getElementById("Text").firstChild.nodeValue = text;
}

function zahlenHaeufigkeit(Array_mit_Zeichen) {
append_output("---Zahlenhaufigkeit---\r\n");
//Ausgabe der Zahlenhäufigkeit
for (var zaehlArray = new Array() ; zaehlArray.length<100 ; zaehlArray.push(0));

for (Array_mit_Zeichen ; Array_mit_Zeichen.length>0 ; Array_mit_Zeichen.shift()) {
zaehlArray[Array_mit_Zeichen[0]] = zaehlArray[Array_mit_Zeichen[0]]+1;
}
var i = 0;
for(;i<100;i++) {
append_output(i + " ");
if(i < 10) append_output(" ");
}
append_output("\r\n");
for( ; zaehlArray.length>0 ; zaehlArray.shift()) {
append_output(zaehlArray[0]+" ");
if(zaehlArray[0] < 10) append_output(" ");
}
append_output("\r\n---\r\n");
}

function input_umwandeln(input) {
//Input in Array umwandeln, als 2stellige Zahlen interpretiert
var codeArray = new Array();
for (var temp = input ; temp.length>0 ;) {
if(temp.charCodeAt(0)==10 || temp.charCodeAt(0)==32) { temp = temp.slice(1); }
else{
if(temp.charCodeAt(1)==10 || temp.charCodeAt(1)==32) {
codeArray.push(temp.charAt(0)+temp.charAt(2));
temp = temp.slice(3); }
else {
codeArray.push(temp.charAt(0)+temp.charAt(1));
temp = temp.slice(2);
}}}
return codeArray;
}

function input_format(temp2) {
//Formatiert den Input im Input Fenster
document.getElementById("Eingabe").value = "";
for( ; temp2.length > 0 ; temp2.shift() ) {
document.getElementById("Eingabe").value = document.getElementById("Eingabe").value + temp2[0] + " ";
}
}

function input_ausgabe(temp) {
//Formatiert den Input für die Ausgabe
append_output("---Formatierter Input---\r\n");
for(temp = codeArray.slice() ; temp.length > 0 ; temp.shift() ) {
append_output(temp[0] + " ");
}
append_output("\r\n---\r\n");
}


<html><head><title>Entschlüsseln von Level2</title>
<script src="l2.js" type="text/javascript"></script>
</head><body>
<h1>Level2 Entschlüsseln</h1>
<form name="Formular" action="">
Text:

<textarea id="Eingabe" rows="15" cols="50" style="font-size:1em;"></textarea>

<input type="button" name="mach" value="mach!" onclick="setText(); false;">

Zeichenanzahl<input type="Text" id="zeichen" name="zeichenanzahl" value="0" size="3">
</form>
<pre>
<div id="Text" style="font-size:1em;"></div></pre>
</body></html>

Andun
03.11.2007, 13:26
Moin

Ich hätte da gerne noch ein paar Texte verschlüsselt. Also da man ja ganz fieß sein kann, hätte ich gerne einfach nur ein einzelnes Leerzeichen verschlüsselt und dann nochmal 10 Leerzeichen hintereinander.

Dann noch folgendes:

Dies ist ein völlig normaler Deutscher Text mit einer hoffentlich sinnvollen Buchstabenverteilung bei dem dann wieder auffällt dass es viele dreiunddreisige gibt deswegen auch keine punktion hier

Danke

robodriver
03.11.2007, 15:54
Puh, so viele Wünsche auf einmal. Aber sie seien dir erfüllt:

Ein einziges Leerzeichen ergibt:


--- VIP Data ---
85720192724993
Data length=1
Data create=03.11.2007 16:51:28
Data saftylevel=2


10 Leerzeichen ergeben:


--- VIP Data ---
1329419792425824260242412422024
2392424124276242872426024254
Data length=10
Data create=03.11.2007 16:52:11
Data saftylevel=2


So, und "Dies ist ein völlig normaler Deutscher Text mit einer hoffentlich sinnvollen Buchstabenverteilung bei dem dann wieder auffällt dass es viele dreiunddreisige gibt deswegen auch keine punktion hier" ergibt:


--- VIP Data ---
6798276605127354920545575591247
6405492055916560134765754521549
5655453476245626169053552985527
3549155478847646554875556255865
5536254149552775456555833476565
1248545225613856081559585432854
8255453555822476495285954523564
8056014476455538954913560184761
5545735494355411545835582347626
5484455554546105462654593554535
6049552935498154390548464766855
9155491555431554425625655528552
6455225545675544547662510875619
3543775482055972560405419254263
5455955421562765458155826560825
4531549975528656148554815473847
6195422054564549554769254483545
4655370476945443854145554575542
5476545635154974545735448954565
5585447684541445617654663546456
7235552515524656041476615444754
1375596155946476735454155996476
8956259549235457855218545364761
0544235584054563549365611355470
5448454420558265456954989559275
4953547455451247610547635497754
2245602447672544955453355916563
6954533547145458355435476125411
1561365439454899476605516654543
5497655451545774767855655561635
5442551195602454988555145547447
65554850549695452255881
Data length=195
Data create=03.11.2007 16:53:59
Data saftylevel=2

So, jetzt sollte es doch machbar sein ;)
Viel spaß beim Kopf zerbrechen *lol*

Gruß Robodriver

PS: Nicht die Hoffnung verlieren und den Kopf nicht in den Sand stecken

robodriver
03.11.2007, 18:52
So, der zweite hat es nun auch geschafft:

Mein Glückwunsch geht an elayne 03.11.2007, 20:38

Und wer bekommt Bronze?

Andun
03.11.2007, 19:47
Mh ... mist...

irgendwie ... mist ...

Verschlüssel mir doch nochmal folgendes bitte:

"Hallo" (ohne die ")

"Hallp"

"Hallq"

"HalloHallo"

"HallpHallp"

Danke

Andun

robodriver
03.11.2007, 19:57
Okay,

also Hallo ergibt:


--- VIP Data ---
2842511833177234222353573538735633
Data length=5
Data create=03.11.2007 20:53:46
Data saftylevel=2


Hallp ergibt:


--- VIP Data ---
8390470203148433979350513505335421
Data length=5
Data create=03.11.2007 20:54:42
Data saftylevel=2


Hallq ergibt:


--- VIP Data ---
2382871323298135496365673658037071
Data length=5
Data create=03.11.2007 20:54:57
Data saftylevel=2


HalloHallo ergibt:


--- VIP Data ---
5058866202828830783318793183232
1792825730769318783189632114
Data length=10
Data create=03.11.2007 20:56:03
Data saftylevel=2


HallpHallp ergibt:


--- VIP Data ---
6007398303073033276343163432934
7343077933277343193431634728
Data length=10
Data create=03.11.2007 20:56:28
Data saftylevel=2


Jetzt sollte es aber doch so langsam machbar sein ;)

Gruß Robodriver

elayne
03.11.2007, 20:03
Also mir hat das einzelne Leerzeichen und die 10 Leerzeichen auf die Sprünge geholfen.

Gruß
Philipp

Andun
05.11.2007, 15:49
Mh ...

Also irgendwie komm ich noch nciht drauf. Ich hätte ncoh gern ein, und zwei Leerzeichen. Danke

Andun

robodriver
05.11.2007, 16:24
Also gut, wie du willst.

Ein Leerzeichen:


--- VIP Data ---
23548561919665
Data length=1
Data create=05.11.2007 17:23:00
Data saftylevel=2


Und zwei Leerzeichen:


--- VIP Data ---
3428024112563625614
Data length=2
Data create=05.11.2007 17:23:59
Data saftylevel=2


Gruß Robodriver

Andun
05.11.2007, 16:42
Also, da ich ja anscheinend wirklich zu bekloppt geworden bin, hier bei meinem Zivi-Job, schreib ich einfach mal, auf was ich bisher gekommen bin und was mir aufgefallen ist.

1. Als du mir hier grade eben das 2. mal ein Leerzeichen verschlüsselt hast, ist es ganz anders geworden, als oben ... zum Glück hab ich mich vertippt und mir fällt das auf ... hilft mir aber noch nicht. :D

2. Pro Buchstabe im original Text sind es 5 Ziffern im Verschlüsselten Text + 9 weitere Ziffern im Chiffre. (Diese Tendenz ist auf jeden Fall zu erkennen, wenn man sich das inner Tabelle anschaut)

3. Ich hab gleich Feierabend und noch weniger Zeit als hier, im Moment und dann werd ich morgen mal weiter dran rum probieren ...

Rätselt eigentlich noch jemand außer mir immer noch dran, oder werde ich aleine und dumm sterben? (Bzw. irgendwann eines besseren belehrt?) :D

mfg

Andun

elayne
05.11.2007, 16:57
Ich bin mehr oder weniger durch Zufall auf die Lösung gekommen, den wie sich der Code genau zusammensetzt hab ich nochnich rausbekommen. Bin also auch noch dran.

Gruß
elayne

chr-mt
06.11.2007, 07:35
Rätselt eigentlich noch jemand außer mir immer noch dran
Ich hab' mich ausgeklinkt.
Mich hat eine Grippe erwischt und da ist der Kopf zu nicht allzu viel in der Lage.
Bin froh, wenn ich von der Arbeit komme und halbwegs meine Ruhe habe.
Und dann haben wir auch noch eine neue Mitbewohnerin, die im Moment alle Aufmerksamkeit auf sich zieht.....

Also vielleicht wieder beim nächsten Rätsel.

Gruß
Christopher

(Die Mitbewohnerin hat übrigens 4 Beine und ist noch nicht Stubenrein ;) )

robodriver
08.11.2007, 10:33
So, ich denke jetzt ist es an der Zeit den Schlüssel des Codes und die richtige Lösung herauszugeben!

Die Gewinner des 2. Levels lauten:
1. 0x3FFF
2. elayne

Herzlichen Glückwunsch und meinen Respeckt an euch!


Die Verschlüsselung erfolgt folgender masen:

Zunächst werden (zur Verwirrung) 9 Zufallsgenerierte Zahlen ohne jegliche Bedeutung geschrieben.
Im Anschluss kommt der Codierte Text mit einem bestimmten Muster und einer einfachen ASCII Verschiebung: xxxzzxxxzzxxxzzxxxzz
Wobei immer xxx den Code für ein Zeichen darstellt und zz zwei (mal wieder) zufallsgenerierte Zahlen sind, die ebenfalls keinerlei Bedeutung haben und nur verwirrung stiften sollen.

Dieses Muster haben die beiden Gewinner ganz klar erkannt und dann über die ASCII Verschiebung den Text entschlüsselt.
Allerdings hat niemand herausgefunden wie sich der Wert ergibt, um den die ASCII-Verschiebung erfolgt. (Das verwundert mich etwas) Es wird auf jeden Fall immer ein anderer Schlüssel verwendet, soviel hat sciherlich jeder mitbekommen ;) .

--> Zumindest wenn der Code zu unterschiedlichen Uhrzeiten erstellt wird und unterschiedlich lang ist. (Das konntet ihr nicht wissen. Keiner wollte einen Code der zur gleichen Uhrzeit generiert wurde :P )
Genau da liegt der Trick:
xxx entspicht immer dem ASCII-Code des Zeichens addiert durch folgende Werte:
+100 (um 100%ig zu garantieren das der Wert immer 3-Stellig wird)
+Tag im Datum
+Monat im Datum
+Jahr im Datum (zweistellig!)
+Stunde der Uhrzeit
+Minute der Uhrzeit
+Sekunde der Uhrzeit
+Anzahl der unverschlüsselten Zeichen

Das ist eigentlich schon alles.

Viel spaß beim ausprobieren/Nachrechnen.

Hier nochmal die direkte Auflösung des vorgegebenen Rätsels:







Der Text wurde erstellt am: 31.10.2007 16:24:36
und hat eine Original-Länge von 66 Zeichen

Die ASCII-Verschiebung lautet hier also 290

Und nun der Text mit dem Aufgeschlüsselten Muster:

330682152
373 65 401 21 322 32 398 64
S o l

395 42 391 82 388 77 391 78
i e b e

322 18 357 27 401 16 390 59
C o d

391 72 389 72 400 87 387 62
e k n a

389 69 397 93 391 12 404 74
c k e r

335 70 360 89 404 51 391 81
- F r e

407 59 400 25 390 19 391 61
u n d e

334 41 322 69 390 27 387 90
, d a

405 82 322 33 395 79 405 29
s i s

406 90 322 14 390 51 387 32
t d a

405 82 322 60 340 50 336 93
s 2 .

322 12 366 44 391 84 408 66
L e v

391 78 398 96 322 10 390 63
e l d

391 59 405 73 322 61 372 70
e s R

518 28 406 39 405 33 391 32
ä t s e

398 88 405 43 336 27 322 50
l s .

348 55 331 18
: )

Also nochmal zusammen hängend:
"So liebe Codeknacker-Freunde, das ist das 2. Level des Rätsels. :)"


Vielleicht lassen wir diesen Thread noch etwas offen und ich warte noch bis zum Wochenende mit dem Einstellen des 3. Levels. (Vorab: Da ist Teamwork gewünscht und erforderlich. Das Programm dazu ist auch schon geschrieben)

Nun könnt ihr hier noch Posten an was ihr hängen geblieben seit, woran es gescheitert ist oder was ihr heraus gefunden hattet. Das würde mich mal interessieren (und einige andere vielleicht auch).

Und die Gewinner können vielleicht noch Ihren "Lösungsweg" erläutern.

Also dann bis zum 3. Level

Es Grüßt freudig :)
Robodriver

Andun
09.11.2007, 18:44
Grml ...

Also, ... grml ... ich hatte DOCH Recht damit, dass für jeden Buchstaben 5 Zeichen eingesetzt werden. Auch wenn 2 davon Müll sind.

Bei mir hat es aber daran geharpert, dass ich mir nicht vorstellen konnte, dass du die Ascii Verschlüsselung dermaßen komplex machst. Ich hab mir nur Verschiebungen in kleineren Varianten angeschaut.

Achja, und wie soll man bitte genau raten, dass ab 9 Zeichen erst dieses 3, 2 Muster anfängt? Ich muss zugegeben, dass ich nciht soo kompliziert gedacht habe, für Level 2. ...

grml

Andun

robodriver
09.11.2007, 23:43
Also es war schon lösbar:

man musste nur ein wenig rechnen und sich alle Texte ansehen.
Da stellt man rein rechnerisch etwas fest:

Hinweis#1:
Data length=66
339 Zeichen im Verschlüsselten zustand
=5*66+9

Hinweis#2:
Data length=70
359 Zeichen im Verschlüsselten zustand
=5*70+9

Hinweis#3:
Data length=59
304 Zeichen im Verschlüsselten zustand
=5*59+9

und so weiter....

Und bei den 10 Leerzeichen bekommt man ganz klar das Muster heraus weil nur die 242 als einzige Zahl 10 mal vorkommt. Vor der ersten 242 sind 9 andere Zeichen (die 9 Kennt man von der Berechnung ja schon) und nach jeder 242 kommen immer 2 andere Zahlen.
Somit hat man schonmal das Muster.
Somit kann man sie Zeichen in den anderen texten rausfiltern und stellt dann fest das es über den gesamten Text immer die gleiche ASCII verschiebung ist.

Und muss man sich nur überlegen wie sich diese zusammen setzt.
Ich meine gut, das raus zu finden ist schwierig.
0x3FFF hat zumindest festgestellt das die Verschiebung immer in einem ungefähr gleichen Ramen liegt:
Hinweis#1: 290ASCII verschiebung
Hinweis#2: 305ASCII verschiebung
Hinweis#3: 224ASCII verschiebung

Und wenn man in dem Bereich den ersten Text verschiebt hat man die Lösung.
Auch ganz ohne raus zu finden wie es zu welcher verschiebung kommt.
Die meisten hatten gedacht, das die ASCII verschiebung in den ersten 9 Zeichen verborgen ist.
Wäre eine Möglichkeit gewesen, so wars aber nicht...

Ich denke es war ein durchaus lösbares Rätsel. Ich hätte allerdings villeicht einen klitze kleinen Tipp geben sollen, das es Uhrzeitabhängig ist. Dann wäre vielleicht auch einer auf den direkten Schlüssel der Verschiebung gekommen. Ist ja ganz simpel einfach nur alle Zahlen addiert...

Dann bis zum dritten Level.

Gruß Robodriver