Comment raccorder les appels d'api dans une autre application
Je suis en train d'essayer d'accrocher le ExtTextOut et DrawTextExt GDI appels de méthode à une autre application.
Je sais que j'ai besoin d'Utiliser GetProcAddress pour trouver l'adresse de ces méthodes dans gdi32.dll et remplacer l'adresse dans le processus, je veux brancher avec l'adresse de ma fonction. Puis, dans ma fonction, je fais ce dont j'ai besoin, puis appeler la fonction d'origine.
Je veux faire ce crochet fonctionnalités disponibles .net applications, et apparemment c'est faisable par la création d'un "intermédiaire" non géré dll qui ne l'accrochage, et est capable de tirer un événement sur le .net côté, de sorte que la nouvelle fonction peut parier écrit dans la gestion de l'environnement. Je ne suis pas sûr de savoir comment le mettre en œuvre. Quelqu'un at-il des exemples de code ou des liens vers de l'information?
OriginalL'auteur Jeremy | 2010-08-12
Vous devez vous connecter pour publier un commentaire.
Je recommande Microsoft Détours (C++ x86 uniquement) ou EasyHook (C++ & C#, x86/x64).
http://easyhook.codeplex.com/
Je l'ai déjà utilisé, fonctionne très bien. Vous devez passer d'une fonction ou de l'adresse et où vous le voulez redirigé vers, et vous pouvez avoir tous les appels (pour tous les processus ou spécifique) envoyé dans votre fonction. Les tutoriels couvre la plupart des bases, mais je peux modifier le code dans cette réponse si vous le souhaitez.
Un peu de trivia est qu'il fonctionne aussi dans l'autre sens. Passer un pointeur de votre fonction et vous pouvez rediriger les appels dans le code externe. Fait pour certains intéressant de l'intégration avec des applications anciennes ou closed-source.
EasyHook sonne mieux pour moi, car il est entièrement fonctionnel (peut faire 64bit) pour le libre... Est-il une sorte de tutoriel disponible à marcher à travers un petit échantillon en cours d'exécution? Je n'ai rien vu dans la section documentation.
Il est caché sur la page de téléchargement: easyhook.codeplex.com/releases/view/24401 Managed API docs, Tutoriel et l'Introduction. Pas le plus grand des tutoriels, mais ils devraient être assez pour vous obtenir a commencé. 🙂
essayez d'utiliser
EasyHook
pourMicrosoftEdge
processus, il se retrouve avecUnable to find EasyHook library in target process context. (Code: 5)
erreurOriginalL'auteur ssube
Vous pouvez utiliser Deviare API Crochet, utilisez DeviareCSharpConsole c'est un outil qui est dans le paquet qui vous permettent d'associer les API et de voir les valeurs de paramètre dans un contrôle de type arborescence.
Le seul truc qu'il a besoin de Windows7 est à la charge en tant qu'admin, je l'ai signalé.
OriginalL'auteur Pablo Yabo
Comment j'ai Construit un Bot de Poker a des échantillons de l'injection de code et d'accrochage gdi événements.
OriginalL'auteur Yuriy Faktorovich