Des pistes pour hook

cs_OCA Messages postés 4 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 15 juillet 2010 - 14 juil. 2010 à 20:19
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013 - 15 juil. 2010 à 16:27
Ce que je cherche à faire :
- Controller une application Win32 sans que cela soit détectable par celle-ci.

Pistes :
- placer un pilote dans le noyau de Windows.
- injection de code dans la mémoire du processus.

Etape 1 : Dans un log placer les informations suivantes :
- Accès base de registre
(lecture/écriture/création/suppression)
- Accès fichiers
(lecture/écriture/création/suppression)
- Déterminer les appels aux fonctions du système Windows
- tracer éventuellement les accès réseaux.

Etape 2 :
- en fonctions des éléments trouvés sur l'étape 1, la solution devra renvoyer à l'application controllé les informations de mon choix.

Mon environnement de travail choisi est Visual Studio 2008 C++. Si vous avez des exemples, informations, liens , conseils à me soumettre. Je suis preneur.

Donc en gros c'est un mix entre filemon,regmon,sandboxie.

4 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
14 juil. 2010 à 21:54
A mon sens, injecter une DLL qui la contrôlera de l'intérieur est la meilleure façon de faire.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
cs_OCA Messages postés 4 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 15 juillet 2010
14 juil. 2010 à 23:08
En cherchant un peu je n'est plus besoin de faire l'étape 1.
J'ai utilisé Procmon.exe de SysInternals (que j'avais oublié dans l'un des dossiers de mon NAS)
Il utilise ETW , une api de bas niveau.

J'ai une bonne vue d'ensemble des éléments à renvoyer à l'application.
Donc, je me penche sur trouver la meilleure façon d'intercepter certaines requetes et substituer les réponses système par les miennes.

Genre les fonctionnalités du type RegQueryValue, QueryDirectory, CreateFile ...

qui se trouvent apparemment dans kernel.dll, user.dll ...

Nota : prévoir doses de paracétamol.
cs_OCA Messages postés 4 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 15 juillet 2010
15 juil. 2010 à 01:40
C'est dingue, je trouve que des solutions payantes ou limitées. Pas d'open source...
Je pensais trouver un équivalent à Sandboxie par exemple, ou des sources intéressantes.
C'est pas le cas.
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
15 juil. 2010 à 16:27
Salut,

Voici un code qui te permettra de faire ce que tu souhaites :

http://www.cppfrance.com/codes/API-HOOKING_30610.aspx

Shell
Rejoignez-nous