Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Der Schlüssel basiert auf der Integersequenz
- http://oeis.org/A193732
- Das heißt aus der Zeichenkette "*F@lkA^!Zp?Z~\023|HX^`$X(N+\011#\360" (man beachte dass die Zeichenkette im Originalprogramm mittels \ umgebrochen ist) sind diese Zeichen rein zur Täuschung:
- "*F@lkA^!Zp?Z~\023|HX^`$X(N+\011#\360"
- ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
- Die Entschlüsselung ist dann einfach:
- (zeichensequenz[integersequenz[i]] + i)
- Die Oktalzeichen in der Zeichenkette sind nicht einmal absichtliche Obfuskation, es sind schlichtweg beim Verschlüsseln auch ein paar nicht druckbare Zeichen aufgetaucht.
- Die Integersequenz wird teilweise zur Laufzeit und teilweise zur Compilezeit berechnet. Die nötigen Primzahlen (bis 7, daher die magische Zahl 7 in der main) werden mittels eines (aus dem Internet zusammenkopierten) Template-Metaprogramms berechnet. Dieses wurde nochmals mittels unleserlicher Bezeichner obfuskiert, funktioniert ansonsten aber wie man es erwarten würde. Die eigentliche Sequenz wird dann zur Laufzeit aus den Primzahlen berechnet, zu jeder Primzahl werden entsprechend den Regeln neue Sequenzglieder gebildet. Die dabei auftretende Schleife wurde mittels Rekursion und globalem Zähler umgesetzt, weil dies unleserlicher ist. Ist das Sequenzglied kleiner 27 (daher die magische Zahl 27 im Programm), wird das zugehörige Zeichen ausgegeben. 27, weil man dann den Satz vollständig ausgegeben hat.
Advertisement
Add Comment
Please, Sign In to add comment