Injection de DLL
Le
Pascal Rito
Bonjour tout le monde.
J'ai ressorti du placard un vieux projet d'injecteur de DLL dans un
processus, et à ma grande surprise, il ne se passe plus rien quand
injecte un DLL qui est censée afficher une MessageBox lorsqu'elle est
rattaché à un processus.
Mon injecteur utilise CreateRemoteThread pour faire son injection et
ne m'avais jamais fait défaut
J'ai alors télécharger un autre projet similaire, sur codes-sources,
et le résultat est le même, rien ne se passe.
J'ai alors changé de DLL, sans succès.
Alors je venais vous demander si il y avait une correction contre
l'injection de DLL dans Windows XP SP, ou si c'était BitDefender (mon
antivirus) qui les bloqueraient (je ne pense pas vu que j'ai testé
lorsqu'il n'était pas lancé, et ça ne marchait pas plus) ?
Merci.
J'ai ressorti du placard un vieux projet d'injecteur de DLL dans un
processus, et à ma grande surprise, il ne se passe plus rien quand
injecte un DLL qui est censée afficher une MessageBox lorsqu'elle est
rattaché à un processus.
Mon injecteur utilise CreateRemoteThread pour faire son injection et
ne m'avais jamais fait défaut
J'ai alors télécharger un autre projet similaire, sur codes-sources,
et le résultat est le même, rien ne se passe.
J'ai alors changé de DLL, sans succès.
Alors je venais vous demander si il y avait une correction contre
l'injection de DLL dans Windows XP SP, ou si c'était BitDefender (mon
antivirus) qui les bloqueraient (je ne pense pas vu que j'ai testé
lorsqu'il n'était pas lancé, et ça ne marchait pas plus) ?
Merci.

Poser une question


Tu as testé avec l'exemple du livre de J.Richter, qui utilsie aussi
CreateRemoteThread()?
Si ça ne marche pas avec cet exemple type, le problème ne vient pas du
code..
Oui j'ai utilisé la méthode de J.Richter, mais pas son code à
proprement parler, vu que je ne l'ai pas sous la main.
Ce qui me gène dans ma situation, c'est que tout les retours des
fonctions que j'ai utilisé sont bon. Aucune n'échoue.
Et même, lorsque la DLL a été injecté (mais que rien ne se passe),
lorsque je tente de la supprimer manuellement, j'ai un message
d'erreur qui s'affiche m'indiquant qu'elle est actuellement utilisée.
Et lorsque je ferme le processus dans laquelle je l'ai injectée, je
peux alors la supprimer.
Donc l'injection c'est bien passée, mais le code de la DLL ne fait
rien.
Je vous poste alors le code de celle-i pour voir si le problème ne
vient pas de là :
#include
BOOL APIENTRY DllMain (HINSTANCE hInstance, DWORD dwReason, LPVOID
lpReserved) // Point d'entré dll -> http://msdn2.microsoft.com/en-us/libr ary/ms682583.aspx.
{
if(dwReason == DLL_PROCESS_ATTACH)
{
MessageBox(NULL , "Code d'injection" ,"Ce code a été
injecté.",MB_OK);
return 0;
}
}
Auriez-vous une explication ? Vu que le problème ne vient apparemment
pas de l'injecteur.
Et aussi, au cas ou, je vous poste mon code : http://pastebin.com/vM1yN9Qf
Je vous remercie d'avant pour votre aide, en espérant que ma faute
soit déniché !
vient d'une protection sur mon ordinateur, ou si tout simplement, mon
code bogue.
Mercio
Oui, ça marche très bien chez moi avec XP SP2 et en injectant dans
notepad pour tester