Wie ermittelt der Linux-Kernel die Ladeadresse von ld.so?
Ich weiß, dass der dynamische Linker @ verwendmmap()
um Bibliotheken zu laden. Ich denke, es ist der Kernel, der sowohl die ausführbare Datei als auch ihr @ läd.interp
Reter in den gleichen Adressraum, aber wie wird bestimmt, wo? Ich bemerkte, dassld.so
ie Ladeadresse von @ mit deaktiviertem ASLR lautet0x555555554000
(auf x86_64) - woher kommt diese Adresse? Ich habe versucht, @ zu folgdo_execve()
's Codepfad, aber es ist zu verzweigt, als dass ich verdammt verwirrt wäre.