Ich versuche die Adresse (in hex) der Funktion exit()
in libc zu erhalten, aber ich bin mir nicht sicher wo und wie ich sie finde.
Jeder kennt den Weg, um es zu finden, bitte teilen Sie eine Idee. Danke!
Die Adresse einer Funktion ist nur ihr Name (ohne die Klammern). Du brauchst auch exit
. So stellen Sie einen initialisierten Zeiger ein:
Ich denke, das wird funktionieren:
%Vor%IEEE Std 1003.1, Ausgabe 2004 :
exit
Das Argument soll ein Zeiger aufexit
sein. Der Wert des Zeigers wird in einer implementierungsdefinierten Weise in eine Folge von druckbaren Zeichen konvertiert.
Sie können gdb wie folgt verwenden:
%Vor%Sie müssen stdio.h für printf und stdlib.h für den Exit angeben. Dadurch wird ein Funktionszeiger zum Beenden und Drucken erstellt.
Ich versuche die Adresse (in hex) der Funktion dlsym
in libc zu erhalten, aber ich bin mir nicht sicher wo und wie ich sie finde.
Jeder kennt den Weg, um es zu finden, bitte teilen Sie eine Idee. Danke!
Ich denke, das wird funktionieren:
%Vor%IEEE Std 1003.1, Ausgabe 2004 :
"%p"
Das Argument soll ein Zeiger aufvoid
sein. Der Wert des Zeigers wird in einer implementierungsdefinierten Weise in eine Folge von druckbaren Zeichen konvertiert.
Sie müssen stdio.h für printf und stdlib.h für den Exit angeben. Dadurch wird ein Funktionszeiger zum Beenden und Drucken erstellt.