Codeknacker hierher!

tjo darüber ist doch in dem tipp den ich gepostet habe genug geschrieben worden genau so in der werbung zur stellensuche für GDATA. wenn ich das auch sage dann ist das ja ein kinderspiel :smiley:

Dummerweise hab ich von C/C++ keinen blassen Schimmer.
Ich hab nur eine ungefähre Vorstellung davon, wie die decrypt Funktion Arbeitet.
Von daher kann ich da kaum mitreden. C++ ist mir zu kryptisch.
Konnte ich noch nie was mit anfangen.

ist die antwort zufälligerweise:
EINE VIGINERE VERSCHLUESSELUNG
Ich hab den code in PHP umgesetzt, und dann ein bissel rumprobiert…

Hier meine Umsetzung:

function decrypt($secret, $key){
	$k = ord($key{0});
	$kk = 0;
	$ostr = "";
	for($n=0; $n < strlen($secret); $n++){
		$c = ord($secret{$n});
		$ostr .= chr(($c-32) - ($k-64) + 32);
		$kk++;
		if($kk >= strlen($key)) $kk = 0;
		$k = ord($key{$kk});
	}
	return $ostr;
}

echo decrypt('LMOY!]MH]OLVF4WLVTWISYFgTLPVbH', '?????');

Hab ich jetzt was gewonnen?
soll ich auch noch den key verraten?

Edit:
Wenn man auf den mittelteil, dort wo der Schlüssel in den Text hineingerechnet wird betrachtet, kann man den Teil ein bisschen wegkürzen:

$ostr .= chr($c - $k + 64);

und es klappt bei mir immernoch ^^
mfg Balmung

werdet ma fertig ich hab da was :smiley:

Hab doch schon gelöst, und wollte jetzt was neues posten…
Aber nur zu, poste ruhig, dann hab ich währen ich warte auch was zu tun. :smiley:

ich poste meinen Code trotzdem:

44 A5 18 38 84 E9 4B B0 1E 3E A7 14 34 7D CF 12 4C 56 60 9C F5 56 C8 2B 8C FA 69 E1 1F 3F B2 15 7D EC 59 C6 27 93 B3 14 82 E9 4E C8 37 A8 19 8D CC D6 12 6B CC 3E A1 02 70 DF 57 95 B5 16 82 F5 64 84 E9 5B CE 42 A7 1A 3A A6 0B 81 E6 52 91 9B D7 3F B1 16 54 74 E2 D8 E2 1E 77 D8 4A AD 0E 7C EB 63 A1 C1 25 86 A6 0F 7D 9D 01 66 D3 F3 5F CE 31 99 B9 1D 7E BD C7 03 6B DD 42 80 A0 0E 83 F5 15 46 66 D3 3C AA 1F 93 F8 02 3E 97 F8 6A CD 2E 9C 0B 83 C1 E1 1F 4D 89 93 CF 37 A9 0E 4C 6C D0 31 9F 00 63 CB EB 53 B4 28 9C BC 25 88 F0 10 7B E0 49 B7 1C 3C A8 1D 90 04 24 91 F6 5E D0 DA 04 24 7D DE 50 B3 14 82 F1 69 89 F4 5D C0 2B 9E BE 26 98 FD 07 31 51 AA 0B 7D E0 41 AF 1E 96 B6 21 8A ED 58 CB EB 53 C5 2A 4A C0 25 97 10 30 98 F9 6B CF D9 15 6E CF 41 A4 05 73 E2 5A 98 B8 16 74 7E A8 C8 30 A2 07 27 9A FF 73 E6 06 7F E0 52 B5 16 84 F3 6B 8B FA 68 88 EE 57 C9 2E 38 62 82 DB 3C AE 11 72 E0 4F C7 E7 5D C2 34 9F 08 6B D6 4A 6A D2 44 A9 C9 3F 35 A1 0D 76 DD 09 29 8B F4 67 87 EC 5E 7E F2 61 D5 36 A2 C2 24 89 FE 6A D3 3A 5A C3 36 40 7C E4 56 BB F9 19 86 F3 60 D0 40 A6 C7 D1 0D 66 C7 39 9C FD 6B DA 52 90 B0 27 88 F0 10 7D E2 4B B9 D9 44 AD 21 95 FA 66 86 E8 5A BF 2D 9B 0F 2F 69 D9 E3 0D 2D 86 E7 59 BC 1D 8B FA 72 92 09 72 E4 4A BE DE 51 B4 1C 8A EF 5B C7 E7 4F C1 26 46 AA 0F 7D 9D 08 71 E5 59 BE 2A 4A 46 A8 0D 7F 89 C5 1E 7F F1 54 B5 23 92 0A 48 68 CC 35 9A BA 1C 8E F3 61 CF 34 A2 CE EE 52 BB 20 40 A2 07 7C E8 4D BB E7 07 7E DF FF 39 B1 BB E5 05 6D DF 44 64 CF 3B AA 1A 8A FE 1E 8B F4 68 88 EC 51 C3 E3 49 AE 23 88 FA 5B D3 47 67 C8 3D A3 C3 3C 9D 0F 72 D3 F3 65 DA 47 51 8D E6 47 B9 1C 7D EB 5A D2 10 30 71 C6 07 28 32 6E C7 28 9A FD 5E CC 3B B3 F1 11 76 DF 4D 6D E4 45 AD 1B 8E F7 65 D3 3C A3 08 7A 9A 09 37 86 90 CC 34 A6 0B 49 69 D6 46 AC CD ED 5A CA 30 51 71 DE 4E B4 D5 DF 1B 74 D5 47 AA 0B 79 E8 60 9E BE 2B 94 08 28 8A FC 61 CF 3D A2 10 74 D9 47 67 C9 2E A3 0F 74 E2 02 77 E5 49 69 D7 3C AE CE 2F A7 1B 3B AA 09 58 62 8C AC 05 66 D8 3B 9C 0A 79 F1 11 83 F8 66 D9 E3 0D 2D 95 07 6C 8C FE 63 D1 3F B3 D3 40 A9 1D 3D A2 14 7C EB 4D B2 20 85 F2 12 86 E7 55 C0 33 96 FE 6A CB 2E A3 0B 2B 93 FC 6A DE 43 B5 1D 82 F4 FE 3A 93 F4 66 C9 2A 98 07 7F BD DD 54 C8 2E 94 0E 88 02 68 E2 48 C2 36 AA 21 87 ED 53 B9 1F 85 CB 11 57 9D E3 29 6F B5 D6 E0 0A 2A 83 E4 56 B9 1A 88 F7 6F 8F 01 76 E4 57 78 99 BA BA C0 41 6D C4 85 03 46 3C 8A CB 56 50 3D 6D 5A

