Assemblée de l'adresse de retour

je veux obtenir l'adresse de retour d'une fonction dans l'assemblée, puis de comparer cette adresse de retour de la valeur avec une autre valeur sans pour autant endommager la pile ou de changer quoi que ce soit dans la pile,

comment cela peut être fait dans l'assemblée?

je suis en utilisant x86

tu ne peux pas le générique. veuillez spécifier l'architecture, arm, mips, x86, etc. c'est un très compilateur problème spécifique. Je suppose que c'est un asm fonction que vous écrivez, etc? Veuillez inclure le plus de détails dans la question.
à l'aide de x86, est-il une bonne méthode pour cela? quelle est la meilleure façon d'aller à ce sujet?
en supposant que l'adresse de retour est la dernière chose sur la pile, et vous pouvez utiliser le pointeur de pile pour l'examiner (en supposant que le pointeur de pile n'a pas été modifié pour un stack frame) puis...eh bien l'examiner...il faudrait je suppose besoin d'utiliser inline assemblée ou d'écriture de la fonction par la main pour éviter un autre appel. Le contenu de la pile et la pile d'images créées sont tous spécifiques au compilateur pour que le code de ce jour, vous ne pouvez pas génériquement ce faire, vous devez savoir comment le compilateur a créé cette fonction spécifique. Ou mieux encore, de créer la fonction de vous-même.

OriginalL'auteur codrgi | 2012-03-13