begin process at 2012 05 29 09:02:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

Hook DLL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Hook DLL

dimanche 27 novembre 2005 à 14:25:09 | Hook DLL

Taron31

Membre Club


Bonjour,

Voilà, j'ai écris une petite DLL de hook pour une certaine fonction de l'API win32, je voulais tout simplement savoir comment la charger dans tous les programmes existants en memoire j'ai fait un petit programme client qui lance le hook de la DLL, cela fait que tous les appels à la fonction hooked dérivent correctement vers la fonction faite-maison, mais est-ce que la dérivation sera bien effectuée pour les autres progrs en memoire ? La DLL est-elle bien chargee dans tous les prog dans la memoire ?

Voila, Merci.



dimanche 27 novembre 2005 à 14:47:49 | Re : Hook DLL

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
Je ne suis pas sur, mais normalement la DLL est chargée automatiquement dans tous les processus, sinon le hook ne marcherait pas
dimanche 27 novembre 2005 à 14:54:33 | Re : Hook DLL

Taron31

Membre Club
Je le pense aussi, Merci Vecchio.
Une derniere question : l'appel de la fonction faite-maison est bien effeectué mais apres la sortie de celle-ci j'ai une erreur fatale concernant la convention d'appel, quelle serait diferente d'une autre ou un truc comme ça (c'est peut-etre parce que je n'ai pas mis les memes arguments dans la fonction faite-mason que l'originale ?), dans la DLL je l'ai mise en __stdcall.
Une idee ?
 encore Merci.


dimanche 27 novembre 2005 à 15:08:54 | Re : Hook DLL

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Il te faut la même convention d'appel sur la tienne que pour celle déroutée sinon registre ESP non remplacé et erreur stack.

ciao...
[ Lien ]
BruNews, MVP VC++
dimanche 27 novembre 2005 à 18:41:53 | Re : Hook DLL

Taron31

Membre Club
Oui c'est exact c'est un probleme d'ESP (pourquoi ESP non remplacé ?)
Je trouverai donc la convention d'appel de la fonction API sur msdn je suppose...

Merci !


dimanche 27 novembre 2005 à 19:02:33 | Re : Hook DLL

BruNews

Administrateur CodeS-SourceS
replacé voulais-je dire ('m' a accroché en tapant).

Quasi toute API est en stdcall à part certaines de l'API native en fastcall et wsprintf en cdecl.

ciao...
[ Lien ]
BruNews, MVP VC++
dimanche 27 novembre 2005 à 20:58:19 | Re : Hook DLL

Taron31

Membre Club
Ok merci, mais lors du remplacement de l'adresse dans l'import address table j'ai une erreur de type :


cannot convert from 'int (__stdcall *)(struct HKEY__ *,const char *,unsigned long,char *,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES *,struct HKEY
__ ** ,unsigned long *)' to 'int (__stdcall *)(void)'
        This conversion requires a reinterpret_cast, a C-style cast or function-style cast


J'ai defini les 2 addresses avec PROC... Faire un cast serait vraiment propre ? si oui je le fais comment (dans le cas de ces fonctions)
Merc.
dimanche 27 novembre 2005 à 21:37:32 | Re : Hook DLL

BruNews

Administrateur CodeS-SourceS
long (WINAPI *pMyRegFunc)(HKEY, LPCTSTR, ULONG, LPTSTR, ULONG, ULONG, LPSECURITY_ATTRIBUTES, PHKEY, PULONG);
*(DWORD*)&pMyRegFunc = (DWORD) addrRecup;


ciao...
[ Lien ]
BruNews, MVP VC++
lundi 28 novembre 2005 à 19:36:16 | Re : Hook DLL

Taron31

Membre Club
Je dois donc d'abord faire ça avant de remplacer l'adresse dans l'import table address ?


lundi 28 novembre 2005 à 19:45:11 | Re : Hook DLL

BruNews

Administrateur CodeS-SourceS
Regarde exemple dans source de arnotic.

ciao...
[ Lien ]
BruNews, MVP VC++

1 2

Cette discussion est classée dans : fonction, dll, hook, memoire


Répondre à ce message

Sujets en rapport avec ce message

Faire une callback vers un exe dans un callback hook d'une dll [ par Suisse00 ] Salut :) J'ai créer un hook sur le clavier dans une DLL, dans le callback du hook j'aimerais faire un callback vers une fonctoin du fichier exe. J'ar Question sur les dll [ par flatou ] Salut a tous Je me pose une question : soit un programme qui a effectuer un hook sur une fonction de la dll kernel32.dll. Si mon deuxieme programme co Variable pour un hook [ par ChrOnOs83 ] Bonjour à tous, Il y a un problème sur lequel je bloque depuis déjà plusieurs jours.J'ai créé une dll pour faire un hook clavier. Quand j'appelle la f Pb Hook.... [ par Mr_Coinche ] Bonjour,J'ai crée une dll très simple appelée "DllMaths.dll", qui contient deux fonctions, "carre" et "cube", je vous laisse deviner ce que ces foncti DLL et GDI [ par Tuizi ] Bonjour,J'aurais voulus savoir s'il y avait des chose particulière à faire pour utiliser MFC & les fonctions du GDI dans une DLL?En effet, ma fonction importer une fonction d'un exe [ par Kian_ix ] salut je cherche un moyen d'importer une fonction a partir d'un fichier .exe comme on pourrait le faire a partir d'un fichier .dll, par exemple: PROC Simple Hook (DLL) qui plante GetMessage ! Je suis nul ou quoi ? [ par dam1dam1 ] Bonjour. Je ne suis pas un pro du Hook et j’ai un peu oublié tout ca, mais vu toutes les bonnes sources et annotations qui trônent ici, je pensais po Probleme : creation d' une interface graphique par dll ... :-s [ par GeroXXXX ] Bonjour a tous :) Alors voici mon problème... Je suis actuellement sur la création d' un plugin en c++ ( dll ) pour Xchat : http://www.ircfr.com/code Hook WH_CBT et GetDlgItem [ par Booster ] Bonjour à tous,J'ai un problème avec la fonction GetDlgItem (Qui retourne tous le temps 0) lorsque je suis dans ma fonction de callback de mon hook je gestion des timeouts sur port com C/C++ [ par HeXa2 ] Bonjour!Je suis actuelement en train de generer une dll qui comunique sur le port sérieIl me faut gerer les timeouts.je veux qu'au bout de 1500ms d'in


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,139 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales