Injection de code XP/Vista

Spoolega Messages postés 65 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 27 février 2011 - 29 déc. 2007 à 14:47
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010 - 1 janv. 2008 à 15:32
Bonjour,

J'ai écrit un petit programme qui charge une DLL et ses fonctions dans l'espace mémoire d'un processus quelconque (injection tout en mémoire).
Mon programme fonctionne très bien sous XP : la DLL se charge dans le processus distant, les fonctions sont exécutées, et je quitte proprement à la fin.
J'ai essayé le prog. sous Vista et la, ca marche moins bien... :(
La DLL se charge bien (j'utilise "tasklist /m" pour m'en assurer) mais pas moyen d'exécuter les fonctions... Et même pire, cela fait planter le processus qui subit l'injection...

Existe t'il des API spécifiques sous Vista pour ce genre de manip ?
Y-a-t'il des protections particulières sur Vita ?
Quelqu'un a-t'il déjà réussi de l'injection de code sous Vista ?
... ^^

Merci d'avance pour vos réponses.

3 réponses

draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
31 déc. 2007 à 17:53
Salut,

Eh moi sous vista je ne rencontre aucun problemes a ce niveau la...
Est-ce que ton appli est lancee en tant qu'admin avec le privilege debug ?
Quelle est ta methode d'injection ?
Sans plus d'info et ou un extrait de code il va etre difficile de cibler le probleme...

++

Quand on pose une question on est con 5 minutes,
Quand on ne la pose pas on le reste toute sa vie...
0
Spoolega Messages postés 65 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 27 février 2011 1
1 janv. 2008 à 12:29
Bonjour,


Merci de ta réponse. C'est vrai que je n'avais pas pensé à changer les droits de mon programme sous Vista, mais même en mettant l'exécution en tant qu'Admin. ca ne marche pas.
Pour ce qui est des debug privileges, j'ai une petit fonction qui me le fait.


Sinon, j'utilise la méthode classique : VirtualAllocEx, WriteProcessMemory, CreateRemoteThread et VirtualFreeEx...


Ce qui est étrange encore une fois, c'est que j'arrive à charger ma DLL dans le processus, mais pas à utiliser les fonctions de celle ci, alors que j'utilise la même technique avec LoadLibrary et GetProcAddress. (uniquement sous Vista !)

++
0
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
1 janv. 2008 à 15:32
Eh as tu tester ta dll "normalement" dans ton propre process ?
Il se peut que celle-ci rencontre un probleme de compatibilité avec vista.

Sinon tu peux peut etre poster un bout de ton code y a peut etre une ptite erreur qui t'echape...

++

Quand on pose une question on est con 5 minutes,
Quand on ne la pose pas on le reste toute sa vie...
0
Rejoignez-nous