Je ne peux pas modifier le code, il est compilé et je ne peux pas modifier la source, mais j'ai besoin d'enregistrer certaines données étant envoyé à elle. Je peux lier par DLL. J'essaye de capturer l'appel de fonction, le redirige vers une nouvelle DLL qui est liée, stocke les données dont j'ai besoin, mais appelle ensuite la fonction non modifiée. Je peux capturer l'appel en faisant juste un dllimport et en redéfinissant la fonction dans ma DLL, mais à la fin je ne peux pas appeler la fonction originale. Comme ils portent le même nom, cela devient un appel récursif. Comment puis-je rappeler et quitter? J'utilise VC++ avec VS2005.Comment puis-je rediriger un appel de fonction, puis rappel à la fonction "original" C++
2
A
Répondre
1
Jetez un oeil à EasyHook
1
Ne pas utiliser DllImport pour charger la fonction d'origine. Utilisez à la place LoadLibrary (Ex) et GetProcAddress pour charger la DLL d'origine et trouver la fonction d'origine et la placer dans une variable.
Une fois cela fait, vous pouvez appeler la fonction d'origine via la variable.
Questions connexes
- 1. Fonction de rappel C++
- 2. C# comment traiter la fonction de rappel
- 3. Appel de la fonction C# de C++?
- 4. Comment ajouter un rappel à cette fonction?
- 5. Ajout d'un paramètre à la fonction de rappel à l'intérieur de la fonction de rappel
- 6. fonction GENERATE appel à c
- 7. Appel fonction C++ de C#
- 8. fonction de rappel JavaScript
- 9. Appel de l'objet C++ dans la fonction de rappel de la bibliothèque c
- 10. Construire un appel de fonction en C
- 11. Appel d'une fonction de rappel C de C++ via un lambda
- 12. appel C comme rappel dans un fil
- 13. Appel de fonction minuté
- 14. SlideDown puis appel de la fonction personnalisée
- 15. NullReferenceException pendant le rappel C++ à la fonction C#
- 16. fonction dll appel C de
- 17. Appel fonction jQuery de C#
- 18. fonction appel c de python
- 19. Comment Retarder un appel à une fonction
- 20. C# Appel d'une fonction?
- 21. Javascript: Comment puis-je exécuter du code sur un appel de fonction sans écraser cette fonction?
- 22. appel C# fonction javascript
- 23. Impossible de comprendre la fonction C appel
- 24. Appel de fonction Dll est plus rapide, puis un appel de fonction normale?
- 25. fonction de rappel JavaScript
- 26. TRACE appel de la fonction système C++
- 27. Ajout & rappel =? à la fonction jQuery échouant
- 28. Fonction de rappel Jquery
- 29. Comment ajouter/concevoir la fonction de rappel
- 30. C++ à vb.net, problèmes avec la fonction de rappel
Lorsque je charge la DLL, j'obtiens un handle valide, mais lorsque j'appelle GetProcAddress, elle renvoie null. J'ai même essayé sur ma propre DLL compilée, et je reçois la même chose. Cette fonction semble si facile à utiliser, je ne suis pas sûr de ce que je fais mal. –