Ausführbarer Code – Definition

Ausführbarer Code

Ausführbarer Code (Executable Code) ist eine Art von Computerprogrammcode, der zur Ausführung auf einem Computersystem bestimmt ist, d. h. der Code, der unabhängig und ohne Übersetzung ausgeführt werden kann.

Er kann Objektcode, Maschinencode oder sonstigen Code sein, der von einem Computer gelesen werden kann, wenn er in seinen Speicher geladen wird, und der von diesem Computer unmittelbar zur Ausführung von Befehlen verwendet werden kann.

Beschreibung des ausführbaren Codes

Der ausführbare Code ist das Endprodukt verschiedener Phasen der Softwareentwicklung, in denen der vom Entwickler geschriebene Hochsprachencode in ein Format übersetzt wird, das von einer Maschine ausgeführt werden kann.

Ausführbarer Code bezieht sich im Allgemeinen auf Maschinensprache, d. h. auf systeminterne Anweisungen, die der Computer in der Hardware ausführt. Ausführbare Dateien in der DOS/Windows-Welt verwenden die Dateierweiterungen .EXE, .COM und .BAT, während ausführbare Dateien unter Mac, Linux und Unix keine spezifische Erweiterung benötigen. Sie werden anhand ihrer Dateistruktur identifiziert.

Wie funktioniert ein ausführbarer Code? Ausführbare Dateien enthalten Code, der eine zentrale Verarbeitungseinheit (CPU) anweist, ein Programm auszuführen. Der Prozess beginnt mit dem Aufruf der ausführbaren Datei und ihrer Ausführung. Das Betriebssystem spielt eine wichtige Rolle bei der Ausführung der Datei.

Das Betriebssystem übernimmt die Anweisungen aus der ausführbaren Datei, die in einer Sprache geschrieben sind, die die CPU nicht direkt versteht, und übersetzt sie in den Maschinencode. Maschinencode ist eine Folge von Nullen und Einsen, die die CPU verstehen und ausführen kann.

Das Betriebssystem übernimmt dann die Aufgabe, die Anweisungen aus der Datei in den Arbeitsspeicher des Computers zu laden, die erforderlichen Ressourcen zuzuweisen und die Kontrolle an das Programm zu übergeben, damit dieses mit der Ausführung beginnen kann.

Generierung des ausführbaren Codes und Risiken

Nachdem eine Software entwickelt worden ist, muss der mit Hochsprachen geschriebene Quellcode in ausführbaren Code umgewandelt werden. Die wichtigsten Prozesshasen sind:

  • Quellcode-Entwicklung: Der menschenlesbare Code enthält logische Schlussfolgerungen, die festlegen, was ein Programm tun soll.
  • Kompilierung: Der Quellcode wird in Maschinencode umgewandelt.
  • Linken: Der Maschinencode wird mit Bibliotheken/Modulen kombiniert, alle Verweise und Abhängigkeiten werden aufgelöst, wodurch eine voll funktionsfähige Datei entsteht.
  • Testen und Debuggen: Tests und Fehlerbehebungen stellen sicher, dass das Programm korrekt und fehlerfrei funktioniert.
  • Bereitstellung: Nach dem Testen und Debuggen sollte das Programm den Benutzern zur Verfügung gestellt werden, z. B. durch Bereitstellung einer ausführbaren Datei oder über eine Softwareverteilungsplattform.

Ausführbarer Code ist ein zweischneidiges Schwert. Während er wertvolle Programme ausführt, die Produktivität steigert und Lösungen schafft, kann er auch als Vehikel dienen, um bösartige Software in ein Computersystem einzuschleusen und so die Integrität, Zugänglichkeit und Vertraulichkeit von Daten zu gefährden.

Viren, Würmer und Trojaner, die unter dem Sammelbegriff Malware zusammengefasst werden, manifestieren sich häufig als manipulierende ausführbare Codes, die den Systembetrieb auf verschiedenen Ebenen beeinträchtigen und potenziell erhebliche finanzielle und betriebliche Schäden verursachen. Um dies zu verhindern, werden Antivirenprogramme eingesetzt.

Die seit den 1980er Jahren patentierten Antiviren-Algorithmen konzentrieren sich auf die Erkennung ungewöhnlicher Muster in ausführbarem Code. Wird eine Unregelmäßigkeit festgestellt und stimmt der Code mit potenziellen Bedrohungen überein, tritt das Antivirenprogramm in Aktion und beendet den Ausführungsprozess oder isoliert die ausführbare Datei, um den potenziellen Schaden zu begrenzen.