Des pistes pour hook

Signaler
Messages postés
4
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
15 juillet 2010
-
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
-
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

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
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
Messages postés
4
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
15 juillet 2010

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.
Messages postés
4
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
15 juillet 2010

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.
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Salut,

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

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

Shell