Hook problème ne voit pas toutes les dll chargé !

Signaler
Messages postés
235
Date d'inscription
mercredi 30 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2009
-
Messages postés
235
Date d'inscription
mercredi 30 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2009
-
Bonsoir à tous,


J'ai un petit problème de hook, mon but est de remplacer les fonctions socket (recv, send...) par des fonctions que j'ai codées. Le problème est que lorsque je passe en revu la table import cette dernière ne me sort pas toutes les dlls chargées en mémoire.. elle ne m'en sort qu'une 10ène sur 30, est ce normal ?


Code en question :


//On va estimer que les étapes préliminaires sont bien réalisées ^^


 PIMAGE_IMPORT_DESCRIPTOR
pImportDesc = (PIMAGE_IMPORT_DESCRIPTOR)
ImageDirectoryEntryToData(hmodCaller, TRUE,
IMAGE_DIRECTORY_ENTRY_IMPORT, &ulSize);


   for (; pImportDesc->Name; pImportDesc++)


   {


      PSTR pszModName = (PSTR) ((PBYTE) hmodCaller + pImportDesc->Name); //->Name


      //Affichage de pszModName << qui retourne le nom des dlls


   }


Enfet lorsque j'utilise un programme afin de voir toutes les dlls charger en mémoire par l'application en question cette dernière me sort plus d'une 30ène et lorsque je liste la table import celle-ci ne m'en voit qu'une 10ène ce qui est assez gênant puisque je veux utiliser une ws2_32.dll qui apparait en temps que chargé (soft téléchargé) mais qui n'apparaît pas dans la table d'import... Pourriez-vous me dire pourquoi ? (Problème de droit ? Mauvaise lecture de la table d'import ?)


Merci d'avance de votre aide !

5 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Quand je fais un prog, je ne lie jamais à msvcrt.dll mais si j'utilise user32.dll, c'est elle qui est liée à winsta.dll elle même liée à msvcrt.dll.
Donc ne regarder que la table d'import de mon prog serait très largement insuffisant.

ciao...
BruNews, MVP VC++
Messages postés
235
Date d'inscription
mercredi 30 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2009

Ok et comment je peu voir la table d'import d'un point de vu plus général ?

(Car enfet le problème de départ est que je veu hook le winsock d'un jeu. Lorsque je remplace les fonctions de la dll wsock32.dll ceci marche (Enfin du moins les fonctions sont bien remplacé) mais aprés lorsque le jeu envoi des données sur le réseaux je ne les interceptes pas j'ai donc supposé que je ne remplacé pas les bonne fonctions dans la bonne dll hors dans la table import du jeu il n'y a que cette dll (reseau) qui apparait la dll : ws2_32.dll apparait comme chargé mais n'apparait pas dans cette table d'import)

Merci pour ton aide !
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Le hook de fonction ça va si on sait ce qu'on veut hooker sinon tu pourrais en hooker des centaines, pas bon.

Regarde si ça peut t'aider ici:
http://www.cppfrance.com/code.aspx?ID=43049

Si tu veux complètement intercepter le réseau, va falloir faire ça en driver. Un squelette est fourni avec le DDK.

ciao...
BruNews, MVP VC++
Messages postés
235
Date d'inscription
mercredi 30 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2009

Il ne me faut pas du raw car je veu aussi envoyer des informations au jeu :)

Et je sais exactement ce que je veu hook, je veu hook  ws2_32.dll de war3.exe :P enplus je sais que c'est possible car WPE PRO le fait sans sousi (Injection dll lui aussi) c'est juste que j'ai un problème et je n'arrive pas à déterminer d'ou ça vient... :( Je n'arrive pas à choper la dll que je veux ...

Tu n'aurais pas une idée ?

Merci :)
Messages postés
235
Date d'inscription
mercredi 30 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2009

Salut,

Voila je crois que j'ai trouvé un truc qui va pouvoir m'aider :

http://ivanlef0u.free.fr/?p=5

Je suis dessus je vais voir ce que je peu en tirer apriori c'est "mswsock.dll" qu'il faut hook puisque c'est la fonction mère (Ce que explique le type) et pas le reste... si c'est le cas ça va arranger tous mes sousis puisque elle apparait dans ma table d'import :) !

Merci ;)