Unterschiede statisch vs. dynamisch gelinked: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 8: | Zeile 8: | ||
=Dynamisch gelinkte Programme= | =Dynamisch gelinkte Programme= | ||
{{#drawio:dynamic}} | {{#drawio:dynamic}} | ||
| + | ;mmap | ||
| + | memory map | ||
| + | |||
==Vorteile== | ==Vorteile== | ||
*Sie sind kleiner | *Sie sind kleiner | ||
| Zeile 14: | 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}} | ||
| − | |||
| − | |||
| − | |||
| − | |||
==Nachteile== | ==Nachteile== | ||
| − | *Sie sind | + | *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

