Anzeige:
Ergebnis 1 bis 13 von 13

Thema: hausaufgabe :)

  1. #1
    Registrierter Benutzer
    Registriert seit
    26.10.2004
    Ort
    Beijing
    Beiträge
    31

    hausaufgabe :)

    fuer alle die spass an ner kleinen herrausforderung interssiert sind.

    schreibe ein program (in c/c++, c sollte reichen) welches seinen eigenen quellcode (komplett) ausgibt, nicht mehr und nicht weniger.
    wobei die quelltext datei natuerlich dafuer nicht zur verfuegung steht!

    viel spass
    marius

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Wie soll denn das gehen?

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer
    Registriert seit
    23.05.2004
    Beiträge
    592
    Nennt sich quiblle. Es gibt kreative und wenig kreative Lösungen. Ich habe eine wenig kreative Lösung mit der sich aber im Grunde jedes Programm in ein quiblle verwandeln lässt.

  4. #4
    Registrierter Benutzer
    Registriert seit
    25.10.2004
    Beiträge
    819
    Hier ist meins in C, in Python hatte ich es schonmal gemacht
    Code:
    main(){char*a="main(){char*a=%c%s%c;printf(a,34,a,34);}";printf(a,34,a,34);}

  5. #5
    Registrierter Benutzer
    Registriert seit
    14.10.2003
    Beiträge
    35
    Geht das wirklich?

    Für mich klingt das ein wenig nach: "Erstelle ein Programm, dass aus einem 50% komprimierten JPG das unkomprimierte Originalbild wiederherstellt... "

  6. #6
    Registrierter Benutzer
    Registriert seit
    25.10.2004
    Beiträge
    819

    Thumbs up Ja, natürlich geht das

    Zitat Zitat von dark_red
    Geht das wirklich?
    Siehe oben...

  7. #7
    Registrierter Benutzer Avatar von Boron
    Registriert seit
    07.01.2002
    Beiträge
    827
    Den Quelltext als String in den Code zu schreiben scheint mir aber keine elegante Lösung zu sein.
    Aber ich weiß auch nicht, wie es anders ginge.
    Gruß Boron (der sich oft wegen mieser Rechtschreibung anderer die Augen reiben muss)

    LINUX IS LIKE AN INDIAN TENT: NO GATES, NO WINDOWS AND AN APACHE INSIDE!
    Hardware Monitoring unter Linux -> http://santafu.sourceforge.net (Temperaturen, Lüfterdrehzahlen und Spannungen)

  8. #8
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Beiträge
    159
    ich habe auch noch eins, aber etwas größer wie das von Joghurt:

    Code:
    extern int printf(const char*, ...);char*f="extern int printf(const char*, ...);char*f=%c%s%c;int main(){printf(f,34,f,34,10); return 0;}%c";int main(){printf(f,34,f,34,10); return 0;}
    Aber dafür ist meines näher am Standard und wird auch vom C++ Kompiler geschluckt
    Geändert von cybercrow (05-11-2004 um 13:36 Uhr)

    "I could have made some money developing proprietary software, and perhaps amused myself writing code. But I knew that at the end of my career, I would look back on years of building walls to divide people, and feel I had spent my life making the world a worse place."
    -- Richard M. Stallman

    Wissenskommunismus und Wissenskapitalismus
    Offene Quellen und öffentliches Wissen
    und vieles mehr: VRG's Texts , Philosophy of the GNU Project

  9. #9
    Registrierter Benutzer
    Registriert seit
    25.10.2004
    Beiträge
    819
    Zitat Zitat von cybercrow
    ich habe auch noch eins, aber etwas größer wie das von Joghurt:
    als! Bei gleichheit "wie", bei ungleichheit "als" (SCNR)
    Dein Code ist dasselbe in Grün, nur wie du schon sagtest, auch C++ konform (printf deklariert und mit newline abgeschlossen)

  10. #10
    Registrierter Benutzer
    Registriert seit
    14.10.2003
    Beiträge
    35
    Kann mir jemand erläuter, was der Code genau macht? Ein wenig C konnte ich mal, aber da komm ich nicht mit

  11. #11
    Registrierter Benutzer
    Registriert seit
    26.10.2004
    Ort
    Beijing
    Beiträge
    31

    reverse jpeg

    @dark_red: das mit deinem vorschlag aus einem jpeg das original wiederherzustellen ist gar nich sooo abwaegig, auch wenn man das wohl noch nicht zu 100% kann.
    is aber schon krass was man so mit fuzzy methoden hinbekommt, besonders im graphik bereich.

    @rest: schoene loesungen jungs (maedels!?)

  12. #12
    Registrierter Benutzer
    Registriert seit
    12.09.2004
    Beiträge
    69
    ehm, das compilierte programm, meinet wegen in C geschrieben, wurde doch durch die complierung in assembler und schließlich in folgen von nullen und einsen konvertiert. von dempunkt an kann man doch widda ein proggie schreiben, das die einsen und nullen widda zu assembler zurück assemblieren und den daraus gewonnen source zurück zu einer hochsprache bauen, somit kann ich doch auch von anderen sprachen zu C konvertieren .... wenn das möglich ist (gibts glaub ich sowas änhliches) dann kann ich doch auch die teure DOOM3 engine in assembler konvertiren und dann mit assembler auf geschwindigkeit opimieren und widda verkaufen und sagen, jo, ich habe auch das gleiche wie john carmack nur schneller ...
    man könnte den windows source suchen nd ihn veröffentlich, dies würde $M in den ruin treiben ....

  13. #13
    Registrierter Benutzer
    Registriert seit
    26.10.2004
    Ort
    Beijing
    Beiträge
    31

    hmm

    ja disassemblen ist ja nun eine gaengige methode, die doom 3 engine in assembler auf geschwindigkeit optimieren, nunja moeglich ist alles, nur ob aufwand und ergebniss da im verhaeltniss stehen bezweifle ich.
    das reversen von assemblercode in eine hochsprache ist eine wissenschaft fuer sich, und nicht vollstaendig moeglich. wird zu 100% auch nie moeglich sein, da einfach zu viele trapdoor sachen bei einer compilierung stattfinden (quasi: nummer zu einem namen im telefonbuch finden ist trivial, namen zur nummer finden nicht).

    was du mit dem post ueberhaupt aber meinst ist mir immer noch nicht ganz klar...

    gruss
    marius

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •