Unterschiede statisch vs. dynamisch gelinked: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 17: Zeile 17:
 
==Nachteile==
 
==Nachteile==
 
*Ein Angreifer kann durch austauschen der Bibliothek das Verhalten des Programmes verändern.
 
*Ein Angreifer kann durch austauschen der Bibliothek das Verhalten des Programmes verändern.
 +
 +
=Statisch gelinkte Programme=
 
{{#drawio:static}}
 
{{#drawio:static}}
  
=Statisch gelinkte Programme=
 
 
==Nachteile==
 
==Nachteile==
*Sie sind grösser
+
*Sie sind größer
 
*Sie verbrauchen mehr Arbeitsspeicher
 
*Sie verbrauchen mehr Arbeitsspeicher
 +
 
==Vorteile==
 
==Vorteile==
 
*Sie sind weniger angreifbar
 
*Sie sind weniger angreifbar

Aktuelle Version vom 18. September 2023, 10:05 Uhr

Unterschiede

  • Ein Programm ist statisch gelinked wenn es ohne Bibliotheken lauffähig ist.
  • Das Binarie muss alle Funktionen die es nutzt selbst enthalten.
  • Bei Kompilieren des Programms wird festgelegt ob es statisch oder dynamisch gelinked wird.
  • In der Regel sind die Programme dynamisch gelinkt.
  • Daraus folgt das ein Programm dynamisch gelinkt ist, wenn Funktionen ausgelagert wurden.
  • Es kann also Funktionen aus Bibliotheken nutzen.

Dynamisch gelinkte Programme

mmap

memory map

Vorteile

  • Sie sind kleiner
  • Sie verbrauchen weniger Arbeitsspeicher
  • Man nutzt mit anderen Programmen gemeinsam die Bibliothek

Nachteile

  • Ein Angreifer kann durch austauschen der Bibliothek das Verhalten des Programmes verändern.

Statisch gelinkte Programme

Nachteile

  • Sie sind größer
  • Sie verbrauchen mehr Arbeitsspeicher

Vorteile

  • Sie sind weniger angreifbar