J'ai une question très importante pour continuer un de mes programme :
est-ce qu'une DLL à le même espace d'adresse que le processus auquel il appartient ??????
J'ai une question très importante pour continuer un de mes programme :
est-ce qu'une DLL à le même espace d'adresse que le processus auquel il appartient ??????
Je ne suis pas certain à 100% (tu aura certainement une confirmation de quelqu'un d'autre) mais je suis quasi certain que oui (à condition evidemment que la dll ait été chargée par ton processus). Ce qui veut dire que tu peux accéder directement aux variables de ta dll ou sauter directement à une partie du code de ta dll à partir de ton processus. Attention toutesfois que les adresses dans ta dll changent en fonction de l'OS sous lequel tu tournes, de la machine,...
Je suis encore débutant dans la matière, alors attend quand même confirmation et/ou correction de mes dires (il se peut que je sois complètement à coté de la plaque)
Une dll est mappée dans l'espace d'adressage du processus qui la charge. Donc oui les 2 partagent le même espace d'adressage.
Mais c'est pour faire quoi ?
en fait c'est bon j'ai fait un petit test après avoir posté et en effet c'est le même .
Le but de mon prog est d'intercepter tous les appels à une api en remplaçant le code de l'api par le mien et en déplaçant l'ancien pour ensuite l'appelé(je sais pas si c'est clair) . Donc je devait eêtre sur que c'était le même .
C'est de l'API hooking. T'as plein de libs pour faire ça.
http://www.internals.com/articles/apispy/apispy.htm
http://research.microsoft.com/sn/detours/
ouais mais c'est pas intéressant de prendre le code des autres, ce que je veux c'est la faire moi-même .
C'est intéressant d'étudier les différentes techniques...
Partager