je suis en train d'écrire un petit programme qui fait de l'injection de
DLL et de l'API hooking pour debuguer un programme. J'ai réussi à
surcharger les fonctions que je veux (pour l'instant malloc/free, et les
fonctions équivalentes de l'api win32).
maintenant, je voudrais pouvoir savoir à quelle ligne de quel fichier ces
fonctions (i.e. malloc() par exemple) sont appelées, ainsi que les
fonctions qui les appellent. Donc avoir quelque chose comme:
fichier1.c (150) malloc()
fichier2.c (23) allocation()
main.c (45) main()
et ceci uniquement pour les fonctions que je surcharge.
Je cible Windows >= XP. Apparemment, on peut utiliser l'api de dbghelp
pour ça. Je précise que je ne connais pas du tout cette api.
J'ai trouvé ce code sur codeproject :
http://www.codeproject.com/Articles/...-the-callstack
mais il trace absolument tout ce qui appelé à partir de main().
Ce que je voudrais savoir est si on peut "remonter" la callstack à partir de
mon symbole (malloc, par exemple) avec cette api. Et si oui, un petit
exemple en pseudo code serait le bienvenu
merci
Partager