GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist der LD_PRELOAD-Trick?

Wenn Sie LD_PRELOAD einstellen in den Pfad eines gemeinsam genutzten Objekts, wird diese Datei vorher geladen jede andere Bibliothek (einschließlich der C-Laufzeit, libc.so ). Also ls ausführen mit Ihrem speziellen malloc() Implementierung, gehen Sie wie folgt vor:

$ LD_PRELOAD=/path/to/my/malloc.so /bin/ls

Sie können Symbole in den Bestandsbibliotheken überschreiben, indem Sie eine Bibliothek mit denselben Symbolen erstellen und die Bibliothek in LD_PRELOAD angeben .

Einige Leute verwenden es, um Bibliotheken an nicht standardmäßigen Orten anzugeben, aber LD_LIBRARY_PATH ist für diesen Zweck besser geeignet.


Mit LD_PRELOAD Sie können Bibliotheken Vorrang geben.

Sie können zum Beispiel eine Bibliothek schreiben, die malloc implementiert und free . Und indem Sie diese mit LD_PRELOAD laden Ihr malloc und free statt der Standard ausgeführt werden.


Linux
  1. Was Linux zum nachhaltigen Betriebssystem macht

  2. Was bedeutet *nix?

  3. Was ist eine .so.2-Datei?

  4. Was ist das Standardpasswort des Bildschirms?

  5. Was ist der Goldlinker?

Was ist die Shell unter Linux?

iptables vs. nftables:Was ist der Unterschied?

Was ist der Kill-Befehl in Linux?

Was ist die Logjam-Schwachstelle?

Was ist das Konzept von vruntime in CFS

Was ist der Unterschied zwischen Systemaufruf und Bibliotheksaufruf?