cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 2019
-
22 mai 2004 à 22:38
Xya
Messages postés103Date d'inscriptionlundi 8 juillet 2002StatutMembreDernière intervention24 novembre 2005
-
23 juil. 2007 à 19:14
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Xya
Messages postés103Date d'inscriptionlundi 8 juillet 2002StatutMembreDernière intervention24 novembre 2005 23 juil. 2007 à 19:14
What worked for me to build it with VS2005 was to create a new Win32 project as a Win32 DLL and replace the generated files with SharpSpyHelper.cpp/h. In the 'linker settings/Input' tab, I've added 'SharpSpyHelper.def' to 'Module Definition File' and built the solution without changing any other setting.
This dynamically links SharpSpyHelper.dll to msvcr80.dll or mscvr80d.dll (depending on your project configuration (release or debug)) which may be what you're looking for or not.
LeChiffre
Messages postés1Date d'inscriptionvendredi 13 juillet 2007StatutMembreDernière intervention21 juillet 2007 21 juil. 2007 à 18:13
Sorry for using english language. Do you know how to compile it with VS2005?
Libc.lib isn't supported by VS2005 anymore. If I replace it with Libcmt.lib, I get strange errors. Also a problem if I install libc.lib from my old computer. Maybe additional compiler settings?
HeavenForsaker
Messages postés223Date d'inscriptionmercredi 13 juillet 2005StatutMembreDernière intervention 8 août 2011 9 mai 2006 à 13:07
Bonjour,
Tu dit :
"je suis tombé il y a pas longtemps sur une fonction qui permettait d'intercepter un appel à une fonction de Windows, mais seulement dans le même processus"
Puis je savoir à quelle fonction tu fais référence ?
draluorg
Messages postés625Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention25 novembre 2010 1 mai 2006 à 23:46
Salut a tous,
Tres interessant :)
Manque plus qu'un exemple d'utilisation en Vb.net ^^
++
vitoto
Messages postés18Date d'inscriptiondimanche 8 mai 2005StatutMembreDernière intervention13 janvier 2006 3 janv. 2006 à 05:37
Some use in VB.Net ?
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 23 mai 2004 à 00:28
J'ajouterais que tout ce qui est fait peut etre defait
il suffira d'adapter son code a la platforme comme
tout bon code aujourd'hui. Et puis longhorn ne sera
qu'une nieme platforme avec ses probleme a resoudre
et ses facilité a exploiter.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 23 mai 2004 à 00:26
Adopte Richter pour la perennite du code alors.
BruNews, Admin CS, MVP Visual C++
Xya
Messages postés103Date d'inscriptionlundi 8 juillet 2002StatutMembreDernière intervention24 novembre 2005 23 mai 2004 à 00:14
C'est vrai que pour Longhorn les processus risquent d'être encore plus cloisonnés que maintenant, mais tant que l'utilisateur a les bonnes autorisations sur ses processus je pense qu'il sera possible d'écrire dans la mémoire d'un processus, ne serait ce qu'en utilisant les APIs et les autorisations de débogage (DebugActiveProcess & co). D'ailleurs Read/WriteProcessMemory sont classés dans MSDN parmi les fonctions de débogage. D'un autre coté, comme l'architecture de Longhorn n'est encore connue que dans ses grandes lignes (du moins parmi les non-MVPs), on n'est pas en mesure de savoir si ces techniques d'injections de Dll vont toujours être envisageables.
Xya
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 23 mai 2004 à 00:03
Je pense inversement qu'il vaut mieux employer la technique decrite par Richter. Dans les prochains services packs (je pense) et dans Longhorn assurement, la protection des zones memoires contre l'injection de code par ecriture sera implementee pour les processeurs le supportant. SetWindowsHookEx ne subira par contre pas de modifs de ce point de vue.
Xya
Messages postés103Date d'inscriptionlundi 8 juillet 2002StatutMembreDernière intervention24 novembre 2005 22 mai 2004 à 23:47
Je connaissais pas la technique des hooks messages mais d'après ce que j'en ai compris on ne peut pas spécifier un processus particulier à hooker, SetWindowsHookEx injecte la Dll à chaque processus qui utilise une fenêtre et appelle à chaque message reçu par chaque fenêtre la fonction spécifiée, ce qui surcharge le système inutilement, alors qu'on n'a besoin d'exécuter du code une seule fois (dès qu'on peut exécuter du code on peut créer des threads et injecter du code comme on veut). Si on veut retirer le hook, la Dll est déchargée et on ne peut plus exécuter de code.
Même si ça marche sous Win98/ME ça me parait pas être le meilleur moyen d'injecter du code dans un processus.
Xya
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 22 mai 2004 à 22:53
il y a un exemple similaire (Part IV Chap 22, API hooking) qui utilise un hook message pour injecter une Dll dans le processus cible, utilisable donc sous Win98/ME.
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 22 mai 2004 à 22:38
23 juil. 2007 à 19:14
This dynamically links SharpSpyHelper.dll to msvcr80.dll or mscvr80d.dll (depending on your project configuration (release or debug)) which may be what you're looking for or not.
21 juil. 2007 à 18:13
Libc.lib isn't supported by VS2005 anymore. If I replace it with Libcmt.lib, I get strange errors. Also a problem if I install libc.lib from my old computer. Maybe additional compiler settings?
9 mai 2006 à 13:07
Tu dit :
"je suis tombé il y a pas longtemps sur une fonction qui permettait d'intercepter un appel à une fonction de Windows, mais seulement dans le même processus"
Puis je savoir à quelle fonction tu fais référence ?
1 mai 2006 à 23:46
Tres interessant :)
Manque plus qu'un exemple d'utilisation en Vb.net ^^
++
3 janv. 2006 à 05:37
23 mai 2004 à 00:28
il suffira d'adapter son code a la platforme comme
tout bon code aujourd'hui. Et puis longhorn ne sera
qu'une nieme platforme avec ses probleme a resoudre
et ses facilité a exploiter.
23 mai 2004 à 00:26
BruNews, Admin CS, MVP Visual C++
23 mai 2004 à 00:14
Xya
23 mai 2004 à 00:03
22 mai 2004 à 23:47
Même si ça marche sous Win98/ME ça me parait pas être le meilleur moyen d'injecter du code dans un processus.
Xya
22 mai 2004 à 22:53
http://brunews.free.fr/brunews/download/JR4.zip
http://brunews.free.fr/brunews/download/JR4Sources.zip
il y a un exemple similaire (Part IV Chap 22, API hooking) qui utilise un hook message pour injecter une Dll dans le processus cible, utilisable donc sous Win98/ME.
22 mai 2004 à 22:38
http://vbfrance.com/code.aspx?ID=22687