Guten Morgen zusammen,
ich wollte mal wieder in die Programmierung einsteigen und würde gerne ganz vorne anfangen. Mich beschäftigt seit einigen Tagen der Maschinencode und wie dieser vom Prozessor verarbeitet wird.
Man mag das für Grundwissen halten, aber ich dachte bis dato immer, dass EXE-Dateien völlig verschlüsselt wären und man damit nichts mehr machen kann, aber ich wurde des besseren belehrt. Die Zeichen, die man da immer sieht, wenn man so eine Datei in den Editor zieht und sich halt als ASCII anzeigen lässt, sind ja, soweit ich das richtig verstanden habe, Hexadezimalzahlen. Ich habe es also mal ausprobiert, in Visual Studio schnell einen kleinen Code getippt und eine char-Variable mit "bla" gefüttert. Dann die kompilierte EXE in Notepad++ gezogen, nach "bla" gesucht, das bla einfach in "cla" geändert und geschaut was passiert. Tatsächlich zeigte mir die Konsole dann cla. Ich hatte vorher nicht gedacht, dass das geht. So viel dazu, kleine Anekdote zum Anfang
Wenn ich nun eine EXE erstelle, die zuvor in Cpp mit dem nackten
geschrieben wurde, verwundert mich aber, dass die Output-EXE trotzdem einige KB hat. Woher kommen die? Also was packt der Compiler zusätzlich außer meinem nackten Code in die EXE rein? Ist das da alles zwingend erforderlich, um dem Prozessor zu sagen, dass er eine Konsole öffnen soll?
Ich danke schon mal im Voraus für sämtliche Antworten
LG
ich wollte mal wieder in die Programmierung einsteigen und würde gerne ganz vorne anfangen. Mich beschäftigt seit einigen Tagen der Maschinencode und wie dieser vom Prozessor verarbeitet wird.
Man mag das für Grundwissen halten, aber ich dachte bis dato immer, dass EXE-Dateien völlig verschlüsselt wären und man damit nichts mehr machen kann, aber ich wurde des besseren belehrt. Die Zeichen, die man da immer sieht, wenn man so eine Datei in den Editor zieht und sich halt als ASCII anzeigen lässt, sind ja, soweit ich das richtig verstanden habe, Hexadezimalzahlen. Ich habe es also mal ausprobiert, in Visual Studio schnell einen kleinen Code getippt und eine char-Variable mit "bla" gefüttert. Dann die kompilierte EXE in Notepad++ gezogen, nach "bla" gesucht, das bla einfach in "cla" geändert und geschaut was passiert. Tatsächlich zeigte mir die Konsole dann cla. Ich hatte vorher nicht gedacht, dass das geht. So viel dazu, kleine Anekdote zum Anfang
Wenn ich nun eine EXE erstelle, die zuvor in Cpp mit dem nackten
geschrieben wurde, verwundert mich aber, dass die Output-EXE trotzdem einige KB hat. Woher kommen die? Also was packt der Compiler zusätzlich außer meinem nackten Code in die EXE rein? Ist das da alles zwingend erforderlich, um dem Prozessor zu sagen, dass er eine Konsole öffnen soll?
Ich danke schon mal im Voraus für sämtliche Antworten
LG