injection de DLL: passer des donn

Le
torri
Je me suis essayé à l'injection de DLL et à l'API hooking pour surcharger
les fonctions d'allocation de mémoire. J'ai donc:

toto.exe : le programme qui injecte une DLL dans un autre programme. On
l'utilise ainsi:

toto.exe prog.exe

toto.dll : la DLL qu'on injecte. C'est toto.exe qui l'injecte dans le
programme qu'on passe en paramètre de toto.exe.

prog.exe : le programme dont on veut surcharger les appels à l'allocation
de mémoire.

Le problème : il faut que je fasse l'API hooking dans toto.dll uniquement
pour le programme passé en paramètre de toto.exe. Donc il faut que
toto.dll connaisse la valeur de argv[1] de toto.exe.

Pour l'instant, j'ai fait un truc pas top : toto.exe écrit dans un
fichier spécifique le nom du programme. Et quand toto.dll est injecté, il
récupère le nom du programme et fait l'API hooking uniquement pour celui-
ci. C'est crade (à mon sens) mais ça marche.

Question : est-ce qu'il y a mieux, et en particulier, est-ce qu'il existe
un moyen de passer une donnée de toto.exe à toto.dll ?

Merci
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
torri
Le #23234601
On Fri, 25 Mar 2011 21:06:21 +0000, torri wrote:

j'ai oublié : le code se trouve là :

http://mpatrol.svn.sourceforge.net/viewvc/mpatrol/branches/


dll_injection/
valgrind/



apparemment, utiliser la mémoire partagée semble fonctionner. C'est
résolu pour moi.
Publicité
Poster une réponse
Anonyme