Forum: Offtopic C Source-Code unlesbar machen


von Walter K. (Gast)


Lesenswert?

wie könnte man den code noch wirrer machen?

#include <stdio.h>
char __[] = "sinn";
int (*_)(const char*, ...)=printf;
int main() {for(;_(__)-_("frei");)_("\n");}

von Eric B. (beric)


Lesenswert?

Walter K. schrieb:
> wie könnte man den code noch wirrer machen?

Vielleicht so?
1
#include <stdio.h>
2
char __[]={0x66,0x72,0x65,0x69,0x00};int(*_){const char *,...)=printf;int main(){do{_("sinn");}while(_(__));_("\n");

von Der Andere (Gast)


Lesenswert?


von Ohman (Gast)


Lesenswert?

Drei Sachen fallen mir spontan ein:

1. das include der Standard-IO Lib kann man sich bei den meisten 
Compilern sparen (zB beim GCC), da er so "schlau" ist und errät, wo er 
die printf-Funktion findet
2. Die ASCII-Texte "sinn" und frei könnte man durch eine Mischung aus 
Hex-/ Dec-/ und Oktalwerten ein wenig schwerer lesbar machen char __[] = 
{0x3A, O123, }...
3. Dann könnte man aber auch noch beide Teilstrings in einen basteln 
"sinnfrei" und diesen nach Punkt 2 umwandeln.

von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

Mit Trigrpahs sollte es noch besser werden :D
1
??=include <stdio.h>
2
char __??(??)=??<0x66,0x72,0x65,0x69,0x00??>;int(*_)??<const char *,...)=printf;int main()??<do??<_("sinn");??>while(_(__));_("??/n");

Beitrag "Was hat es mit den 'trigraphs' aufsich"

von Yalu X. (yalu) (Moderator)


Lesenswert?

Walter K. schrieb:
> wie könnte man den code noch wirrer machen?

Naja, ich würde das als eher mäßig wirr bezeichnen. Falls du Anregungen
für eine Optimierung brauchst, dann schau mal beim IOCCC vorbei.

Eric B. schrieb:
> Vielleicht so?

Der Code hat mindestens 2 Klammerfehler, weswegen er nicht kompiliert.
Selbst wenn man die Fehler korrigiert, ist das Programm noch lange nicht
äquivalent zum Original.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Und was hat man davon?

Wenn man das compilieren kann und weiß was es macht, kann man es 
trotzdem kopieren. Ich weiß nicht wovor das schützen soll.

von Eric B. (beric)


Lesenswert?

Yalu X. schrieb:
> Eric B. schrieb:
> > Vielleicht so?
>
> Der Code hat mindestens 2 Klammerfehler, weswegen er nicht kompiliert.
> Selbst wenn man die Fehler korrigiert, ist das Programm noch lange nicht
> äquivalent zum Original.

Erwischt! Aber wirrer ist es, oder? ;-)

von Curby23523 N. (Gast)


Lesenswert?

Was willst du damit bezwecken? Contest? Veröffentlichung? Dann kannste 
auch gleich Maschinencode rausgeben. Das was du suchst nennt sich 
C-Obfuscator.

von Walter K. (Gast)


Lesenswert?

Nils N. schrieb:
> Was willst du damit bezwecken? Contest? Veröffentlichung? Dann kannste
> auch gleich Maschinencode rausgeben.

nein, nein ... hat keinen ernsthaften Hintergrund - sozusagen nur spass

von Daniel A. (daniel-a)


Lesenswert?


von Holm T. (Gast)


Lesenswert?

..sucht mal nach alten Veröffentlichungen in der Unix Open, Autor 
Reinhard Wobst. Der hat mal einen C-Quellcode-Obfuscator erfunden...

Gruß,

Holm

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.