Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Hook sans DLL. [ Windows / Autre ] (ZendeD)

lundi 30 juin 2008 à 21:04:34 | Hook sans DLL.

ZendeD

Bonjour à tous,

Je suis en train de modifier un petit key logger repris de cette source. Le problème est que lorsque j'essaye de le compiler en un seul executable pour qu'il n'y ait pas de DLL, le programme ne rentre pas dans la fonction callback du hook.
J'aimerai donc que l'on m'explique comment procéder.

De plus, lorsque je compile le code avec la dll d'un coté et l'executable de l'autre et que le chemin du fichier log.txt n'est pas le chemin absolu C:\log.txt(ou un autre chemin absolu), alors les touches du clavier ne sont pas enregistrées.

Merci de votre aide  .

ZendeD


mardi 1 juillet 2008 à 08:57:46 | Re : Hook sans DLL.

juju12

Le problème c'est que dans ce cas c'est un hook global (pas associé à un thread en particulier), donc il me semble bien que la fonction callback doit être dans une dll.

Quant à ton problème de fichier...la fonction callback est appelée dans le contexte mémoire de l'application qui reçoit le message, donc a priori si tu proposes un chemin relatif, il sera référencé à partir de l'emplacement de l'exécutable de l'application en question et pas de celle qui a installé le hook...donc tu devrais avoir plusieurs fichiers log.txt sur ton disque mais pas là où tu voulais.

mardi 1 juillet 2008 à 11:52:42 | Re : Hook sans DLL.

ZendeD

Merci de cette réponse. En effet, en faisant une petite recherche, j'ai finit par retrouver le fameux fichier (j'aurais du faire ça avant... ^^).

Par contre pour ce qui est du hook global, j'ai vu dans cette source qu'il était possible de faire en sorte qu'il n'y ait pas de dll. J'ai éssayé d'adapter mon code mais cela n'a pas fonctionné.  Le programme rentre dans la fonction callback seulement quand j'écris dans la console et si j'en sort, le hook s'arrête. De plus, il ne prend plus en compte les majuscules...

Voici mon code... (à télécharger sur megaupload).

Merci de votre aide.

mardi 1 juillet 2008 à 13:21:32 | Re : Hook sans DLL.

juju12

effectivement j'ai confondu avec autre chose, ça marche dans tous les cas avec __declspec(dllexport).
Par contre du coup j'ai testé le code et il fonctionne parfaitement;
pourquoi as-tu une console d'ailleurs, c'est une application GUI; de toutes manières j'ai testé aussi en lançant une invite de commande, y a pas de problème ni avec les majuscules.

mardi 1 juillet 2008 à 14:26:08 | Re : Hook sans DLL.

ZendeD

J'utilise la console pour les messages d'erreurs =), c'es une habitude que j'ai prise. Lorsque j'ai fini mon projet, je la retire. Tu as bien essayé de tout compiler en un seul .exe ? Et aussi, est-il possible que cela marche sans interface graphique ? Je vais essayer de mon coter.

Merci à toi

mardi 1 juillet 2008 à 14:36:35 | Re : Hook sans DLL.

ZendeD

Je confirme, si je compile tout dans un seul exe ca ne marche pas :/ (désolé double poste on peut pas édit )

mardi 1 juillet 2008 à 16:32:19 | Re : Hook sans DLL.

juju12

comment ça compiler en un seul exe? J'ai pris le fichier que tu as publié et compilé, ça fait effectivement un seul exe, mais je vois pas pourquoi y en aurait eu deux; j'ai pas isolé une partie en dll si c'est ça que tu veux dire.
C'est bizarre tout de même, j'ai utilisé ton fichier sans y toucher et ça marchait.
Accessoirement, c'était sous XP SP2.

mardi 1 juillet 2008 à 16:46:01 | Re : Hook sans DLL.

ZendeD

C'est effectivement ce que je voulais dire, ne pas isoler la partie dll.

En faite ça enregistre bien les messages mais seulement quand je suis dans la fenêtre de mon programme c'est ça qui est bizzard :/ ...

J'ai test sous windows xp SP2 et SP3, toujours le même résultat.

Si quelqu'un passe par là, peut-il tester ?


mardi 1 juillet 2008 à 19:50:03 | Re : Hook sans DLL.

juju12

ah effectivement avec d'autres fenêtres ça marche pas, je vais me pencher dessus.

mardi 1 juillet 2008 à 21:36:37 | Re : Hook sans DLL.

juju12

bon j'espère avoir dit assez de bétises pour aujourd'hui, dans le cas contraire j'en rajoute une :
il semblerait que la méthode __declspec(dllexport) depuis l'exécutable ne fonctionne (correctement) qu'avec les hooks de type WH_KEYBOARD_LL et WH_MOUSE_LL (cf commentaires de la source de racpp).

donc en l'occurence ça ne marche pas, si on regarde effectivement (avec MessageBox par ex.) dans ton code, la callback n'est pas appellée pour les autres fenêtres.

 

Solution, ben dll ou WH_KEYBOARD_LL (comme dans la source de racpp).



1 2

Cette discussion est classé dans : dll, log, chemin, executable, hook


Répondre à ce message

Sujets en rapport avec ce message

Pb Event Log & DLL de messages [ par OneLove ] Salut à tous,j'ai programmé une appli qui utilise l'Event Log de Windows pour y stocker mes erreurs programmes , j'ai récupéré plusieurs tuto pour com Creer un hook dans une dll [ par zinotron ] Je n'ai pas tout compris moi ...j'ai fait une rechercher dans les systeme de creation de hook dans l'API win32, et je compris cela : RIEN.enfin si j'a récuperer nom et chemin de l'executable [ par leprov ] bonjour a tous.j'aimerais savoir comment un executable peut récuperer ses propres chemins et noms dans une api win32....avec une main normale on peut Hooks et sockets... [ par morganitos ] Bonjour... Et bien non, ce message ne traite pas sur "comment installer un hook" mais sur un autre problème (qui concerne les hooks quand même). Je v chemin par defaut qui change...... [ par wizzo ] Voila mon problème, J'ai programmé une fonction de log qui écris toujours dans le même fichier, mais lorsque j'ai rajouté du win32 dans mon code il a 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 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 Hook DLL [ par Taron31 ] 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 d Problème de hook clavier [ par Oeil_de_taupe ] Bonjour tout le monde, Je suis en train de créer un programme me permettant d'utiliser qu'un seul clavier sur deux ordinateurs (grâce à une connectio 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


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,546 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.