Kann LD_PRELOAD eine über dlopen()/dlsym() aufgelöste Funktion ersetzen?C++

Programme in C++. Entwicklerforum
Anonymous
 Kann LD_PRELOAD eine über dlopen()/dlsym() aufgelöste Funktion ersetzen?

Post by Anonymous »

Ich habe ein Szenario, in dem:
  • Ein Programm dynamisch liba.so mit dlopen() lädt, dann die Funktion func1() daraus über dlsym() auflöst und aufruft.
  • Ich habe libb.so erstellt, das die gleichnamige Funktion neu definiert func1().
    Meine Frage: Ist es möglich, die Umgebungsvariable LD_PRELOAD zu verwenden, um das Programm zu zwingen, func1() von libb.so anstelle des ursprünglichen func1() von liba.so zu verwenden? Wenn dies standardmäßig nicht möglich ist, welche Änderungen (am Programm, liba.so oder libb.so) wären erforderlich, damit LD_PRELOAD in diesem Fall funktioniert?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post