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 ?