Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

injection de DLL: passer des donn

2 réponses
Avatar
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

2 réponses

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

http://mpatrol.svn.sourceforge.net/viewvc/mpatrol/branches/dll_injection/
valgrind/
Avatar
torri
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.