Erstes C++ Programm
-
Ich habe wirklich geraten, aber es ging schnell :xmas1:
Aber um dich nicht zu enttäuschen werde ich es jetzt zu verstehen versuchen.
-
Ich habe es - glaube ich.
Fangen wir hier an:
::I[ "*F@lkA^!Zp?Z~\\023|HX^`$X(N+\011#\360" ] + ::IDas nte Zeichen wird immer n Zeichen vorverschoben. Also muss es für den Endtext n Zeichen zurückverschoben worden sein.
"*GBooFd(byIeè èWhor7l=dB!<"Nimmt man dann die offensichtlich vom Algorithmus ignorierten Zeichen weg, so ergibt sich
"*GBooFd(byIeè èWhor7l=dB!<"
" G oo d by e Whor l d ! "
"012345678901234567890123456Edit: Das war falsch eingerückt, muss nochmal nachdenken
Das ganze läuft hier an:
if(::_<i, i-1>::_I) // Prüfung { ++::I; ::i(i); // Ausgabe des Indexes --::I; }Soweit richtig?
-
Der Tannenbaum kompiliert nicht !
SeppJ schrieb:
#include<cstdio>
//
/**/
template
<int I,int I_>
struct {enum{I=
(I==1+1)||(I%I)&&<(
I_>1/2+2?I:1/2),I_-1>::
_I};};template<>struct _<1-
1,1/3>{enum
{I=0+1};};int
I=1*0;void i(int I
){if(I>=1){if(::I<27){
putchar(::I["F@lkA^!Zp?Z~\
\023|HX^`$X(N+\011#\360"]+::I)
;}::I+=1+1;i
(I-1);}}template<>
struct _<-5/6,1>{enum
{_I=1+1-1};};template<int
i>struct {<i-1> I;enum{_I=_
<i,i-1>::_I};void
(){I.();if(_I){++::I
;::i(i);::I-=0+1+1-01;}}}
;template<>struct <1>{enum {_I
=0};void
_(){};};
int main
(){<7>
;.();
}[C++ Fehler] Unit1.c(6): E2141 Fehler in der Deklarationssyntax
[C++ Fehler] Unit1.c(10): E2141 Fehler in der Deklarationssyntax
[C++ Fehler] Unit1.c(15): E2380 Nicht abgeschlossene String- oder Zeichen-Konstante
[C++ Fehler] Unit1.c(15): E2290 Bei Subskription fehlt ]
[C++ Fehler] Unit1.c(16): E2206 Ungültiges char-Zeichen '\' (0x5c)
[C++ Fehler] Unit1.c(16): E2206 Ungültiges char-Zeichen '`' (0x60)
[C++ Fehler] Unit1.c(16): E2206 Ungültiges char-Zeichen '$' (0x24)
[C++ Fehler] Unit1.c(16): E2206 Ungültiges char-Zeichen '\' (0x5c)
[C++ Fehler] Unit1.c(16): E2206 Ungültiges char-Zeichen '#' (0x23)
[C++ Fehler] Unit1.c(16): E2206 Ungültiges char-Zeichen '\' (0x5c)
[C++ Fehler] Unit1.c(16): E2380 Nicht abgeschlossene String- oder Zeichen-Konstante
[C++ Fehler] Unit1.c(18): E2141 Fehler in der Deklarationssyntax
[C++ Fehler] Unit1.c(20): E2141 Fehler in der Deklarationssyntax
[C++ Fehler] Unit1.c(25): E2141 Fehler in der Deklarationssyntax
[C++ Fehler] Unit1.c(29): E2451 Undefiniertes Symbol '__'
[C++ Fehler] Unit1.c(30): E2451 Undefiniertes Symbol '_'
[C++ Warnung] Unit1.c(31): W8070 Funktion sollte einen Wert zurückgebenAber er sieht
aus.Sowas müsste man mal in einem Projekt benutzen da freut sich doch der jenige der den Code eventuell mal "umschreiben" müsste.

-
Sone schrieb:
Aber um dich nicht zu enttäuschen werde ich es jetzt zu verstehen versuchen.
Ich denke, das ist unmöglich, das Verfahren ist viel zu obskur. Du hast das richtige Hackervorgehen gezeigt: Anstatt den unlesbaren Kopierschutz zu entschlüsseln, hast du einfach deinen eigenen Code an die Stelle gesetzt, der alles überspringt
.Wenn es dich interessiert, wie es geht:
SpoilerP.S.: Ich sehe, du hast es doch fast alleine gelöst

-
Sehr schön

-
Der Holzfäller schrieb:
Der Tannenbaum kompiliert nicht !
Hast du den Code auch kopiert ohne die Formatierung zu ändern? Kritisch ist die Stelle
putchar(::I["*F@lkA^!Zp?Z~\ \023|HX^`$X(N+\011#\360"]+::I)Da hier das Zeilenfortsetzungszeichen '\' benutzt wird, darf da kein falsches Zeichen an den Anfang der nächsten Zeile. Diese muss unbedingt mit dem \023 beginnen!
Du kannst natürlich auch#include<cstdio> // /**/ template <int I,int I_> struct _{enum{_I= (I==1+1)||(I%I_)&&_<( I_>1/2+2?I:1/2),I_-1>:: _I};};template<>struct _<1- 1,1/3>{enum {_I=0+1};};int I=1*0;void i(int I ){if(I>=1){if(::I<27){ putchar(::I["*F@lkA^!Zp?Z~\023|HX^`$X(N+\011#\360"]+::I) ;}::I+=1+1;i (I-1);}}template<> struct _<-5/6,1>{enum {_I=1+1-1};};template<int i>struct __{__<i-1> I;enum{_I=_ <i,i-1>::_I};void _(){I._();if(_I){++::I ;::i(i);::I-=0+1+1-0*1;}}} ;template<>struct __<1>{enum {_I =0};void _(){};}; int main (){__<7> _;_._(); }benutzen, dann kannst du umformatieren wie du möchtest und es sollte überall funktionieren (ja, streng genommen ist der Bezeichner _ und _I reserviert, aber ich gehe mal davon aus, dass dieser in keiner Standardbibliothek benutzt wird)