Zwei Tipps:

  1. Fibonacci, aber nicht die Fibonacci-Folge an sich, sondern eher das System dahinter
  2. Wenn ich einen Buchstaben des Originaltextes ändere und erneut kodiere, hat es Auswirkungen auf alle nachfolgenden kodierten Bytes.

(Info: bei “\0” ist schluss, hab damit es schöner ausschaut den “rest” mit zufalls werten gefüllt… am ende des originaltextes aber ein chr(0) eingefügt, damit ihr erkennen könnt, ab wann der zufallstext beginnt.)
Viel spaß :wink:

Edit: hmm ich merk grad, ich glaub ich hab hinter der Logik, im Bezug auf die Fibnacci-folge, das ganze ein kleines bisschen Falsch übertragen. :confused:
ich hoffe ihr könnt es Trotzdem entschlüsseln.

mfg Balmung

Balmung nice gelöst

naja wie gesagt, das Problem war ja, dass ich mich mit der Syntax von C/C++ so gut wie gar nicht auskenn… hab nur annähernd ne Ahnung davon, z.B. meine ich, dass das Asterisk * für ByRef oder so steht…

Selbst als ich ne Vermutung hatte, und es in PHP portiert hatte, war ja noch nicht sicher ob das richtig war. Wenn da nur ein Fehler drinne gewesen wäre, hätt ich mich Dumm und Dämlich probieren können ohne auf eine Lösung zu kommen. :confused:

Da hatte ich wohl Glück gehabt und meine Vermutung, dass es sich zum größten Teil bei den Großbuchstaben „rumtummelt“ hat sich bestätigt.

mfg Balmung

noch ein Tipp wäre nicht schlecht :wink:

die lösung wäre am besten

naja Die Lösung gebe ich nicht, aber ich erzähl mal wie ich es kodiert habe
text: "Hallo"
H = 72
a = 97
l = 108
l = 108
o = 111

ersten buchstaben kodieren: 0 + 72 = 72
zweiter: 72 + 97 = 169
dritter: 169 + 108 = 277 (rotieren -256) = 21
vierter: 21 + 108 = 129
fünter: 129 + 111 = 240
also ist der kodierte Text von Hallo: 72, 169, 21, 129, 240 in dezimaler schreibweise
Rückgängig machen dürft ihr selber.

Kann auch sein dass ich mich jetzt grad mit dem algorithmus (der ja nicht grad besonders ist) irre… weiß ich nemmer, hab den code dazu gelöscht :confused:

mfg Balmung