Bonjour,
Je cherche à comprendre le concept de la pile d’exécution à travers des programmes C et la manipulation des registres esp et ebp. J'aimerais pour cela résoudre la situation suivante :
- La fonction main démarre et lance une fonction f
- La fonction f contient une boucle infinie
- Comment faire en sorte que le programme revienne dans le main avant d'entrer dans cette boucle infinie, en manipulant les registres esp et ebp ?
Je pensais au départ qu'il s'agissait d'enregistrer les registres esp et ebp dans le main, puis de les restaurer avant l'instruction de boucle infinie pour quitter la fonction, mais ma solution ne fonctionne pas et je ne comprends pas vraiment pourquoi ...
Je vous remercie d'avance pour votre aide.
Partager